about summary refs log tree commit diff
diff options
context:
space:
mode:
authorcillianderoiste <cillian.deroiste@gmail.com>2012-11-14 11:34:18 -0800
committercillianderoiste <cillian.deroiste@gmail.com>2012-11-14 11:34:18 -0800
commit341eb7b133398871942557cd4fa775cd4c644f7a (patch)
treedce094bacc3fb4af6233736b908ccf196c25623a
parenta05198b6eafcf1fee08ad77e9177c555be15c121 (diff)
parent27f3a417540c368eee9fcfbb35233897b255acc3 (diff)
downloadnixlib-341eb7b133398871942557cd4fa775cd4c644f7a.tar
nixlib-341eb7b133398871942557cd4fa775cd4c644f7a.tar.gz
nixlib-341eb7b133398871942557cd4fa775cd4c644f7a.tar.bz2
nixlib-341eb7b133398871942557cd4fa775cd4c644f7a.tar.lz
nixlib-341eb7b133398871942557cd4fa775cd4c644f7a.tar.xz
nixlib-341eb7b133398871942557cd4fa775cd4c644f7a.tar.zst
nixlib-341eb7b133398871942557cd4fa775cd4c644f7a.zip
Merge pull request #186 from cillianderoiste/python-rsvg-pull-request
Python rsvg pull request (was #115)
-rw-r--r--pkgs/applications/video/key-mon/default.nix30
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python/default.nix5
-rw-r--r--pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix29
-rw-r--r--pkgs/desktops/gnome-2/default.nix2
-rw-r--r--pkgs/development/libraries/librsvg/default.nix17
-rw-r--r--pkgs/top-level/all-packages.nix2
6 files changed, 81 insertions, 4 deletions
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
new file mode 100644
index 000000000000..7d0256ae455d
--- /dev/null
+++ b/pkgs/applications/video/key-mon/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, buildPythonPackage, gnome, librsvg, makeWrapper, pygtk
+, pythonPackages }:
+
+buildPythonPackage rec {
+  name = "key-mon-${version}";
+  version = "1.13";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "http://key-mon.googlecode.com/files/${name}.tar.gz";
+    sha256 = "02h7lcnyqwyqsycd1vlvl11ms81v0zmr9p0pfyl5gmzry9dj7imj";
+  };
+
+  propagatedBuildInputs =
+    [ gnome.python_rsvg librsvg makeWrapper pygtk pythonPackages.xlib ];
+
+  doCheck = false;
+
+  postInstall = ''
+      wrapProgram $out/bin/key-mon --prefix GDK_PIXBUF_MODULE_FILE : \
+      ${librsvg}/lib/gdk-pixbuf/loaders.cache
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/key-mon;
+    description = "Utility to show live keyboard and mouse status for teaching and screencasts";
+    license = licenses.asl20;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
index c65c8b98c6ac..83505dc42fc3 100644
--- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
 
   # WAF is probably the biggest crap on this planet, btw i removed the /gtk-2.0 path thingy
   configurePhase = ''
-    sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i gconf/wscript 
-    python waf configure --prefix=$out 
+    sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i gconf/wscript
+    python waf configure --prefix=$out
   '';
 
   buildPhase = ''
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     python waf install
+    cp bonobo/*.{py,defs} $out/share/pygtk/2.0/defs/
   '';
 
   buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus ];
diff --git a/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
new file mode 100644
index 000000000000..c09ed74a97c0
--- /dev/null
+++ b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, gnome, librsvg, pkgconfig, pygtk, python }:
+
+stdenv.mkDerivation rec {
+  version = "2.32";
+  name = "python-rsvg-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-python-desktop/${version}/gnome-python-desktop-${version}.0.tar.gz";
+    sha256 = "1xhh3h1qdnimydvv55pmqwyzjchhjwfvp951sjlq0180kskqrlj5";
+  };
+
+  configurePhase = ''
+    sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i rsvg/wscript 
+    python waf configure --enable-modules=rsvg --prefix=$out 
+  '';
+
+  buildPhase = "python waf build";
+
+  installPhase = "python waf install";
+
+  buildInputs = [ gnome.gnome_python librsvg pkgconfig pygtk python ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.pygtk.org";
+    description = "The rsvg python module";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 36d0860caa5d..38ae4c015342 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -58,6 +58,8 @@
 
   libbonoboui = callPackage ./platform/libbonoboui { };
 
+  python_rsvg = callPackage ./bindings/python-rsvg { };
+
   at_spi = callPackage ./platform/at-spi { };
 
   gtkhtml = callPackage ./platform/gtkhtml { };
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 86b818cd5a98..3f84a69e3f46 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -11,6 +11,19 @@ stdenv.mkDerivation {
   propagatedBuildInputs = [ glib gtk ];
   buildNativeInputs = [ pkgconfig ];
 
-  # It tries to install the loader to $gdk_pixbuf
-  configureFlags = "--disable-pixbuf-loader";
+  # It wants to add loaders and update the loaders.cache in gdk-pixbuf
+  # Patching the Makefiles to it creates rsvg specific loaders and the
+  # relevant loader.cache here.
+  # The loaders.cache can be used by setting GDK_PIXBUF_MODULE_FILE to
+  # point to this file in a wrapper.
+  postConfigure = ''
+    GDK_PIXBUF=$out/lib/gdk-pixbuf
+    mkdir -p $GDK_PIXBUF/loaders
+    sed -e "s#gdk_pixbuf_moduledir = .*#gdk_pixbuf_moduledir = $GDK_PIXBUF/loaders#" \
+        -i gdk-pixbuf-loader/Makefile
+    sed -e "s#gdk_pixbuf_cache_file = .*#gdk_pixbuf_cache_file = $GDK_PIXBUF/loaders.cache#" \
+        -i gdk-pixbuf-loader/Makefile
+    sed -e "s#\$(GDK_PIXBUF_QUERYLOADERS)#GDK_PIXBUF_MODULEDIR=$GDK_PIXBUF/loaders \$(GDK_PIXBUF_QUERYLOADERS)#" \
+         -i gdk-pixbuf-loader/Makefile
+  '';
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 23d301b11ffa..91804be32125 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7297,6 +7297,8 @@ let
 
   kermit = callPackage ../tools/misc/kermit { };
 
+  keymon = callPackage ../applications/video/key-mon { };
+
   kino = callPackage ../applications/video/kino {
     inherit (gnome) libglade;
   };