summary refs log tree commit diff
path: root/gnu/packages/gtk.scm
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2014-11-20 22:37:23 -0600
committerEric Bavier <bavier@member.fsf.org>2014-12-02 08:35:06 -0600
commitfbcfa730744648bcd894c4fc15ef179d6a668d84 (patch)
treed825224ef527fcf5e56fc64a655889c070a61add /gnu/packages/gtk.scm
parentea5456c88cc79809035f2e95769aec96cb733095 (diff)
downloadguix-fbcfa730744648bcd894c4fc15ef179d6a668d84.tar.gz
gnu: Add python-pycairo.
* gnu/packages/gtk.scm (python-pycairo, python2-py2cairo): New variables.
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r--gnu/packages/gtk.scm106
1 files changed, 106 insertions, 0 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 15d6ab441b..862f6ccce3 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -634,3 +634,109 @@ extensive documentation, including API reference and a tutorial.")
        ("atkmm" ,atkmm)
        ("gtk+" ,gtk+-2)
        ("glibmm" ,glibmm)))))
+
+(define-public python-pycairo
+  (package
+    (name "python-pycairo")
+    (version "1.10.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "http://cairographics.org/releases/pycairo-"
+                          version ".tar.bz2"))
+      (sha256
+       (base32
+        "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (propagated-inputs                  ;pycairo.pc references cairo
+     `(("cairo" ,cairo)))
+    (arguments
+     `(#:tests? #f
+       #:phases (alist-cons-before
+                 'build 'configure
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (zero? (system* "./waf" "configure"
+                                   (string-append "--prefix="
+                                                  (assoc-ref outputs "out")))))
+                 (alist-replace
+                  'build
+                  (lambda _
+                    (zero? (system* "./waf" "build")))
+                  (alist-replace
+                   'install
+                   (lambda _
+                     (zero? (system* "./waf" "install")))
+                   %standard-phases)))))
+    (home-page "http://cairographics.org/pycairo/")
+    (synopsis "Python bindings for cairo")
+    (description
+     "Pycairo is a set of Python bindings for the Cairo graphics library.")
+    (license license:lgpl3+)))
+
+(define-public python2-py2cairo
+  (package (inherit python-pycairo)
+    (name "python2-py2cairo")
+    (version "1.10.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "http://cairographics.org/releases/py2cairo-"
+                          version ".tar.bz2"))
+      (sha256
+       (base32
+        "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"))))
+    (arguments
+     `(#:python ,python-2
+       ,@(package-arguments python-pycairo)))
+    ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
+    (license '(license:lgpl2.1 license:mpl1.1))))
+
+(define-public python2-pygtk
+  (package
+    (name "python2-pygtk")
+    (version "2.24.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources"
+                          "/pygtk/" (version-major+minor version)
+                          "/pygtk-" version ".tar.bz2"))
+      (sha256
+       (base32
+        "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("python" ,python-2)
+       ("glib"   ,glib)))
+    (propagated-inputs
+     `(("python-pycairo"   ,python2-py2cairo)    ;loaded at runtime
+       ("python-pygobject" ,python2-pygobject-2) ;referenced in pc file
+       ("gtk+"             ,gtk+-2)))
+    (arguments
+     `(#:tests? #f
+       #:phases (alist-cons-after
+                 'install 'install-pth
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   ;; pygtk's modules are stored in a subdirectory of python's
+                   ;; site-packages directory.  Add a .pth file so that python
+                   ;; will add that subdirectory to its module search path.
+                   (let* ((out    (assoc-ref outputs "out"))
+                          (site   (string-append out "/lib/python"
+                                                 ,(version-major+minor
+                                                   (package-version python-2))
+                                                 "/site-packages")))
+                     (call-with-output-file (string-append site "/pygtk.pth")
+                       (lambda (port)
+                         (format port "gtk-2.0~%")))))
+                 %standard-phases)))
+    (home-page "http://www.pygtk.org/")
+    (synopsis "Python bindings for GTK+")
+    (description
+     "PyGTK allows you to write full featured GTK programs in Python.  It is
+targetted at GTK 2.x, and can be used in conjunction with gnome-python to
+write GNOME applications.")
+    (license license:lgpl2.1+)))