From 9ceb630c587beb187b52243f751e3ebc2b437a32 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 29 Sep 2013 17:24:31 +0200 Subject: [PATCH] gnu: Add gobject-introspection. * gnu/packages/glib.scm (gobject-introspection): New variable. --- gnu/packages/glib.scm | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 815fafcbfb..a6b86795a8 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -26,9 +26,12 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages flex) #:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages gtk) #:use-module (gnu packages libffi) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -171,6 +174,49 @@ dynamic loading, and an object system.") (home-page "http://developer.gnome.org/glib/") (license license:lgpl2.0+))) ; some files are under lgpl2.1+ +(define-public gobject-introspection + (package + (name "gobject-introspection") + (version "1.38.0") + (source (origin + (method url-fetch) + (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/" + "gobject-introspection/" + (substring version 0 (string-rindex version #\.)) + "/gobject-introspection-" + version ".tar.xz")) + (sha256 + (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m")))) + (build-system gnu-build-system) + (inputs + `(("bison" ,bison) + ("cairo" ,cairo) + ("flex" ,flex) + ("glib" ,glib) + ("libffi" ,libffi) + ("pkg-config" ,pkg-config) + ("python-2" ,python-2))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure))) + ;; giscanner/sourcescanner.py looks for 'CC', let's set it here. + (setenv "CC" "gcc") + (apply configure args))) + %standard-phases))) + (home-page "https://wiki.gnome.org/GObjectIntrospection") + (synopsis "Generate interface introspection data for GObject libraries") + (description + "GObject introspection is a middleware layer between C libraries (using +GObject) and language bindings. The C library can be scanned at compile time +and generate a metadata file, in addition to the actual native C library. Then +at runtime, language bindings can read this metadata and automatically provide +bindings to call into the C library.") + ; Some bits are distributed under the LGPL2+, others under the GPL2+ + (license license:gpl2+))) + (define intltool (package (name "intltool")