2013-01-14 21:49:01 -05:00
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2013-01-16 17:01:24 -05:00
|
|
|
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
2013-04-19 13:41:05 -04:00
|
|
|
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
|
|
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
2013-01-14 21:49:01 -05:00
|
|
|
;;;
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
;;;
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
;;; your option) any later version.
|
|
|
|
;;;
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
;;;
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
2013-01-16 17:01:24 -05:00
|
|
|
(define-module (gnu packages glib)
|
2013-04-19 13:41:05 -04:00
|
|
|
#:use-module ((guix licenses)
|
|
|
|
#:renamer (symbol-prefix-proc 'license:))
|
2013-01-14 21:49:01 -05:00
|
|
|
#:use-module (guix packages)
|
|
|
|
#:use-module (guix download)
|
|
|
|
#:use-module (guix build-system gnu)
|
2013-01-16 17:01:24 -05:00
|
|
|
#:use-module (gnu packages)
|
|
|
|
#:use-module (gnu packages base)
|
2013-09-29 11:24:31 -04:00
|
|
|
#:use-module (gnu packages bison)
|
2013-01-16 17:01:24 -05:00
|
|
|
#:use-module (gnu packages compression)
|
2013-09-29 11:24:31 -04:00
|
|
|
#:use-module (gnu packages flex)
|
2013-01-16 17:01:24 -05:00
|
|
|
#:use-module ((gnu packages gettext)
|
2013-01-14 21:49:01 -05:00
|
|
|
#:renamer (symbol-prefix-proc 'guix:))
|
2013-09-29 11:24:31 -04:00
|
|
|
#:use-module (gnu packages gtk)
|
2013-01-16 17:01:24 -05:00
|
|
|
#:use-module (gnu packages libffi)
|
2013-04-19 13:41:05 -04:00
|
|
|
#:use-module (gnu packages perl)
|
2013-01-16 17:01:24 -05:00
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
#:use-module (gnu packages python)
|
2013-06-08 12:41:21 -04:00
|
|
|
#:use-module (gnu packages xml)
|
2013-08-19 18:55:01 -04:00
|
|
|
#:use-module (gnu packages bash)
|
2013-09-16 13:00:47 -04:00
|
|
|
#:use-module (gnu packages file)
|
|
|
|
#:use-module (gnu packages xorg)
|
2013-01-16 17:01:24 -05:00
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
;; Export variables up-front to allow circular dependency with the 'xorg'
|
|
|
|
;; module.
|
|
|
|
#:export (dbus
|
|
|
|
glib
|
|
|
|
dbus-glib
|
|
|
|
intltool
|
|
|
|
itstool))
|
|
|
|
|
|
|
|
(define dbus
|
2013-01-16 17:01:24 -05:00
|
|
|
(package
|
|
|
|
(name "dbus")
|
|
|
|
(version "1.6.4")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri
|
|
|
|
(string-append "http://dbus.freedesktop.org/releases/dbus/dbus-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz"))))
|
|
|
|
(build-system gnu-build-system)
|
2013-09-11 17:37:57 -04:00
|
|
|
(arguments
|
|
|
|
'(#:configure-flags (list ;; Install the system bus socket under /var.
|
|
|
|
"--localstatedir=/var"
|
|
|
|
|
|
|
|
;; XXX: Fix the following to allow system-wide
|
|
|
|
;; config.
|
|
|
|
;; "--sysconfdir=/etc"
|
|
|
|
|
|
|
|
"--with-session-socket-dir=/tmp")
|
|
|
|
#:patches (list (assoc-ref %build-inputs "patch/localstatedir"))))
|
2013-01-16 17:01:24 -05:00
|
|
|
(inputs
|
2013-04-19 13:41:05 -04:00
|
|
|
`(("expat" ,expat)
|
2013-09-11 17:37:57 -04:00
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
("patch/localstatedir"
|
2013-09-16 13:00:47 -04:00
|
|
|
,(search-patch "dbus-localstatedir.patch"))
|
|
|
|
|
|
|
|
;; Add a dependency on libx11 so that 'dbus-launch' has support for
|
|
|
|
;; '--autolaunch'.
|
|
|
|
("libx11" ,libx11)))
|
|
|
|
|
2013-01-16 17:01:24 -05:00
|
|
|
(home-page "http://dbus.freedesktop.org/")
|
|
|
|
(synopsis "Message bus for inter-process communication (IPC)")
|
|
|
|
(description
|
|
|
|
"D-Bus is a message bus system, a simple way for applications to
|
|
|
|
talk to one another. In addition to interprocess communication, D-Bus
|
|
|
|
helps coordinate process lifecycle; it makes it simple and reliable to
|
|
|
|
code a \"single instance\" application or daemon, and to launch
|
|
|
|
applications and daemons on demand when their services are needed.
|
|
|
|
|
|
|
|
D-Bus supplies both a system daemon (for events such as \"new hardware
|
|
|
|
device added\" or \"printer queue changed\") and a
|
|
|
|
per-user-login-session daemon (for general IPC needs among user
|
|
|
|
applications). Also, the message bus is built on top of a general
|
|
|
|
one-to-one message passing framework, which can be used by any two apps
|
|
|
|
to communicate directly (without going through the message bus
|
|
|
|
daemon). Currently the communicating applications are on one computer,
|
|
|
|
or through unencrypted TCP/IP suitable for use behind a firewall with
|
|
|
|
shared NFS home directories.")
|
2013-04-19 13:41:05 -04:00
|
|
|
(license license:gpl2+))) ; or Academic Free License 2.1
|
2013-01-14 21:49:01 -05:00
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
(define glib
|
2013-01-14 21:49:01 -05:00
|
|
|
(package
|
|
|
|
(name "glib")
|
2013-09-30 16:19:35 -04:00
|
|
|
(version "2.38.0")
|
2013-01-14 21:49:01 -05:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2013-03-27 10:01:30 -04:00
|
|
|
(uri (string-append "mirror://gnome/sources/"
|
2013-09-30 16:19:35 -04:00
|
|
|
name "/" (string-take version 4) "/"
|
2013-01-16 17:01:24 -05:00
|
|
|
name "-" version ".tar.xz"))
|
2013-01-14 21:49:01 -05:00
|
|
|
(sha256
|
2013-09-30 16:19:35 -04:00
|
|
|
(base32 "0cpzqadqk6z6bmb79p04pykxc8x57rvshh33414cnk41bvgaf4vm"))))
|
2013-01-14 21:49:01 -05:00
|
|
|
(build-system gnu-build-system)
|
2013-01-16 17:01:24 -05:00
|
|
|
(outputs '("out" ; everything
|
|
|
|
"doc")) ; 20 MiB of GTK-Doc reference
|
2013-01-14 21:49:01 -05:00
|
|
|
(inputs
|
|
|
|
`(("coreutils" ,coreutils)
|
|
|
|
("gettext" ,guix:gettext)
|
|
|
|
("libffi" ,libffi)
|
|
|
|
("pkg-config" ,pkg-config)
|
gnu: python: Replace input python by python-wrapper.
* gnu/packages/{gdb.scm (gdb), cryptsetup.scm (cryptsetup),
ghostscript.scm (ghostscript), glib.scm (glib), gnupg.scm (pius),
gtk.scm (cairo, harfbuzz), libevent.scm (libevent), netpbm.scm (netpbm),
oggvorbis.scm (libkate), qemu.scm (qemu), samba.scm (samba),
texlive.scm (rubber, texlive), version-control.scm (subversion),
xml.scm (libxml2, libxslt), xorg.scm (libxcb, mesa, xcb-proto, xorg-server),
yasm.scm (yasm), zip.scm (zziplib)}:
Replace input python by python-wrapper.
2013-09-03 16:18:39 -04:00
|
|
|
("python" ,python-wrapper)
|
2013-01-16 17:01:24 -05:00
|
|
|
("zlib" ,zlib)
|
|
|
|
("perl" ,perl) ; needed by GIO tests
|
|
|
|
("dbus" ,dbus) ; for GDBus tests
|
2013-06-08 12:41:21 -04:00
|
|
|
("bash" ,bash)
|
|
|
|
("tzdata" ,tzdata) ; for tests/gdatetime.c
|
2013-01-16 17:01:24 -05:00
|
|
|
|
|
|
|
("patch/tests-homedir"
|
|
|
|
,(search-patch "glib-tests-homedir.patch"))
|
|
|
|
("patch/tests-desktop"
|
2013-03-27 10:01:30 -04:00
|
|
|
,(search-patch "glib-tests-desktop.patch"))
|
|
|
|
("patch/tests-prlimit"
|
|
|
|
,(search-patch "glib-tests-prlimit.patch"))))
|
2013-01-16 17:01:24 -05:00
|
|
|
(arguments
|
2013-06-08 12:41:21 -04:00
|
|
|
'(#:patches (list (assoc-ref %build-inputs "patch/tests-homedir")
|
2013-03-27 10:01:30 -04:00
|
|
|
(assoc-ref %build-inputs "patch/tests-desktop")
|
|
|
|
(assoc-ref %build-inputs "patch/tests-prlimit"))
|
2013-01-16 17:01:24 -05:00
|
|
|
#:phases (alist-cons-before
|
|
|
|
'build 'pre-build
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
2013-06-08 12:41:21 -04:00
|
|
|
;; For tests/gdatetime.c.
|
|
|
|
(setenv "TZDIR"
|
|
|
|
(string-append (assoc-ref inputs "tzdata")
|
|
|
|
"/share/zoneinfo"))
|
|
|
|
|
|
|
|
;; Some tests want write access there.
|
|
|
|
(setenv "XDG_CACHE_HOME" (getcwd))
|
|
|
|
|
2013-01-16 17:01:24 -05:00
|
|
|
(substitute* '("glib/gspawn.c"
|
|
|
|
"glib/tests/utils.c"
|
|
|
|
"tests/spawn-test.c")
|
2013-06-08 12:41:21 -04:00
|
|
|
(("/bin/sh")
|
2013-09-30 16:19:35 -04:00
|
|
|
(string-append (assoc-ref inputs "bash") "/bin/sh"))))
|
2013-01-16 17:01:24 -05:00
|
|
|
%standard-phases)
|
|
|
|
|
|
|
|
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
|
|
|
|
#:configure-flags (list (string-append "--with-html-dir="
|
|
|
|
(assoc-ref %outputs "doc")
|
|
|
|
"/share/gtk-doc"))))
|
gnu: Use synopses from the Womb.
* gnu/packages/algebra.scm,
gnu/packages/aspell.scm,
gnu/packages/autotools.scm,
gnu/packages/base.scm,
gnu/packages/bash.scm,
gnu/packages/bison.scm,
gnu/packages/cdrom.scm,
gnu/packages/cflow.scm,
gnu/packages/compression.scm,
gnu/packages/cpio.scm,
gnu/packages/cppi.scm,
gnu/packages/ddrescue.scm,
gnu/packages/dejagnu.scm,
gnu/packages/ed.scm,
gnu/packages/emacs.scm,
gnu/packages/fdisk.scm,
gnu/packages/gawk.scm,
gnu/packages/gcc.scm,
packages/gcc.scm, b/gnu/packages/gcc.scm,
4b982 100644
s/gcc.scm,
s/gcc.scm,
@@
%standard-phases)))))
`((gcc-libc . ,(assoc-ref inputs "libc"))))
The GNU Compiler Collection")
GNU Compiler Collection")
n
ompiler Collection includes compiler front ends for C, C++,
tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as
gnu/packages/gdb.scm,
gnu/packages/gettext.scm,
gnu/packages/ghostscript.scm,
gnu/packages/glib.scm,
gnu/packages/global.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm,
gnu/packages/gperf.scm,
gnu/packages/gprolog.scm,
gnu/packages/groff.scm,
gnu/packages/grub.scm,
gnu/packages/gsasl.scm,
gnu/packages/guile.scm,
gnu/packages/help2man.scm,
gnu/packages/idutils.scm,
gnu/packages/indent.scm,
gnu/packages/less.scm,
gnu/packages/libidn.scm,
gnu/packages/libsigsegv.scm,
gnu/packages/libunistring.scm,
gnu/packages/linux.scm,
gnu/packages/lsh.scm,
gnu/packages/m4.scm,
gnu/packages/mailutils.scm,
gnu/packages/multiprecision.scm,
gnu/packages/nano.scm,
gnu/packages/ncurses.scm,
gnu/packages/nettle.scm,
gnu/packages/oggvorbis.scm,
gnu/packages/parted.scm,
gnu/packages/pth.scm,
gnu/packages/readline.scm,
gnu/packages/recutils.scm,
gnu/packages/scheme.scm,
gnu/packages/screen.scm,
gnu/packages/shishi.scm,
gnu/packages/smalltalk.scm,
gnu/packages/system.scm,
gnu/packages/texinfo.scm,
gnu/packages/time.scm,
gnu/packages/wdiff.scm,
gnu/packages/wget.scm,
gnu/packages/which.scm: Use synopses from the Womb.
2013-04-17 12:04:25 -04:00
|
|
|
(synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
|
2013-01-14 21:49:01 -05:00
|
|
|
(description
|
|
|
|
"GLib provides data structure handling for C, portability wrappers,
|
|
|
|
and interfaces for such runtime functionality as an event loop, threads,
|
|
|
|
dynamic loading, and an object system.")
|
|
|
|
(home-page "http://developer.gnome.org/glib/")
|
2013-04-19 13:41:05 -04:00
|
|
|
(license license:lgpl2.0+))) ; some files are under lgpl2.1+
|
2013-03-05 04:16:17 -05:00
|
|
|
|
2013-09-29 11:24:31 -04:00
|
|
|
(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+)))
|
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
(define intltool
|
2013-03-05 04:16:17 -05:00
|
|
|
(package
|
|
|
|
(name "intltool")
|
2013-04-19 13:41:05 -04:00
|
|
|
(version "0.50.2")
|
2013-03-05 04:16:17 -05:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2013-04-19 13:41:05 -04:00
|
|
|
(uri (string-append "https://launchpad.net/intltool/trunk/"
|
|
|
|
version "/+download/intltool-"
|
|
|
|
version ".tar.gz"))
|
2013-03-05 04:16:17 -05:00
|
|
|
(sha256
|
|
|
|
(base32
|
2013-04-19 13:41:05 -04:00
|
|
|
"01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7"))))
|
2013-03-05 04:16:17 -05:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(propagated-inputs
|
2013-04-21 05:27:37 -04:00
|
|
|
`(;; Propagate gettext because users expect it to be there, and so does
|
|
|
|
;; the `intltool-update' script.
|
|
|
|
("gettext" ,guix:gettext)
|
|
|
|
|
2013-08-19 18:55:01 -04:00
|
|
|
;; `file' is used by `intltool-update' too.
|
|
|
|
("file" ,file)
|
|
|
|
|
2013-04-21 15:09:49 -04:00
|
|
|
("perl-xml-parser" ,perl-xml-parser)
|
2013-04-21 05:27:37 -04:00
|
|
|
("perl" ,perl)))
|
2013-04-19 13:41:05 -04:00
|
|
|
(home-page "https://launchpad.net/intltool/+download")
|
|
|
|
(synopsis "Tools to centralise translations of different file formats")
|
2013-03-05 04:16:17 -05:00
|
|
|
(description
|
2013-04-19 13:41:05 -04:00
|
|
|
"intltool is a set of tools to centralise translations of many different
|
2013-03-05 04:16:17 -05:00
|
|
|
file formats using GNU gettext-compatible PO files.
|
|
|
|
|
|
|
|
The intltool collection can be used to do these things:
|
|
|
|
|
|
|
|
Extract translatable strings from various source files (.xml.in,
|
|
|
|
glade, .desktop.in, .server.in, .oaf.in).
|
|
|
|
|
|
|
|
Collect the extracted strings together with messages from traditional
|
|
|
|
source files (.c, .h) in po/$(PACKAGE).pot.
|
|
|
|
|
|
|
|
Merge back the translations from .po files into .xml, .desktop and
|
|
|
|
oaf files. This merge step will happen at build resp. installation time.")
|
2013-04-19 13:41:05 -04:00
|
|
|
(license license:gpl2+)))
|
2013-08-31 06:46:08 -04:00
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
(define itstool
|
2013-09-04 13:21:38 -04:00
|
|
|
(package
|
|
|
|
(name "itstool")
|
|
|
|
(version "1.2.0")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "http://files.itstool.org/itstool/itstool-"
|
|
|
|
version ".tar.bz2"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"1akq75aflihm3y7js8biy7b5mw2g11vl8yq90gydnwlwp0zxdzj6"))))
|
|
|
|
(build-system gnu-build-system)
|
2013-10-02 08:33:48 -04:00
|
|
|
(propagated-inputs
|
|
|
|
`(("libxml2" ,libxml2)
|
|
|
|
("python-2" ,python-2)))
|
2013-09-04 13:21:38 -04:00
|
|
|
(home-page "http://www.itstool.org")
|
|
|
|
(synopsis "Tool to translate XML documents with PO files")
|
|
|
|
(description
|
|
|
|
"ITS Tool allows you to translate your XML documents with PO files, using
|
|
|
|
rules from the W3C Internationalization Tag Set (ITS) to determine what to
|
|
|
|
translate and how to separate it into PO file messages.
|
|
|
|
|
|
|
|
PO files are the standard translation format for GNU and other Unix-like
|
|
|
|
systems. They present translatable information as discrete messages, allowing
|
|
|
|
each message to be translated independently. In contrast to whole-page
|
|
|
|
translation, translating with a message-based format like PO means you can
|
|
|
|
easily track changes to the source document down to the paragraph. When new
|
|
|
|
strings are added or existing strings are modified, you only need to update the
|
|
|
|
corresponding messages.
|
|
|
|
|
|
|
|
ITS Tool is designed to make XML documents translatable through PO files by
|
|
|
|
applying standard ITS rules, as well as extension rules specific to ITS Tool.
|
|
|
|
ITS also provides an industry standard way for authors to override translation
|
|
|
|
information in their documents, such as whether a particular element should be
|
|
|
|
translated.")
|
2013-09-07 03:44:57 -04:00
|
|
|
(license license:gpl3+)))
|
2013-09-04 13:21:38 -04:00
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
(define dbus-glib
|
2013-08-31 06:46:08 -04:00
|
|
|
(package
|
|
|
|
(name "dbus-glib")
|
|
|
|
(version "0.100.2")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri
|
|
|
|
(string-append "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5"))))
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
(inputs
|
|
|
|
`(("dbus" ,dbus)
|
|
|
|
("expat" ,expat)
|
|
|
|
("glib" ,glib)
|
|
|
|
("pkg-config" ,pkg-config)))
|
|
|
|
(home-page "http://dbus.freedesktop.org/doc/dbus-glib/")
|
|
|
|
(synopsis "D-Bus GLib bindings")
|
|
|
|
(description
|
|
|
|
"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
|