guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v2] gnu: Add gobject-introspection.


From: Cyril Roelandt
Subject: [PATCH v2] gnu: Add gobject-introspection.
Date: Sun, 29 Sep 2013 22:08:41 +0200

* gnu/packages/glib.scm (gobject-introspection): New variable.
---
 gnu/packages/glib.scm |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 815fafc..58cd1c5 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -25,10 +25,14 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #: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 +175,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")
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]