gnu: Add libsigc++ and glibmm.

* gnu/packages/glib.scm (libsigc++, glibmm): New variable.
This commit is contained in:
Ludovic Courtès 2013-10-06 00:24:06 +02:00
parent 6ac6a6b99e
commit a5a7d374a1
1 changed files with 70 additions and 1 deletions

View File

@ -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+)))