Hi Guix,

this patch adds Rapicorn, the graphics library used by Beast.  A new
version of Rapicorn has just been released that removed a bundled and
modified version of librsvg, so it’s finally possible to add it to Guix
upstream.

Note that it depends on libpng 1.2.x, which is added by the first patch.

~~ Ricardo

>From d50f2dfbe0e7156009b02415f5e46caac515c135 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rek...@elephly.net>
Date: Wed, 13 Apr 2016 21:30:28 +0200
Subject: [PATCH 1/2] gnu: Add libpng12.

* gnu/packages/image.scm (libpng12): New variable.
---
 gnu/packages/image.scm | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 0343e45..104b8e9 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013, 2015, 2016 Andreas Enge <andr...@enge.fr>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <m...@netris.org>
 ;;; Copyright © 2014, 2015 Alex Kost <alez...@gmail.com>
-;;; Copyright © 2014 Ricardo Wurmus <rek...@elephly.net>
+;;; Copyright © 2014, 2016 Ricardo Wurmus <rek...@elephly.net>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayi...@gmail.com>
 ;;; Copyright © 2015 Amirouche Boubekki <amirou...@hypermove.net>
 ;;; Copyright © 2014 John Darrington <j...@gnu.org>
@@ -76,6 +76,22 @@ library.  It supports almost all PNG features and is extensible.")
    (license license:zlib)
    (home-page "http://www.libpng.org/pub/png/libpng.html";)))
 
+(define-public libpng12
+  (package
+    (inherit libpng)
+    (version "1.2.56")
+    (source
+     (origin
+       (method url-fetch)
+       ;; Note: upstream removes older tarballs.
+       (uri (list (string-append "mirror://sourceforge/libpng/libpng12/"
+                                 version "/libpng-" version ".tar.xz")
+                  (string-append
+                   "ftp://ftp.simplesystems.org/pub/libpng/png/src";
+                   "/libpng12/libpng-" version ".tar.xz")))
+       (sha256
+        (base32 "1ghd03p353x0vi4dk83n1nlldg11w7vqdk3f99rkgfb82ic59ki4"))))))
+
 (define-public libjpeg
   (package
    (name "libjpeg")
-- 
2.7.3

>From f50b4c419437b4213a27ad52bd43cefe00e55d84 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rek...@elephly.net>
Date: Wed, 13 Apr 2016 08:56:16 +0200
Subject: [PATCH 2/2] gnu: Add rapicorn.

* gnu/packages/graphics.scm (rapicorn): New variable.
---
 gnu/packages/graphics.scm | 78 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index da0fa54..ef1f0fd 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -31,22 +31,32 @@
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages doxygen)
+  #:use-module (gnu packages haskell)
   #:use-module (gnu packages image)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)  ;libsndfile, libsamplerate
   #:use-module (gnu packages compression)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages image)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
 (define-public blender
@@ -271,6 +281,74 @@ visual effects work for film.")
     (home-page "http://www.openimageio.org";)
     (license license:bsd-3)))
 
+(define-public rapicorn
+  (package
+    (name "rapicorn")
+    (version "16.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://testbit.eu/pub/dists/rapicorn/";
+                                  "rapicorn-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1y51yjrpsihas1jy905m9p3r8iiyhq6bwi2690c564i5dnix1f9d"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(;; FIXME: At least "testrcore1" fails.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'replace-/bin/ls
+           (lambda _
+             (substitute* '("Makefile.decl"
+                            "tools/Makefile.in"
+                            "tests/Makefile.in"
+                            "aidacc/tests/Makefile.in"
+                            "aidacc/Makefile.in"
+                            "cython/Makefile.in"
+                            "res/Makefile.in"
+                            "ui/tests/Makefile.in"
+                            "ui/Makefile.in"
+                            "docs/tutorial/Makefile.in"
+                            "docs/mans/Makefile.in"
+                            "docs/Makefile.in"
+                            "docs/examples/Makefile.in"
+                            "docs/imports/Makefile.in"
+                            "Makefile.in"
+                            "pytests/Makefile.in"
+                            "examples/Makefile.in"
+                            "data/Makefile.in"
+                            "rcore/tests/Makefile.in"
+                            "rcore/Makefile.in")
+               (("/bin/ls") (which "ls")))
+             #t)))))
+    (inputs
+     `(("cairo" ,cairo)
+       ("pango" ,pango)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("libpng" ,libpng12)
+       ("readline" ,readline)
+       ("libxml2" ,libxml2)
+       ("libcroco" ,libcroco)
+       ("librsvg" ,librsvg)
+       ("python" ,python-2)
+       ("cython" ,python2-cython)))
+    (native-inputs
+     `(("pandoc" ,ghc-pandoc)
+       ("bison" ,bison)
+       ("flex" ,flex)
+       ("doxygen" ,doxygen)
+       ("graphviz" ,graphviz)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://rapicorn.org";)
+    (synopsis "Toolkit for rapid development of user interfaces")
+    (description
+     "Rapicorn is a toolkit for rapid development of user interfaces in C++
+and Python.  The user interface is designed in a declarative markup language
+and is connected to the programming logic using data bindings and commands.")
+    (license license:mpl2.0)))
+
 (define-public ctl
   (package
     (name "ctl")
-- 
2.7.3

Reply via email to