1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
5 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
6 ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
8 ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
10 ;;; This file is part of GNU Guix.
12 ;;; GNU Guix is free software; you can redistribute it and/or modify it
13 ;;; under the terms of the GNU General Public License as published by
14 ;;; the Free Software Foundation; either version 3 of the License, or (at
15 ;;; your option) any later version.
17 ;;; GNU Guix is distributed in the hope that it will be useful, but
18 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ;;; GNU General Public License for more details.
22 ;;; You should have received a copy of the GNU General Public License
23 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25 (define-module (gnu packages gnome)
26 #:use-module ((guix licenses) #:prefix license:)
27 #:use-module (guix packages)
28 #:use-module (guix download)
29 #:use-module (guix utils)
30 #:use-module (guix build-system gnu)
31 #:use-module (guix build-system glib-or-gtk)
32 #:use-module (gnu packages)
33 #:use-module (gnu packages bison)
34 #:use-module (gnu packages curl)
35 #:use-module (gnu packages databases)
36 #:use-module (gnu packages flex)
37 #:use-module (gnu packages docbook)
38 #:use-module (gnu packages glib)
39 #:use-module (gnu packages gnupg)
40 #:use-module (gnu packages gstreamer)
41 #:use-module (gnu packages gtk)
42 #:use-module (gnu packages pdf)
43 #:use-module (gnu packages popt)
44 #:use-module (gnu packages ghostscript)
45 #:use-module (gnu packages gnutls)
46 #:use-module (gnu packages iso-codes)
47 #:use-module (gnu packages libcanberra)
48 #:use-module (gnu packages linux)
49 #:use-module (gnu packages image)
50 #:use-module (gnu packages perl)
51 #:use-module (gnu packages pkg-config)
52 #:use-module (gnu packages python)
53 #:use-module (gnu packages xml)
54 #:use-module (gnu packages gl)
55 #:use-module (gnu packages compression)
56 #:use-module (gnu packages web)
57 #:use-module (gnu packages xorg)
58 #:use-module (gnu packages xdisorg)
59 #:use-module (gnu packages ncurses))
61 (define-public brasero
67 (uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
71 "1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
72 (build-system gnu-build-system)
74 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
76 `(("intltool" ,intltool)
77 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
78 ("pkg-config" ,pkg-config)))
81 ("gnome-doc-utils" ,gnome-doc-utils)
82 ("gstreamer" ,gstreamer)
83 ("gst-plugins-base" ,gst-plugins-base)
86 ("libcanberra" ,libcanberra)
88 ("libnotify" ,libnotify)
90 ("libxml2" ,libxml2)))
91 (home-page "https://projects.gnome.org/brasero/")
92 (synopsis "CD/DVD burning tool for Gnome")
93 (description "Brasero is an application to burn CD/DVD for the Gnome
94 Desktop. It is designed to be as simple as possible and has some unique
95 features to enable users to create their discs easily and quickly.")
96 (license license:gpl2+)))
98 (define-public gnome-desktop
100 (name "gnome-desktop")
105 (uri (string-append "mirror://gnome/sources/" name "/"
106 (version-major+minor version) "/"
107 name "-" version ".tar.xz"))
110 "0p5p6wvmy5zvcdnmp5h2biz7rjrcw99chq5kkwcnb68flcmkb1ry"))))
111 (build-system gnu-build-system)
113 `(("intltool" ,intltool)
114 ("pkg-config" ,pkg-config)))
116 `(("gdk-pixbuf" ,gdk-pixbuf)
118 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
120 ("iso-codes" ,iso-codes)
124 ("libxkbfile" ,libxkbfile)
125 ("libxrandr" ,libxrandr)
126 ("xkeyboard-config" ,xkeyboard-config)))
127 (home-page "https://www.gnome.org/")
129 "Libgnome-desktop, gnome-about, and desktop-wide documents")
131 "The libgnome-desktop library provides API shared by several applications
132 on the desktop, but that cannot live in the platform for various reasons.
133 There is no API or ABI guarantee, although we are doing our best to provide
134 stability. Documentation for the API is available with gtk-doc.
136 The gnome-about program helps find which version of GNOME is installed.")
137 ; Some bits under the LGPL.
138 (license license:gpl2+)))
140 (define-public gnome-doc-utils
142 (name "gnome-doc-utils")
147 (uri (string-append "mirror://gnome/sources/" name "/"
148 (version-major+minor version) "/"
149 name "-" version ".tar.xz"))
152 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
153 (build-system gnu-build-system)
155 `(("intltool" ,intltool)
156 ("docbook-xml" ,docbook-xml-4.4)
159 ("pkg-config" ,pkg-config)
160 ("python-2" ,python-2)))
161 (home-page "https://wiki.gnome.org/GnomeDocUtils")
163 "Documentation utilities for the Gnome project")
165 "Gnome-doc-utils is a collection of documentation utilities for the
166 Gnome project. It includes xml2po tool which makes it easier to translate
167 and keep up to date translations of documentation.")
168 (license license:gpl2+))) ; xslt under lgpl
170 (define-public libgnome-keyring
172 (name "libgnome-keyring")
176 (uri (string-append "mirror://gnome/sources/" name "/"
177 (version-major+minor version) "/"
178 name "-" version ".tar.xz"))
181 "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
182 (build-system gnu-build-system)
184 `(("libgcrypt" ,libgcrypt)
187 `(("pkg-config" ,pkg-config)
189 ("intltool" ,intltool)))
191 ;; Referred to in .h files and .pc.
193 (home-page "http://www.gnome.org")
194 (synopsis "Accessing passwords from the GNOME keyring")
196 "Client library to access passwords from the GNOME keyring.")
198 ;; Though a couple of files are LGPLv2.1+.
199 (license license:lgpl2.0+)))
201 (define-public evince
207 (uri (string-append "mirror://gnome/sources/" name "/"
208 (version-major+minor version) "/"
209 name "-" version ".tar.xz"))
212 "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
213 (build-system glib-or-gtk-build-system)
215 `(#:configure-flags '("--disable-nautilus")
217 ;; FIXME: Tests fail with:
218 ;; ImportError: No module named gi.repository
219 ;; Where should that module come from?
222 `(("libspectre" ,libspectre)
223 ;; ("djvulibre" ,djvulibre)
224 ("ghostscript" ,ghostscript)
226 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
227 ("libgnome-keyring" ,libgnome-keyring)
228 ("gnome-icon-theme" ,gnome-icon-theme)
230 ("gdk-pixbuf" ,gdk-pixbuf)
238 ("shared-mime-info" ,shared-mime-info)
240 ("libcanberra" ,libcanberra)
243 ("dogtail" ,python2-dogtail)))
245 `(("intltool" ,intltool)
247 ("pkg-config" ,pkg-config)))
249 "http://www.gnome.org/projects/evince/")
250 (synopsis "GNOME's document viewer")
252 "Evince is a document viewer for multiple document formats. It
253 currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
254 of Evince is to replace the multiple document viewers that exist
255 on the GNOME Desktop with a single simple application.")
256 (license license:gpl2+)))
258 (define-public gsettings-desktop-schemas
260 (name "gsettings-desktop-schemas")
265 (uri (string-append "mirror://gnome/sources/" name "/"
266 (version-major+minor version) "/"
267 name "-" version ".tar.xz"))
270 "02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16"))))
271 (build-system gnu-build-system)
275 `(("intltool" ,intltool)
276 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
277 ("gobject-introspection" ,gobject-introspection)
278 ("pkg-config" ,pkg-config)))
279 (home-page "https://launchpad.net/gsettings-desktop-schemas")
281 "GNOME settings for various desktop components")
283 "Gsettings-desktop-schemas contains a collection of GSettings schemas
284 for settings shared by various components of the GNOME desktop.")
285 (license license:lgpl2.1+)))
287 (define-public icon-naming-utils
289 (name "icon-naming-utils")
294 (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
298 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
299 (build-system gnu-build-system)
302 ("perl-xml-simple" ,perl-xml-simple)))
306 'install 'set-load-paths
307 ;; Tell 'icon-name-mapping' where XML::Simple is.
308 (lambda* (#:key outputs #:allow-other-keys)
309 (let* ((out (assoc-ref outputs "out"))
310 (prog (string-append out "/libexec/icon-name-mapping")))
313 `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))))
315 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
317 "Utility to implement the Freedesktop Icon Naming Specification")
319 "To help with the transition to the Freedesktop Icon Naming
320 Specification, the icon naming utility maps the icon names used by the
321 GNOME and KDE desktops to the icon names proposed in the specification.")
322 (license license:lgpl2.1+)))
324 (define-public desktop-file-utils
326 (name "desktop-file-utils")
330 (uri (string-append "http://www.freedesktop.org/software/" name
331 "/releases/" name "-" version ".tar.xz"))
334 "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4"))))
335 (build-system gnu-build-system)
337 `(("pkg-config" ,pkg-config)))
340 (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
341 (synopsis "Utilities for working with desktop entries")
343 "This package contains a few command line utilities for working with
346 desktop-file-validate: validates a desktop file and prints warnings/errors
347 about desktop entry specification violations.
349 desktop-file-install: installs a desktop file to the applications directory,
350 optionally munging it a bit in transit.
352 update-desktop-database: updates the database containing a cache of MIME types
353 handled by desktop files.")
354 (license license:gpl2+)))
356 (define-public gnome-icon-theme
358 (name "gnome-icon-theme")
363 (uri (string-append "mirror://gnome/sources/" name "/"
364 (version-major+minor version) "/"
365 name "-" version ".tar.xz"))
368 "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
369 (build-system gnu-build-system)
372 ("icon-naming-utils" ,icon-naming-utils)))
374 `(("intltool" ,intltool)
375 ("pkg-config" ,pkg-config)))
376 (home-page "http://art.gnome.org/")
380 "Icons for the GNOME desktop.")
381 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
383 (define-public shared-mime-info
385 (name "shared-mime-info")
389 (uri (string-append "http://freedesktop.org/~hadess/"
390 "shared-mime-info-" version ".tar.xz"))
393 "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
394 (build-system gnu-build-system)
396 ;; The build system appears not to be parallel-safe.
397 '(#:parallel-build? #f))
400 ("libxml2" ,libxml2)))
402 `(("intltool" ,intltool)
403 ("pkg-config" ,pkg-config)))
404 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
405 (synopsis "Database of common MIME types")
407 "The shared-mime-info package contains the core database of common types
408 and the update-mime-database command used to extend it. It requires glib2 to
409 be installed for building the update command. Additionally, it uses intltool
410 for translations, though this is only a dependency for the maintainers. This
411 database is translated at Transifex.")
412 (license license:gpl2+)))
414 (define-public hicolor-icon-theme
416 (name "hicolor-icon-theme")
421 (uri (string-append "http://icon-theme.freedesktop.org/releases/"
422 "hicolor-icon-theme-" version ".tar.gz"))
425 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
426 (build-system gnu-build-system)
428 `(#:tests? #f)) ; no check target
429 (home-page "http://icon-theme.freedesktop.org/releases/")
431 "Freedesktop icon theme")
433 "Freedesktop icon theme.")
434 (license license:gpl2)))
436 (define-public libnotify
443 (uri (string-append "mirror://gnome/sources/" name "/"
444 (version-major+minor version) "/"
445 name "-" version ".tar.xz"))
448 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
449 (build-system gnu-build-system)
451 `(("gdk-pixbuf" ,gdk-pixbuf)
456 `(("pkg-config" ,pkg-config)
457 ("glib" ,glib "bin")))
458 (home-page "https://developer-next.gnome.org/libnotify/")
460 "GNOME desktop notification library")
462 "Libnotify is a library that sends desktop notifications to a
463 notification daemon, as defined in the Desktop Notifications spec. These
464 notifications can be used to inform the user about an event or display
465 some form of information without getting in the user's way.")
466 (license license:lgpl2.1+)))
468 (define-public libpeas
475 (uri (string-append "mirror://gnome/sources/" name "/"
476 (version-major+minor version) "/"
477 name "-" version ".tar.xz"))
480 "1mjjjjwphc83bjznmbsm7x0jg7ql261nys6qnl7mi0nkr4qvw476"))))
481 (build-system gnu-build-system)
484 ("gdk-pixbuf" ,gdk-pixbuf)
489 `(("pkg-config" ,pkg-config)
490 ("glib:bin" ,glib "bin")
491 ("gobject-introspection" ,gobject-introspection)
492 ("intltool" ,intltool)))
500 (home-page "https://wiki.gnome.org/Libpeas")
501 (synopsis "GObject plugin system")
503 "Libpeas is a gobject-based plugins engine, and is targetted at giving
504 every application the chance to assume its own extensibility. It also has a
505 set of features including, but not limited to: multiple extension points; on
506 demand (lazy) programming language support for C, Python and JS; simplicity of
508 (license license:lgpl2.0+)))
510 (define-public gtkglext
516 (uri (string-append "mirror://sourceforge/project/gtkglext/gtkglext/"
517 version "/gtkglext-" version ".tar.gz"))
519 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
521 (search-patch "gtkglext-disable-disable-deprecated.patch")))))
522 (build-system gnu-build-system)
523 (inputs `(("gtk+" ,gtk+-2)
528 (native-inputs `(("pkg-config" ,pkg-config)
529 ("glib" ,glib "bin")))
530 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
531 (home-page "https://projects.gnome.org/gtkglext")
532 (synopsis "OpenGL extension to GTK+")
533 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
534 additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
535 API add-ons to make GTK+ widgets OpenGL-capable.")
536 (license license:lgpl2.1+)))
538 (define-public glade3
544 (uri (string-append "mirror://gnome/sources/" name "/"
545 (version-major+minor version) "/"
546 name "3-" version ".tar.xz"))
548 (base32 "021xgq2l18w3rvwms9aq2idm0fk66vwb4f777gs0qh3ap5shgbn7"))))
549 (build-system gnu-build-system)
552 ("libxml2" ,libxml2)))
554 `(("intltool" ,intltool)
556 ("pkg-config" ,pkg-config)))
557 (home-page "https://glade.gnome.org")
558 (synopsis "GTK+ rapid application development tool")
559 (description "Glade is a rapid application development (RAD) tool to
560 enable quick & easy development of user interfaces for the GTK+ toolkit and
561 the GNOME desktop environment.")
562 (license license:lgpl2.0+)))
564 (define-public libcroco
570 (uri (string-append "mirror://gnome/sources/" name "/"
571 (version-major+minor version) "/"
572 name "-" version ".tar.xz"))
575 "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"))))
576 (build-system gnu-build-system)
578 `(("pkg-config" ,pkg-config)))
583 (home-page "https://github.com/GNOME/libcroco")
584 (synopsis "CSS2 parsing and manipulation library")
586 "Libcroco is a standalone CSS2 parsing and manipulation library.
587 The parser provides a low level event driven SAC-like API and a CSS object
588 model like API. Libcroco provides a CSS2 selection engine and an experimental
589 XML/CSS rendering engine.")
592 (license license:lgpl2.1)))
594 (define-public libgsf
600 (uri (string-append "mirror://gnome/sources/" name "/"
601 (version-major+minor version) "/"
602 name "-" version ".tar.xz"))
605 "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b"))))
606 (build-system gnu-build-system)
608 `(("intltool" ,intltool)
609 ("pkg-config" ,pkg-config)))
615 `(("gdk-pixbuf" ,gdk-pixbuf)
617 ("libxml2" ,libxml2)))
618 (home-page "http://www.gnome.org/projects/libgsf")
619 (synopsis "GNOME's Structured File Library")
621 "Libgsf aims to provide an efficient extensible I/O abstraction for
622 dealing with different structured file formats.")
625 (license license:lgpl2.1)))
627 (define-public librsvg
633 (uri (string-append "mirror://gnome/sources/" name "/"
634 (version-major+minor version) "/"
635 name "-" version ".tar.xz"))
638 "01jgb11779080b80k2ncrhdphgillqrrnszal6vh8yv787r4kwwa"))))
639 (build-system gnu-build-system)
643 'configure 'augment-gir-search-path
644 (lambda* (#:key inputs #:allow-other-keys)
645 (substitute* "gdk-pixbuf-loader/Makefile.in"
646 ;; By default the gdk-pixbuf loader is installed under
647 ;; gdk-pixbuf's prefix. Work around that.
648 (("gdk_pixbuf_moduledir = .*$")
649 (string-append "gdk_pixbuf_moduledir = "
650 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
652 ;; Likewise, create a separate 'loaders.cache' file.
653 (("gdk_pixbuf_cache_file = .*$")
654 "gdk_pixbuf_cache_file = $(gdk_pixbuf_moduledir).cache\n")))
656 'install 'generate-full-cache
657 (lambda* (#:key inputs outputs #:allow-other-keys)
658 (let ((loaders-directory
659 (string-append (assoc-ref outputs "out")
660 "/lib/gdk-pixbuf-2.0/2.10.0/loaders")))
664 "gdk-pixbuf-query-loaders "
665 loaders-directory "/libpixbufloader-svg.so "
666 (string-join (find-files (assoc-ref inputs "gdk-pixbuf")
667 "libpixbufloader-.*\\.so") " ")
668 "> " loaders-directory ".cache")))))
673 %standard-phases)))))
675 `(("pkg-config" ,pkg-config)
676 ("glib" ,glib "bin") ; glib-mkenums, etc.
677 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
680 ("libcroco" ,libcroco)
683 ("libxml2" ,libxml2)))
685 ;; librsvg-2.0.pc refers to all of that.
687 ("gdk-pixbuf" ,gdk-pixbuf)
689 (home-page "https://wiki.gnome.org/LibRsvg")
690 (synopsis "Render SVG files using Cairo")
692 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
694 (license license:lgpl2.0+)))
696 (define-public libidl
702 (uri (let ((upstream-name "libIDL"))
703 (string-append "mirror://gnome/sources/" upstream-name "/"
704 (version-major+minor version) "/"
705 upstream-name "-" version ".tar.bz2")))
708 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
709 (build-system gnu-build-system)
710 (inputs `(("glib" ,glib)))
712 `(("pkg-config" ,pkg-config)
715 (home-page "http://freecode.com/projects/libidl")
716 (synopsis "Create trees of CORBA Interface Definition Language files")
717 (description "Libidl is a library for creating trees of CORBA Interface
718 Definition Language (idl) files, which is a specification for defining
719 portable interfaces. libidl was initially written for orbit (the orb from the
720 GNOME project, and the primary means of libidl distribution). However, the
721 functionality was designed to be as reusable and portable as possible.")
722 (license license:lgpl2.0+)))
725 (define-public orbit2
731 (uri (let ((upstream-name "ORBit2"))
732 (string-append "mirror://gnome/sources/" upstream-name "/"
733 (version-major+minor version) "/"
734 upstream-name "-" version ".tar.bz2")))
736 (base32 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
737 (build-system gnu-build-system)
739 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
740 `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
741 ;; ... which they then completly ignore !!
744 'configure 'ignore-deprecations
746 (substitute* "linc2/src/Makefile.in"
747 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
749 (inputs `(("glib" ,glib)
752 `(("pkg-config" ,pkg-config)))
753 (home-page "https://projects.gnome.org/orbit2/")
754 (synopsis "CORBA 2.4-compliant Object Request Broker")
755 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
756 featuring mature C, C++ and Python bindings.")
757 ;; Licence notice is unclear. The Web page simply say "GPL" without giving a version.
758 ;; SOME of the code files have licence notices for GPLv2+
759 ;; The tarball contains files of the text of GPLv2 and LGPLv2
760 (license license:gpl2+)))
763 (define-public libbonobo
769 (uri (string-append "mirror://gnome/sources/" name "/"
770 (version-major+minor version)
771 "/" name "-" version ".tar.bz2"))
773 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
774 (patches (list (search-patch "libbonobo-activation-test-race.patch")))))
775 (build-system gnu-build-system)
777 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
779 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
780 ;; ... which they then completly ignore !!
783 'configure 'ignore-deprecations
785 (substitute* "activation-server/Makefile.in"
786 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
788 (inputs `(("popt" ,popt)
789 ("libxml2" ,libxml2)))
790 ;; The following are Required by the .pc file
795 `(("intltool" ,intltool)
796 ("pkg-config" ,pkg-config)
797 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
800 (home-page "https://developer.gnome.org/libbonobo/")
801 (synopsis "Framework for creating reusable components for use in GNOME applications")
802 (description "Bonobo is a framework for creating reusable components for
803 use in GNOME applications, built on top of CORBA.")
804 ;; Licence not explicitly stated. Source files contain no licence notices.
805 ;; Tarball contains text of both GPLv2 and LGPLv2
806 ;; GPLv2 covers both conditions
807 (license license:gpl2+)))
817 (let ((upstream-name "GConf"))
818 (string-append "mirror://gnome/sources/" upstream-name "/"
819 (version-major+minor version) "/"
820 upstream-name "-" version ".tar.xz")))
822 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
823 (build-system gnu-build-system)
824 (inputs `(("glib" ,glib)
826 ("dbus-glib" ,dbus-glib)
827 ("libxml2" ,libxml2)))
828 (propagated-inputs `(("orbit2" ,orbit2))) ; referred to in the .pc file
830 `(("intltool" ,intltool)
831 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
832 ("pkg-config" ,pkg-config)))
833 (home-page "https://projects.gnome.org/gconf/")
834 (synopsis "Store application preferences")
835 (description "Gconf is a system for storing application preferences. It
836 is intended for user preferences; not arbitrary data storage.")
837 (license license:lgpl2.0+)))
840 (define-public gnome-mime-data
842 (name "gnome-mime-data")
846 (uri (string-append "mirror://gnome/sources/" name "/"
847 (version-major+minor version) "/"
848 name "-" version ".tar.bz2"))
851 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
852 (build-system gnu-build-system)
855 ("intltool" ,intltool)))
856 (home-page "http://www.gnome.org")
857 (synopsis "Base MIME and Application database for GNOME")
858 (description "GNOME Mime Data is a module which contains the base MIME
859 and Application database for GNOME. The data stored by this module is
860 designed to be accessed through the MIME functions in GnomeVFS.")
861 (license license:gpl2+)))
864 (define-public gnome-vfs
870 (uri (string-append "mirror://gnome/sources/" name "/"
871 (version-major+minor version) "/"
872 name "-" version ".tar.bz2"))
874 (base32 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
875 (build-system gnu-build-system)
877 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
878 `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
879 ;; ... which they then completly ignore !!
882 'configure 'ignore-deprecations
885 (substitute* "libgnomevfs/Makefile.in"
886 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
887 (substitute* "daemon/Makefile.in"
888 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))))
890 (inputs `(("glib" ,glib)
892 ("dbus-glib" ,dbus-glib)
895 ("gnome-mime-data" ,gnome-mime-data)
898 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
899 ("intltool" ,intltool)
900 ("pkg-config" ,pkg-config)))
901 (home-page "https://developer.gnome.org/gnome-vfs/")
902 (synopsis "Access files and folders in GNOME applications")
903 (description "GnomeVFS is the core library used to access files and
904 folders in GNOME applications. It provides a file system abstraction which
905 allows applications to access local and remote files with a single consistent API.")
906 (license license:lgpl2.0+)))
910 (define-public libgnome
916 (uri (string-append "mirror://gnome/sources/" name "/"
917 (version-major+minor version) "/"
918 name "-" version ".tar.bz2"))
921 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
922 (build-system gnu-build-system)
926 'configure 'enable-deprecated
928 (substitute* "libgnome/Makefile.in"
929 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
931 (inputs `(("popt" ,popt)
932 ("libxml2" ,libxml2)))
934 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
935 ("intltool" ,intltool)
936 ("pkg-config" ,pkg-config)))
937 ;; The following are listed as Required in the .pc file
938 ;; (except for libcanberra -- which seems to be oversight on the part
939 ;; of the upstream developers -- anything that links against libgnome,
940 ;; must also link against libcanberra
942 `(("libcanberra" ,libcanberra)
943 ("libbonobo" ,libbonobo)
945 ("gnome-vfs" ,gnome-vfs)
947 (home-page "https://developer.gnome.org/libgnome/")
948 (synopsis "Useful routines for building applications")
949 (description "The libgnome library provides a number of useful routines
950 for building modern applications, including session management, activation of
951 files and URIs, and displaying help.")
952 (license license:lgpl2.0+)))
955 (define-public libart-lgpl
961 (uri (let ((upstream-name "libart_lgpl"))
962 (string-append "mirror://gnome/sources/" upstream-name "/"
963 (version-major+minor version) "/"
964 upstream-name "-" version ".tar.bz2")))
967 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
968 (build-system gnu-build-system)
970 `(("pkg-config" ,pkg-config)))
971 (home-page "https://people.gnome.org/~mathieu/libart")
972 (synopsis "2D drawing library")
973 (description "Libart is a 2D drawing library intended as a
974 high-quality vector-based 2D library with antialiasing and alpha composition.")
975 (license license:lgpl2.0+)))
979 (define-public libgnomecanvas
981 (name "libgnomecanvas")
985 (uri (string-append "mirror://gnome/sources/" name "/"
986 (version-major+minor version) "/"
987 name "-" version ".tar.gz"))
990 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
991 (build-system gnu-build-system)
992 ;; Mentioned as Required in the .pc file
993 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
996 `(("intltool" ,intltool)
997 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
998 ("pkg-config" ,pkg-config)))
999 (home-page "https://developer.gnome.org/libgnomecanvas/")
1000 (synopsis "Flexible widget for creating interactive structured graphics")
1001 (description "The GnomeCanvas widget provides a flexible widget for
1002 creating interactive structured graphics.")
1003 (license license:lgpl2.0+)))
1005 (define-public libgnomecanvasmm
1007 (name "libgnomecanvasmm")
1011 (uri (string-append "mirror://gnome/sources/" name "/"
1012 (version-major+minor version) "/"
1013 name "-" version ".tar.bz2"))
1016 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1017 (build-system gnu-build-system)
1018 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1020 `(("gtkmm-2" ,gtkmm-2)
1021 ("pkg-config" ,pkg-config)))
1022 (home-page "http://gtkmm.org")
1023 (synopsis "C++ bindings to the GNOME Canvas library")
1024 (description "C++ bindings to the GNOME Canvas library.")
1025 (license license:lgpl2.0+)))
1027 (define-public libgnomeui
1033 (uri (string-append "mirror://gnome/sources/" name "/"
1034 (version-major+minor version) "/"
1035 name "-" version ".tar.bz2"))
1038 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1039 (build-system gnu-build-system)
1040 ;; Mentioned as Required in the .pc file
1041 (propagated-inputs `(("libgnome" ,libgnome)
1042 ("libgnome-keyring" ,libgnome-keyring)))
1043 (inputs `(("libgnomecanvas" ,libgnomecanvas)
1044 ("libbonoboui" ,libbonoboui)
1045 ("libjpeg" ,libjpeg)
1047 ("libbonobo" ,libbonobo)
1048 ("libxml2" ,libxml2)
1049 ("libglade" ,libglade)))
1051 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1052 ("intltool" ,intltool)
1053 ("pkg-config" ,pkg-config)))
1054 (home-page "https://developer.gnome.org/libgnomeui/")
1055 (synopsis "Additional widgets for applications")
1056 (description "The libgnomeui library provides additional widgets for
1057 applications. Many of the widgets from libgnomeui have already been ported to GTK+.")
1058 (license license:lgpl2.0+)))
1060 (define-public libglade
1066 (uri (string-append "mirror://gnome/sources/" name "/"
1067 (version-major+minor version) "/"
1068 name "-" version ".tar.bz2"))
1071 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1072 (build-system gnu-build-system)
1074 `(("gtk+-2" ,gtk+-2)
1075 ("libxml2" ,libxml2)
1076 ("python" ,python))) ;; needed for the optional libglade-convert program
1078 `(("pkg-config" ,pkg-config)))
1079 (home-page "https://developer.gnome.org/libglade")
1080 (synopsis "Load glade interfaces and access the glade built widgets")
1081 (description "Libglade is a library that provides interfaces for loading
1082 graphical interfaces described in glade files and for accessing the
1083 widgets built in the loading process.")
1084 (license license:gpl2+))) ; This is correct. GPL not LGPL
1086 (define-public libgnomeprint
1087 ;; This library has been deprecated since 2006; see
1088 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
1090 (name "libgnomeprint")
1094 (uri (string-append "mirror://gnome/sources/" name "/"
1095 (version-major+minor version) "/"
1096 name "-" version ".tar.bz2"))
1099 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))
1100 (modules '((guix build utils)))
1102 ;; Adapt to newer freetype. As the package is deprecated, there
1103 ;; is no use in creating a patch and reporting it.
1104 '(substitute* '("libgnomeprint/gnome-font-face.c"
1105 "libgnomeprint/gnome-rfont.c")
1106 (("freetype/") "freetype2/")))))
1107 (build-system gnu-build-system)
1110 ("libart-lgpl" ,libart-lgpl)
1112 ("libxml2" ,libxml2)))
1114 `(("intltool" ,intltool)
1115 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1116 ("pkg-config" ,pkg-config)))
1117 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1118 (synopsis "Printing framework for GNOME")
1120 "GNOME-print was a printing framework for GNOME. It has been deprecated
1121 since ca. 2006, when GTK+ itself incorporated printing support.")
1122 (license license:lgpl2.0+)))
1125 (define-public libgnomeprintui
1126 ;; Deprecated; see libgnomeprint.
1128 (name "libgnomeprintui")
1132 (uri (string-append "mirror://gnome/sources/" name "/"
1133 (version-major+minor version) "/"
1134 name "-" version ".tar.bz2"))
1137 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1138 (build-system gnu-build-system)
1139 ;; Mentioned as Required in the .pc file
1140 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1141 (inputs `(("gtk+" ,gtk+-2)
1143 ("gnome-icon-theme" ,gnome-icon-theme)
1144 ("libgnomecanvas" ,libgnomecanvas)
1145 ("libxml2" ,libxml2)))
1147 `(("intltool" ,intltool)
1148 ("pkg-config" ,pkg-config)))
1149 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1150 (synopsis "Printing framework for GNOME")
1151 (description (package-description libgnomeprint))
1152 (license license:lgpl2.0+)))
1154 (define-public libbonoboui
1156 (name "libbonoboui")
1160 (uri (string-append "mirror://gnome/sources/" name "/"
1161 (version-major+minor version) "/"
1162 name "-" version ".tar.bz2"))
1165 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1166 (build-system gnu-build-system)
1170 'check 'start-xserver
1171 (lambda* (#:key inputs #:allow-other-keys)
1172 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1175 (setenv "HOME" (getcwd))
1176 (setenv "DISPLAY" disp)
1177 ;; There must be a running X server and make check doesn't start one.
1178 ;; Therefore we must do it.
1179 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1181 ;; Mentioned as Required by the .pc file
1182 (propagated-inputs `(("libxml2" ,libxml2)))
1185 ("pangox-compat" ,pangox-compat)
1186 ("libgnome" ,libgnome)
1187 ("libgnomecanvas" ,libgnomecanvas)
1188 ("libglade" ,libglade)))
1190 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1191 ("intltool" ,intltool)
1192 ("xorg-server" ,xorg-server) ; For running the tests
1193 ("pkg-config" ,pkg-config)))
1194 (home-page "https://developer.gnome.org/libbonoboui/")
1195 (synopsis "Some user interface controls using Bonobo")
1196 (description "The Bonobo UI library provides a number of user interface
1197 controls using the Bonobo component framework.")
1198 (license license:lgpl2.0+)))
1200 (define-public libwnck
1206 (uri (string-append "mirror://gnome/sources/" name "/"
1207 (version-major+minor version) "/"
1208 name "-" version ".tar.xz"))
1210 (base32 "074jww04z8g9r1acndqap79wx4kbm3rpkf4lcg1v82b66iv0027m"))))
1211 (build-system gnu-build-system)
1213 `(("pkg-config" ,pkg-config)
1214 ("intltool" ,intltool)))
1217 ("libxres" ,libxres)
1218 ("startup-notification" ,startup-notification)))
1219 (home-page "https://developer.gnome.org/libwnck/")
1220 (synopsis "Window Navigator Construction Kit")
1222 "Libwnck is the Window Navigator Construction Kit, a library for use in
1223 writing pagers, tasklists, and more generally applications that are dealing
1224 with window management. It tries hard to respect the Extended Window Manager
1225 Hints specification (EWMH).")
1226 (license license:lgpl2.0+)))
1228 ;; stable version for gtk2, required by xfwm4.
1229 (define-public libwnck-1
1230 (package (inherit libwnck)
1235 (uri (string-append "mirror://gnome/sources/" name "/"
1236 (version-major+minor version) "/"
1237 name "-" version ".tar.xz"))
1240 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1243 ("libxres" ,libxres)
1244 ("startup-notification" ,startup-notification)))))
1246 (define-public goffice
1252 (uri (string-append "mirror://gnome/sources/" name "/"
1253 (version-major+minor version) "/"
1254 name "-" version ".tar.xz"))
1256 (base32 "0kj0iwng6w4axm7yv2zy7myn5dhw5ilrlq2pzrjlm9i852ikqy60"))))
1257 (build-system gnu-build-system)
1261 ("librsvg" ,librsvg)
1262 ("libxslt" ,libxslt)
1263 ("libxml2" ,libxml2)))
1265 `(("intltool" ,intltool)
1266 ("glib" ,glib "bin")
1267 ("pkg-config" ,pkg-config)))
1268 (home-page "https://developer.gnome.org/goffice/")
1269 (synopsis "Document-centric objects and utilities")
1270 (description "A GLib/GTK+ set of document-centric objects and utilities.")
1272 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1274 (list license:gpl2 license:gpl3))))
1276 (define-public gnumeric
1282 (uri (string-append "mirror://gnome/sources/" name "/"
1283 (version-major+minor version) "/"
1284 name "-" version ".tar.xz"))
1287 "18bvc3phghr4p5440fp8hm6gvp53d3mqs9cyc637zpmk0b6bcp7c"))))
1288 (build-system gnu-build-system)
1290 `(;; The gnumeric developers don't worry much about failing tests.
1291 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
1295 'configure 'pre-conf
1296 (lambda* (#:key outputs #:allow-other-keys)
1297 ;; Make install tries to write into the directory of goffice
1298 ;; I am informed that this only affects the possibility to embed a
1299 ;; spreadsheet inside an Abiword document. So presumably when we
1300 ;; package Abiword we'll have to refer it to this directory.
1301 (substitute* "configure"
1302 (("^GOFFICE_PLUGINS_DIR=.*")
1303 (string-append "GOFFICE_PLUGINS_DIR="
1304 (assoc-ref outputs "out") "/goffice/plugins"))))
1309 ("goffice" ,goffice)
1311 ("libxml2" ,libxml2)
1314 `(("intltool" ,intltool)
1315 ("glib:bin" ,glib "bin")
1316 ("pkg-config" ,pkg-config)))
1317 (home-page "http://www.gnumeric.org")
1318 (synopsis "Spreadsheet application")
1320 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1321 interoperable with other spreadsheet applications. It has a vast array of
1322 features beyond typical spreadsheet functionality, such as support for linear
1323 and non-linear solvers, statistical analysis, and telecommunication
1326 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1327 (list license:gpl2 license:gpl3))))
1329 (define-public gnome-themes-standard
1331 (name "gnome-themes-standard")
1332 ;; The version of this package should be the same as the version of
1334 (version (package-version gnome-desktop))
1338 (uri (string-append "mirror://gnome/sources/" name "/"
1339 (version-major+minor version) "/" name "-"
1343 "0f2b3ypkfvrdsxcvp14ja9wqj382f1p46yrjvhhxkkjgagy6qb41"))))
1344 (build-system gnu-build-system)
1348 ("librsvg" ,librsvg)
1349 ("libxml2" ,libxml2)
1352 `(("intltool" ,intltool)
1353 ("glib:bin" ,glib "bin")
1354 ("pkg-config" ,pkg-config)))
1358 'build 'use-full-cache
1359 ;; Use librsvg's loaders.cache instead of the one provided by
1360 ;; gdk-pixbuf because the latter does not include support for SVG
1362 (lambda* (#:key inputs #:allow-other-keys)
1363 (setenv "GDK_PIXBUF_MODULE_FILE"
1364 (car (find-files (assoc-ref inputs "librsvg")
1365 "loaders\\.cache"))))
1367 (home-page "https://launchpad.net/gnome-themes-standard")
1368 (synopsis "Default GNOME 3 themes")
1370 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1371 (license license:lgpl2.1+)))
1379 (uri (string-append "mirror://gnome/sources/" name "/"
1380 (version-major+minor version) "/"
1381 name "-" version ".tar.xz"))
1384 "0swyym2papln0f62ah05dpvq3vv6fssap26jq2zqp9dkkaqsn1w4"))))
1385 (build-system gnu-build-system)
1386 (arguments '(#:make-flags '("CC=gcc")))
1388 `(("pkg-config" ,pkg-config)
1391 ("xsltproc" ,libxslt)
1392 ("dbus" ,dbus) ; for dbus tests
1393 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
1395 `(("glib" ,glib))) ; required by libvala-0.26.pc
1396 (home-page "http://live.gnome.org/Vala/")
1397 (synopsis "Compiler for the GObject type system")
1399 "Vala is a programming language that aims to bring modern programming
1400 language features to GNOME developers without imposing any additional runtime
1401 requirements and without using a different ABI compared to applications and
1402 libraries written in C.")
1403 (license license:lgpl2.1+)))
1411 (uri (string-append "mirror://gnome/sources/" name "/"
1412 (version-major+minor version) "/"
1413 name "-" version ".tar.xz"))
1416 "0lnq0bgkmsixjwmfacb2ch9qfjqjxa8zkk1hiv3l29kgca0n3nal"))))
1417 (build-system gnu-build-system)
1419 `(("pkg-config" ,pkg-config)
1420 ("intltool" ,intltool)
1422 ("gobject-introspection" ,gobject-introspection)
1423 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1424 ("xmllint" ,libxml2)))
1426 `(("gtk+" ,gtk+) ;required by vte-2.91.pc
1427 ("gnutls" ,gnutls))) ;ditto
1433 (setenv "CC" "gcc"))
1435 (home-page "http://www.gnome.org/")
1436 (synopsis "Virtual Terminal Emulator")
1438 "VTE is a library (libvte) implementing a terminal emulator widget for
1439 GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
1440 gnome-terminal, but can also be used to embed a console/terminal in games,
1441 editors, IDEs, etc.")
1442 (license license:lgpl2.1+)))
1444 ;; stable version for gtk2, required by xfce4-terminal.
1445 (define-public vte/gtk+-2
1446 (package (inherit vte)
1451 (uri (string-append "mirror://gnome/sources/" name "/"
1452 (version-major+minor version) "/"
1453 name "-" version ".tar.xz"))
1456 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))))
1458 '(#:configure-flags '("--disable-python")))
1460 `(("pkg-config" ,pkg-config)
1461 ("intltool" ,intltool)
1462 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
1464 `(("gtk+" ,gtk+-2) ; required by libvte.pc
1465 ("ncurses" ,ncurses))))) ; required by libvte.la
1467 (define-public dconf
1474 "mirror://gnome/sources/" name "/"
1475 (version-major+minor version) "/"
1476 name "-" version ".tar.xz"))
1478 (base32 "13jb49504bir814v8n8vjip5sazwfwsrnniw87cpg7phqfq7q9qa"))))
1479 (build-system glib-or-gtk-build-system)
1484 ("libxml2" ,libxml2)))
1486 `(("libxslt" ,libxslt)
1487 ("docbook-xml" ,docbook-xml-4.2)
1488 ("docbook-xsl" ,docbook-xsl)
1489 ("intltool" ,intltool)
1490 ("pkg-config" ,pkg-config)))
1492 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
1493 ; or /etc/machine-id.
1495 ;; Set the correct RUNPATH in binaries.
1496 (list (string-append "LDFLAGS=-Wl,-rpath="
1497 (assoc-ref %outputs "out") "/lib")
1498 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
1501 'configure 'fix-docbook
1502 (lambda* (#:key inputs #:allow-other-keys)
1503 (substitute* "docs/Makefile.in"
1504 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1505 (string-append (assoc-ref inputs "docbook-xsl")
1506 "/xml/xsl/docbook-xsl-"
1507 ,(package-version docbook-xsl)
1508 "/manpages/docbook.xsl")))
1509 (setenv "XML_CATALOG_FILES"
1510 (string-append (assoc-ref inputs "docbook-xml")
1511 "/xml/dtd/docbook/catalog.xml")))
1513 (home-page "https://developer.gnome.org/dconf")
1514 (synopsis "Low-level GNOME configuration system")
1515 (description "Dconf is a low-level configuration system. Its main purpose
1516 is to provide a backend to GSettings on platforms that don't already have
1517 configuration storage systems.")
1518 (license license:lgpl2.1)))
1520 (define-public json-glib
1526 (uri (string-append "mirror://gnome/sources/" name "/"
1527 (version-major+minor version) "/"
1528 name "-" version ".tar.xz"))
1531 "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8"))))
1532 (build-system gnu-build-system)
1534 '(#:phases (alist-cons-before
1537 ;; Set $CC so that g-ir-scanner works.
1542 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
1543 ("gobject-introspection" ,gobject-introspection)
1544 ("pkg-config" ,pkg-config)))
1546 `(("glib" ,glib))) ;according to json-glib-1.0.pc
1547 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
1548 (synopsis "Compiler for the GObject type system")
1549 (description "JSON-GLib is a C library based on GLib providing
1550 serialization and deserialization support for the JavaScript Object Notation
1551 (JSON) format described by RFC 4627. It provides parser and generator
1552 GObject classes and various wrappers for the complex data types employed by
1553 JSON, such as arrays and objects.")
1554 (license license:lgpl2.1+)))
1556 (define-public libxklavier
1558 (name "libxklavier")
1562 (uri (string-append "mirror://gnome/sources/" name "/"
1563 version "/" name "-" version ".tar.xz"))
1566 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
1567 (build-system gnu-build-system)
1570 (list (string-append "--with-xkb-base="
1571 (assoc-ref %build-inputs "xkeyboard-config")
1577 (setenv "CC" "gcc")) ; for g-ir-scanner.
1580 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
1581 ("gobject-introspection" ,gobject-introspection)
1582 ("pkg-config" ,pkg-config)))
1584 ;; Required by libxklavier.pc.
1586 ("libxml2" ,libxml2)))
1588 `(("iso-codes" ,iso-codes)
1590 ("libxkbfile" ,libxkbfile)
1591 ("xkbcomp" ,xkbcomp)
1592 ("xkeyboard-config" ,xkeyboard-config)))
1593 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
1594 (synopsis "High-level API for X Keyboard Extension")
1596 "LibXklavier is a library providing high-level API for X Keyboard
1597 Extension known as XKB. This library is indended to support XFree86 and other
1598 commercial X servers. It is useful for creating XKB-related software (layout
1600 (license license:lgpl2.0+)))
1602 (define-public python2-rsvg
1603 ;; XXX: This is actually a subset of gnome-python-desktop.
1605 (name "python2-rsvg")
1611 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
1612 version ".tar.bz2"))
1615 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
1616 (build-system gnu-build-system)
1618 `(("pkg-config" ,pkg-config)))
1620 `(("python" ,python-2)
1621 ("python2-pygtk" ,python2-pygtk)
1622 ("librsvg" ,librsvg)))
1623 (home-page "http://www.gnome.org")
1624 (synopsis "Python bindings to librsvg")
1626 "This packages provides Python bindings to librsvg, the SVG rendering
1629 ;; This is the license of the rsvg bindings. The license of each module
1630 ;; of gnome-python-desktop is given in 'COPYING'.
1631 (license license:lgpl2.1+)))
1633 (define-public glib-networking
1635 (name "glib-networking")
1639 (uri (string-append "mirror://gnome/sources/glib-networking/"
1640 (version-major+minor version) "/"
1641 name "-" version ".tar.xz"))
1644 "0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg"))))
1645 (build-system gnu-build-system)
1648 ;; FIXME: ca-certificates.crt is not available in the build environment.
1649 '("--with-ca-certificates=no")
1651 (modify-phases %standard-phases
1652 (add-before configure patch-giomoduledir
1653 ;; Install GIO modules into $out/lib/gio/modules.
1655 (substitute* "configure"
1656 (("GIO_MODULE_DIR=.*")
1657 (string-append "GIO_MODULE_DIR=" %output
1658 "/lib/gio/modules\n"))))))))
1660 `(("pkg-config" ,pkg-config)
1661 ("intltool" ,intltool)))
1665 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1666 ("p11-kit" ,p11-kit)))
1667 (home-page "http://www.gnome.org")
1668 (synopsis "Network-related GIO modules")
1670 "This package contains various network related extensions for the GIO
1672 (license license:lgpl2.0+)))
1674 (define-public libsoup
1680 (uri (string-append "mirror://gnome/sources/libsoup/"
1681 (version-major+minor version) "/"
1682 name "-" version ".tar.xz"))
1685 "0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y"))))
1686 (build-system gnu-build-system)
1687 (outputs '("out" "doc"))
1689 `(#:make-flags '("CC=gcc") ; for g-ir-scanner
1691 (list (string-append "--with-html-dir="
1692 (assoc-ref %outputs "doc")
1693 "/share/gtk-doc/html")
1694 ;; To find GIO modules from glib-networking.
1695 (string-append "GIO_EXTRA_MODULES="
1696 (assoc-ref %build-inputs "glib-networking")
1697 "/lib/gio/modules"))
1699 (modify-phases %standard-phases
1700 (add-before configure disable-unconnected-socket-test
1701 ;; This test fails due to missing /etc/nsswitch.conf
1702 ;; in the build environment.
1704 (substitute* "tests/socket-test.c"
1705 ((".*/sockets/unconnected.*") ""))
1707 (add-before check unset-LC_ALL
1708 ;; The 'check-local' target runs 'env LANG=C sort -u',
1709 ;; unset 'LC_ALL' to make 'LANG' working.
1714 `(("glib:bin" ,glib "bin") ; for glib-mkenums
1715 ("gobject-introspection" ,gobject-introspection)
1716 ("intltool" ,intltool)
1717 ("pkg-config" ,pkg-config)
1718 ("python" ,python-wrapper)
1719 ;; These are needed for the tests.
1720 ;; FIXME: Add PHP once available.
1724 ;; libsoup-2.4.pc refers to all these.
1726 ("libxml2" ,libxml2)))
1728 `(("glib-networking" ,glib-networking)
1729 ("sqlite" ,sqlite)))
1730 (home-page "https://live.gnome.org/LibSoup/")
1731 (synopsis "GLib-based HTTP Library")
1733 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
1734 and the GLib main loop, to integrate well with GNOME applications.")
1735 (license license:lgpl2.0+)))
1737 (define-public gnome-mines
1739 (name "gnome-mines")
1744 (uri (string-append "mirror://gnome/sources/" name "/"
1745 (version-major+minor version) "/"
1746 name "-" version ".tar.xz"))
1749 "0wfvqyryc1093l4dr75zv9h0jyn28z6wirdq03lm5w24qf9lvjjx"))))
1750 (build-system glib-or-gtk-build-system)
1753 (modify-phases %standard-phases
1754 (add-before 'configure 'patch-/bin/true
1756 (substitute* "configure"
1757 (("/bin/true") (which "true")))))
1758 (add-after 'install 'wrap-pixbuf
1759 ;; Use librsvg's loaders.cache to support SVG files.
1760 (lambda* (#:key inputs outputs #:allow-other-keys)
1761 (let* ((out (assoc-ref outputs "out"))
1762 (prog (string-append out "/bin/gnome-mines"))
1763 (rsvg (assoc-ref inputs "librsvg"))
1764 (pixbuf (find-files rsvg "^loaders\\.cache$")))
1766 `("GDK_PIXBUF_MODULE_FILE" = ,pixbuf))))))))
1768 `(("pkg-config" ,pkg-config)
1769 ("desktop-file-utils" ,desktop-file-utils)
1770 ("intltool" ,intltool)
1771 ("itstool" ,itstool)))
1774 ("librsvg" ,librsvg)))
1775 (home-page "https://wiki.gnome.org/Apps/Mines")
1776 (synopsis "Minesweeper game")
1778 "Mines (previously gnomine) is a puzzle game where you locate mines
1779 floating in an ocean using only your brain and a little bit of luck.")
1780 (license license:gpl2+)))
1782 (define-public gnome-terminal
1784 (name "gnome-terminal")
1789 (uri (string-append "mirror://gnome/sources/" name "/"
1790 (version-major+minor version) "/"
1791 name "-" version ".tar.xz"))
1794 "1s3zwqxs4crlqmh6l7s7n87pbmh2nnjdvhxlkalh58pbl0bk0qrd"))))
1795 (build-system glib-or-gtk-build-system)
1798 (list "--disable-migration" "--disable-search-provider"
1799 "--without-nautilus-extension")
1801 (modify-phases %standard-phases
1802 (add-before configure patch-/bin/true
1804 (substitute* "configure"
1805 (("/bin/true") (which "true"))))))))
1807 `(("pkg-config" ,pkg-config)
1808 ("desktop-file-utils" ,desktop-file-utils)
1809 ("intltool" ,intltool)
1810 ("itstool" ,itstool)))
1816 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1817 ("util-linux" ,util-linux)
1819 (home-page "https://wiki.gnome.org/Apps/Terminal")
1820 (synopsis "Terminal emulator")
1822 "GNOME Terminal is a terminal emulator application for accessing a
1823 UNIX shell environment which can be used to run programs available on
1826 It supports several profiles, multiple tabs and implements several
1827 keyboard shortcuts.")
1828 (license license:gpl3+)))