~ruther/guix-local

a5a7d374a14edb47e7b33eb844a6f4ca8cce39fa — Ludovic Courtès 12 years ago 6ac6a6b
gnu: Add libsigc++ and glibmm.

* gnu/packages/glib.scm (libsigc++, glibmm): New variable.
1 files changed, 70 insertions(+), 1 deletions(-)

M gnu/packages/glib.scm
M gnu/packages/glib.scm => gnu/packages/glib.scm +70 -1
@@ 40,6 40,7 @@
  #:use-module (gnu packages bash)
  #:use-module (gnu packages file)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages m4)

  ;; Export variables up-front to allow circular dependency with the 'xorg'
  ;; module.


@@ 48,7 49,9 @@
            gobject-introspection
            dbus-glib
            intltool
            itstool))
            itstool
            libsigc++
            glibmm))

(define dbus
  (package


@@ 314,3 317,69 @@ translated.")
     "GLib bindings for D-Bus.  The package is obsolete and superseded
by GDBus included in Glib.")
    (license license:gpl2)))                     ; or Academic Free License 2.1

(define libsigc++
  (package
    (name "libsigc++")
    (version "2.3.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/libsigc++/2.3/libsigc++-"
                                 version ".tar.xz"))
             (sha256
              (base32
               "14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37"))))
    (build-system gnu-build-system)
    (inputs `(("pkg-config" ,pkg-config)))
    (native-inputs `(("m4" ,m4)))
    (home-page "http://libsigc.sourceforge.net/")
    (synopsis "Type-safe callback system for standard C++")
    (description
     "libsigc++ implements a type-safe callback system for standard C++.  It
allows you to define signals and to connect those signals to any callback
function, either global or a member function, regardless of whether it is
static or virtual.

It also contains adaptor classes for connection of dissimilar callbacks and
has an ease of use unmatched by other C++ callback libraries.")
    (license license:lgpl2.1+)))

(define glibmm
  (package
    (name "glibmm")
    (version "2.37.7")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/glibmm/2.37/glibmm-"
                                 version ".tar.xz"))
             (sha256
              (base32
               "0mms4yl5izsya1135772z4jkb184ss86x0wlg6dm7yvwxvb6bjlw"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases (alist-cons-before
                 'build 'pre-build
                 (lambda _
                   ;; This test uses /etc/fstab as an example file to read
                   ;; from; choose a better example.
                   (substitute* "tests/giomm_simple/main.cc"
                     (("/etc/fstab")
                      (string-append (getcwd)
                                     "/tests/giomm_simple/main.cc")))

                   ;; This test does a DNS lookup, and then expects to be able
                   ;; to open a TLS session; just skip it.
                   (substitute* "tests/giomm_tls_client/main.cc"
                     (("Gio::init.*$")
                      "return 77;\n")))
                 %standard-phases)))
    (inputs `(("pkg-config" ,pkg-config)))
    (propagated-inputs
     `(("libsigc++" ,libsigc++)
       ("glib" ,glib)))
    (home-page "http://gtkmm.org/")
    (synopsis "C++ interface to the GLib library")
    (description
     "glibmm provides a C++ programming interface to the part of GLib that are
useful for C++.")
    (license license:lgpl2.1+)))