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 autotools)
34 #:use-module (gnu packages base)
35 #:use-module (gnu packages bison)
36 #:use-module (gnu packages cups)
37 #:use-module (gnu packages curl)
38 #:use-module (gnu packages databases)
39 #:use-module (gnu packages flex)
40 #:use-module (gnu packages databases)
41 #:use-module (gnu packages docbook)
42 #:use-module (gnu packages glib)
43 #:use-module (gnu packages gnupg)
44 #:use-module (gnu packages gnuzilla)
45 #:use-module (gnu packages gstreamer)
46 #:use-module (gnu packages gtk)
47 #:use-module (gnu packages pdf)
48 #:use-module (gnu packages polkit)
49 #:use-module (gnu packages popt)
50 #:use-module (gnu packages ghostscript)
51 #:use-module (gnu packages gnutls)
52 #:use-module (gnu packages iso-codes)
53 #:use-module (gnu packages libcanberra)
54 #:use-module (gnu packages linux)
55 #:use-module (gnu packages libusb)
56 #:use-module (gnu packages image)
57 #:use-module (gnu packages perl)
58 #:use-module (gnu packages pkg-config)
59 #:use-module (gnu packages pulseaudio)
60 #:use-module (gnu packages python)
61 #:use-module (gnu packages scanner)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages gl)
64 #:use-module (gnu packages compression)
65 #:use-module (gnu packages web)
66 #:use-module (gnu packages xorg)
67 #:use-module (gnu packages xdisorg)
68 #:use-module (gnu packages ncurses))
70 (define-public brasero
76 (uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
80 "1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
81 (build-system gnu-build-system)
83 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
85 `(("intltool" ,intltool)
86 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
87 ("pkg-config" ,pkg-config)))
90 ("gnome-doc-utils" ,gnome-doc-utils)
91 ("gstreamer" ,gstreamer)
92 ("gst-plugins-base" ,gst-plugins-base)
95 ("libcanberra" ,libcanberra)
97 ("libnotify" ,libnotify)
99 ("libxml2" ,libxml2)))
100 (home-page "https://projects.gnome.org/brasero/")
101 (synopsis "CD/DVD burning tool for Gnome")
102 (description "Brasero is an application to burn CD/DVD for the Gnome
103 Desktop. It is designed to be as simple as possible and has some unique
104 features to enable users to create their discs easily and quickly.")
105 (license license:gpl2+)))
107 (define-public gnome-desktop
109 (name "gnome-desktop")
114 (uri (string-append "mirror://gnome/sources/" name "/"
115 (version-major+minor version) "/"
116 name "-" version ".tar.xz"))
119 "05lvik5cdh51xqd332qingph09zdhiaa1kqy9k2sk1simz4pvf8m"))))
120 (build-system gnu-build-system)
122 `(("intltool" ,intltool)
123 ("pkg-config" ,pkg-config)))
125 `(("gdk-pixbuf" ,gdk-pixbuf)
127 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
129 ("iso-codes" ,iso-codes)
133 ("libxkbfile" ,libxkbfile)
134 ("libxrandr" ,libxrandr)
135 ("xkeyboard-config" ,xkeyboard-config)))
136 (home-page "https://www.gnome.org/")
138 "Libgnome-desktop, gnome-about, and desktop-wide documents")
140 "The libgnome-desktop library provides API shared by several applications
141 on the desktop, but that cannot live in the platform for various reasons.
142 There is no API or ABI guarantee, although we are doing our best to provide
143 stability. Documentation for the API is available with gtk-doc.
145 The gnome-about program helps find which version of GNOME is installed.")
146 ; Some bits under the LGPL.
147 (license license:gpl2+)))
149 (define-public gnome-doc-utils
151 (name "gnome-doc-utils")
156 (uri (string-append "mirror://gnome/sources/" name "/"
157 (version-major+minor version) "/"
158 name "-" version ".tar.xz"))
161 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
162 (build-system gnu-build-system)
164 `(("intltool" ,intltool)
165 ("docbook-xml" ,docbook-xml-4.4)
168 ("pkg-config" ,pkg-config)
169 ("python-2" ,python-2)))
170 (home-page "https://wiki.gnome.org/GnomeDocUtils")
172 "Documentation utilities for the Gnome project")
174 "Gnome-doc-utils is a collection of documentation utilities for the
175 Gnome project. It includes xml2po tool which makes it easier to translate
176 and keep up to date translations of documentation.")
177 (license license:gpl2+))) ; xslt under lgpl
179 (define-public libgnome-keyring
181 (name "libgnome-keyring")
185 (uri (string-append "mirror://gnome/sources/" name "/"
186 (version-major+minor version) "/"
187 name "-" version ".tar.xz"))
190 "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
191 (build-system gnu-build-system)
193 `(("libgcrypt" ,libgcrypt)
196 `(("pkg-config" ,pkg-config)
198 ("intltool" ,intltool)))
200 ;; Referred to in .h files and .pc.
202 (home-page "http://www.gnome.org")
203 (synopsis "Accessing passwords from the GNOME keyring")
205 "Client library to access passwords from the GNOME keyring.")
207 ;; Though a couple of files are LGPLv2.1+.
208 (license license:lgpl2.0+)))
210 (define-public evince
216 (uri (string-append "mirror://gnome/sources/" name "/"
217 (version-major+minor version) "/"
218 name "-" version ".tar.xz"))
221 "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
222 (build-system glib-or-gtk-build-system)
224 `(#:configure-flags '("--disable-nautilus")
226 ;; FIXME: Tests fail with:
227 ;; ImportError: No module named gi.repository
228 ;; Where should that module come from?
231 `(("libspectre" ,libspectre)
232 ;; ("djvulibre" ,djvulibre)
233 ("ghostscript" ,ghostscript)
235 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
236 ("libgnome-keyring" ,libgnome-keyring)
237 ("gnome-icon-theme" ,gnome-icon-theme)
239 ("gdk-pixbuf" ,gdk-pixbuf)
247 ("shared-mime-info" ,shared-mime-info)
249 ("libcanberra" ,libcanberra)
252 ("dogtail" ,python2-dogtail)))
254 `(("intltool" ,intltool)
256 ("pkg-config" ,pkg-config)))
258 "http://www.gnome.org/projects/evince/")
259 (synopsis "GNOME's document viewer")
261 "Evince is a document viewer for multiple document formats. It
262 currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
263 of Evince is to replace the multiple document viewers that exist
264 on the GNOME Desktop with a single simple application.")
265 (license license:gpl2+)))
267 (define-public gsettings-desktop-schemas
269 (name "gsettings-desktop-schemas")
274 (uri (string-append "mirror://gnome/sources/" name "/"
275 (version-major+minor version) "/"
276 name "-" version ".tar.xz"))
279 "02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16"))))
280 (build-system gnu-build-system)
284 `(("intltool" ,intltool)
285 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
286 ("gobject-introspection" ,gobject-introspection)
287 ("pkg-config" ,pkg-config)))
288 (home-page "https://launchpad.net/gsettings-desktop-schemas")
290 "GNOME settings for various desktop components")
292 "Gsettings-desktop-schemas contains a collection of GSettings schemas
293 for settings shared by various components of the GNOME desktop.")
294 (license license:lgpl2.1+)))
296 (define-public icon-naming-utils
298 (name "icon-naming-utils")
303 (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
307 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
308 (build-system gnu-build-system)
311 ("perl-xml-simple" ,perl-xml-simple)))
315 'install 'set-load-paths
316 ;; Tell 'icon-name-mapping' where XML::Simple is.
317 (lambda* (#:key outputs #:allow-other-keys)
318 (let* ((out (assoc-ref outputs "out"))
319 (prog (string-append out "/libexec/icon-name-mapping")))
322 `("PERL5LIB" = ,(list (getenv "PERL5LIB"))))))
324 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
326 "Utility to implement the Freedesktop Icon Naming Specification")
328 "To help with the transition to the Freedesktop Icon Naming
329 Specification, the icon naming utility maps the icon names used by the
330 GNOME and KDE desktops to the icon names proposed in the specification.")
331 (license license:lgpl2.1+)))
333 (define-public desktop-file-utils
335 (name "desktop-file-utils")
339 (uri (string-append "http://www.freedesktop.org/software/" name
340 "/releases/" name "-" version ".tar.xz"))
343 "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4"))))
344 (build-system gnu-build-system)
346 `(("pkg-config" ,pkg-config)))
349 (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
350 (synopsis "Utilities for working with desktop entries")
352 "This package contains a few command line utilities for working with
355 desktop-file-validate: validates a desktop file and prints warnings/errors
356 about desktop entry specification violations.
358 desktop-file-install: installs a desktop file to the applications directory,
359 optionally munging it a bit in transit.
361 update-desktop-database: updates the database containing a cache of MIME types
362 handled by desktop files.")
363 (license license:gpl2+)))
365 (define-public gnome-icon-theme
367 (name "gnome-icon-theme")
372 (uri (string-append "mirror://gnome/sources/" name "/"
373 (version-major+minor version) "/"
374 name "-" version ".tar.xz"))
377 "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
378 (build-system gnu-build-system)
381 ("icon-naming-utils" ,icon-naming-utils)))
383 `(("intltool" ,intltool)
384 ("pkg-config" ,pkg-config)))
385 (home-page "http://art.gnome.org/")
389 "Icons for the GNOME desktop.")
390 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
392 (define-public shared-mime-info
394 (name "shared-mime-info")
398 (uri (string-append "http://freedesktop.org/~hadess/"
399 "shared-mime-info-" version ".tar.xz"))
402 "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
403 (build-system gnu-build-system)
405 ;; The build system appears not to be parallel-safe.
406 '(#:parallel-build? #f))
409 ("libxml2" ,libxml2)))
411 `(("intltool" ,intltool)
412 ("pkg-config" ,pkg-config)))
413 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
414 (synopsis "Database of common MIME types")
416 "The shared-mime-info package contains the core database of common types
417 and the update-mime-database command used to extend it. It requires glib2 to
418 be installed for building the update command. Additionally, it uses intltool
419 for translations, though this is only a dependency for the maintainers. This
420 database is translated at Transifex.")
421 (license license:gpl2+)))
423 (define-public hicolor-icon-theme
425 (name "hicolor-icon-theme")
430 (uri (string-append "http://icon-theme.freedesktop.org/releases/"
431 "hicolor-icon-theme-" version ".tar.gz"))
434 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
435 (build-system gnu-build-system)
437 `(#:tests? #f)) ; no check target
438 (home-page "http://icon-theme.freedesktop.org/releases/")
440 "Freedesktop icon theme")
442 "Freedesktop icon theme.")
443 (license license:gpl2)))
445 (define-public libnotify
452 (uri (string-append "mirror://gnome/sources/" name "/"
453 (version-major+minor version) "/"
454 name "-" version ".tar.xz"))
457 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
458 (build-system gnu-build-system)
460 `(("gdk-pixbuf" ,gdk-pixbuf)
465 `(("pkg-config" ,pkg-config)
466 ("glib" ,glib "bin")))
467 (home-page "https://developer-next.gnome.org/libnotify/")
469 "GNOME desktop notification library")
471 "Libnotify is a library that sends desktop notifications to a
472 notification daemon, as defined in the Desktop Notifications spec. These
473 notifications can be used to inform the user about an event or display
474 some form of information without getting in the user's way.")
475 (license license:lgpl2.1+)))
477 (define-public libpeas
484 (uri (string-append "mirror://gnome/sources/" name "/"
485 (version-major+minor version) "/"
486 name "-" version ".tar.xz"))
489 "1mjjjjwphc83bjznmbsm7x0jg7ql261nys6qnl7mi0nkr4qvw476"))))
490 (build-system gnu-build-system)
493 ("gdk-pixbuf" ,gdk-pixbuf)
498 `(("pkg-config" ,pkg-config)
499 ("glib:bin" ,glib "bin")
500 ("gobject-introspection" ,gobject-introspection)
501 ("intltool" ,intltool)))
502 (home-page "https://wiki.gnome.org/Libpeas")
503 (synopsis "GObject plugin system")
505 "Libpeas is a gobject-based plugins engine, and is targetted at giving
506 every application the chance to assume its own extensibility. It also has a
507 set of features including, but not limited to: multiple extension points; on
508 demand (lazy) programming language support for C, Python and JS; simplicity of
510 (license license:lgpl2.0+)))
512 (define-public gtkglext
518 (uri (string-append "mirror://sourceforge/project/gtkglext/gtkglext/"
519 version "/gtkglext-" version ".tar.gz"))
521 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
523 (search-patch "gtkglext-disable-disable-deprecated.patch")))))
524 (build-system gnu-build-system)
525 (inputs `(("gtk+" ,gtk+-2)
530 (native-inputs `(("pkg-config" ,pkg-config)
531 ("glib" ,glib "bin")))
532 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
533 (home-page "https://projects.gnome.org/gtkglext")
534 (synopsis "OpenGL extension to GTK+")
535 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
536 additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
537 API add-ons to make GTK+ widgets OpenGL-capable.")
538 (license license:lgpl2.1+)))
540 (define-public glade3
546 (uri (string-append "mirror://gnome/sources/" name "/"
547 (version-major+minor version) "/"
548 name "3-" version ".tar.xz"))
550 (base32 "021xgq2l18w3rvwms9aq2idm0fk66vwb4f777gs0qh3ap5shgbn7"))))
551 (build-system gnu-build-system)
554 ("libxml2" ,libxml2)))
556 `(("intltool" ,intltool)
558 ("pkg-config" ,pkg-config)))
559 (home-page "https://glade.gnome.org")
560 (synopsis "GTK+ rapid application development tool")
561 (description "Glade is a rapid application development (RAD) tool to
562 enable quick & easy development of user interfaces for the GTK+ toolkit and
563 the GNOME desktop environment.")
564 (license license:lgpl2.0+)))
566 (define-public libcroco
572 (uri (string-append "mirror://gnome/sources/" name "/"
573 (version-major+minor version) "/"
574 name "-" version ".tar.xz"))
577 "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"))))
578 (build-system gnu-build-system)
580 `(("pkg-config" ,pkg-config)))
585 (home-page "https://github.com/GNOME/libcroco")
586 (synopsis "CSS2 parsing and manipulation library")
588 "Libcroco is a standalone CSS2 parsing and manipulation library.
589 The parser provides a low level event driven SAC-like API and a CSS object
590 model like API. Libcroco provides a CSS2 selection engine and an experimental
591 XML/CSS rendering engine.")
594 (license license:lgpl2.1)))
596 (define-public libgsf
602 (uri (string-append "mirror://gnome/sources/" name "/"
603 (version-major+minor version) "/"
604 name "-" version ".tar.xz"))
607 "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b"))))
608 (build-system gnu-build-system)
610 `(("intltool" ,intltool)
611 ("pkg-config" ,pkg-config)))
617 `(("gdk-pixbuf" ,gdk-pixbuf)
619 ("libxml2" ,libxml2)))
620 (home-page "http://www.gnome.org/projects/libgsf")
621 (synopsis "GNOME's Structured File Library")
623 "Libgsf aims to provide an efficient extensible I/O abstraction for
624 dealing with different structured file formats.")
627 (license license:lgpl2.1)))
629 (define-public librsvg
635 (uri (string-append "mirror://gnome/sources/" name "/"
636 (version-major+minor version) "/"
637 name "-" version ".tar.xz"))
640 "01jgb11779080b80k2ncrhdphgillqrrnszal6vh8yv787r4kwwa"))))
641 (build-system gnu-build-system)
645 'configure 'augment-gir-search-path
646 (lambda* (#:key inputs #:allow-other-keys)
647 (substitute* "gdk-pixbuf-loader/Makefile.in"
648 ;; By default the gdk-pixbuf loader is installed under
649 ;; gdk-pixbuf's prefix. Work around that.
650 (("gdk_pixbuf_moduledir = .*$")
651 (string-append "gdk_pixbuf_moduledir = "
652 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
654 ;; Likewise, create a separate 'loaders.cache' file.
655 (("gdk_pixbuf_cache_file = .*$")
656 "gdk_pixbuf_cache_file = $(gdk_pixbuf_moduledir).cache\n")))
658 'install 'generate-full-cache
659 (lambda* (#:key inputs outputs #:allow-other-keys)
660 (let ((loaders-directory
661 (string-append (assoc-ref outputs "out")
662 "/lib/gdk-pixbuf-2.0/2.10.0/loaders")))
666 "gdk-pixbuf-query-loaders "
667 loaders-directory "/libpixbufloader-svg.so "
668 (string-join (find-files (assoc-ref inputs "gdk-pixbuf")
669 "libpixbufloader-.*\\.so") " ")
670 "> " loaders-directory ".cache")))))
673 `(("pkg-config" ,pkg-config)
674 ("glib" ,glib "bin") ; glib-mkenums, etc.
675 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
678 ("libcroco" ,libcroco)
681 ("libxml2" ,libxml2)))
683 ;; librsvg-2.0.pc refers to all of that.
685 ("gdk-pixbuf" ,gdk-pixbuf)
687 (home-page "https://wiki.gnome.org/LibRsvg")
688 (synopsis "Render SVG files using Cairo")
690 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
692 (license license:lgpl2.0+)))
694 (define-public libidl
700 (uri (let ((upstream-name "libIDL"))
701 (string-append "mirror://gnome/sources/" upstream-name "/"
702 (version-major+minor version) "/"
703 upstream-name "-" version ".tar.bz2")))
706 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
707 (build-system gnu-build-system)
708 (inputs `(("glib" ,glib)))
710 `(("pkg-config" ,pkg-config)
713 (home-page "http://freecode.com/projects/libidl")
714 (synopsis "Create trees of CORBA Interface Definition Language files")
715 (description "Libidl is a library for creating trees of CORBA Interface
716 Definition Language (idl) files, which is a specification for defining
717 portable interfaces. libidl was initially written for orbit (the orb from the
718 GNOME project, and the primary means of libidl distribution). However, the
719 functionality was designed to be as reusable and portable as possible.")
720 (license license:lgpl2.0+)))
723 (define-public orbit2
729 (uri (let ((upstream-name "ORBit2"))
730 (string-append "mirror://gnome/sources/" upstream-name "/"
731 (version-major+minor version) "/"
732 upstream-name "-" version ".tar.bz2")))
734 (base32 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
735 (build-system gnu-build-system)
737 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
738 `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
739 ;; ... which they then completly ignore !!
742 'configure 'ignore-deprecations
744 (substitute* "linc2/src/Makefile.in"
745 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
747 (inputs `(("glib" ,glib)
750 `(("pkg-config" ,pkg-config)))
751 (home-page "https://projects.gnome.org/orbit2/")
752 (synopsis "CORBA 2.4-compliant Object Request Broker")
753 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
754 featuring mature C, C++ and Python bindings.")
755 ;; Licence notice is unclear. The Web page simply say "GPL" without giving a version.
756 ;; SOME of the code files have licence notices for GPLv2+
757 ;; The tarball contains files of the text of GPLv2 and LGPLv2
758 (license license:gpl2+)))
761 (define-public libbonobo
767 (uri (string-append "mirror://gnome/sources/" name "/"
768 (version-major+minor version)
769 "/" name "-" version ".tar.bz2"))
771 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
772 (patches (list (search-patch "libbonobo-activation-test-race.patch")))))
773 (build-system gnu-build-system)
775 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
777 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
778 ;; ... which they then completly ignore !!
781 'configure 'ignore-deprecations
783 (substitute* "activation-server/Makefile.in"
784 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
786 (inputs `(("popt" ,popt)
787 ("libxml2" ,libxml2)))
788 ;; The following are Required by the .pc file
793 `(("intltool" ,intltool)
794 ("pkg-config" ,pkg-config)
795 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
798 (home-page "https://developer.gnome.org/libbonobo/")
799 (synopsis "Framework for creating reusable components for use in GNOME applications")
800 (description "Bonobo is a framework for creating reusable components for
801 use in GNOME applications, built on top of CORBA.")
802 ;; Licence not explicitly stated. Source files contain no licence notices.
803 ;; Tarball contains text of both GPLv2 and LGPLv2
804 ;; GPLv2 covers both conditions
805 (license license:gpl2+)))
815 (let ((upstream-name "GConf"))
816 (string-append "mirror://gnome/sources/" upstream-name "/"
817 (version-major+minor version) "/"
818 upstream-name "-" version ".tar.xz")))
820 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
821 (build-system gnu-build-system)
822 (inputs `(("glib" ,glib)
824 ("dbus-glib" ,dbus-glib)
825 ("libxml2" ,libxml2)))
826 (propagated-inputs `(("orbit2" ,orbit2))) ; referred to in the .pc file
828 `(("intltool" ,intltool)
829 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
830 ("pkg-config" ,pkg-config)))
831 (home-page "https://projects.gnome.org/gconf/")
832 (synopsis "Store application preferences")
833 (description "Gconf is a system for storing application preferences. It
834 is intended for user preferences; not arbitrary data storage.")
835 (license license:lgpl2.0+)))
838 (define-public gnome-mime-data
840 (name "gnome-mime-data")
844 (uri (string-append "mirror://gnome/sources/" name "/"
845 (version-major+minor version) "/"
846 name "-" version ".tar.bz2"))
849 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
850 (build-system gnu-build-system)
853 ("intltool" ,intltool)))
854 (home-page "http://www.gnome.org")
855 (synopsis "Base MIME and Application database for GNOME")
856 (description "GNOME Mime Data is a module which contains the base MIME
857 and Application database for GNOME. The data stored by this module is
858 designed to be accessed through the MIME functions in GnomeVFS.")
859 (license license:gpl2+)))
862 (define-public gnome-vfs
868 (uri (string-append "mirror://gnome/sources/" name "/"
869 (version-major+minor version) "/"
870 name "-" version ".tar.bz2"))
873 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
874 (build-system gnu-build-system)
878 'configure 'ignore-deprecations
880 (substitute* '("libgnomevfs/Makefile.in"
881 "daemon/Makefile.in")
882 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
885 'configure 'patch-test-async-cancel-to-never-fail
887 (substitute* "test/test-async-cancel.c"
888 (("EXIT_FAILURE") "77")))
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")
904 "GnomeVFS is the core library used to access files and folders in GNOME
905 applications. It provides a file system abstraction which allows applications
906 to access local and remote files with a single consistent API.")
907 (license license:lgpl2.0+)))
911 (define-public libgnome
917 (uri (string-append "mirror://gnome/sources/" name "/"
918 (version-major+minor version) "/"
919 name "-" version ".tar.bz2"))
922 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
923 (build-system gnu-build-system)
927 'configure 'enable-deprecated
929 (substitute* "libgnome/Makefile.in"
930 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
932 (inputs `(("popt" ,popt)
933 ("libxml2" ,libxml2)))
935 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
936 ("intltool" ,intltool)
937 ("pkg-config" ,pkg-config)))
938 ;; The following are listed as Required in the .pc file
939 ;; (except for libcanberra -- which seems to be oversight on the part
940 ;; of the upstream developers -- anything that links against libgnome,
941 ;; must also link against libcanberra
943 `(("libcanberra" ,libcanberra)
944 ("libbonobo" ,libbonobo)
946 ("gnome-vfs" ,gnome-vfs)
948 (home-page "https://developer.gnome.org/libgnome/")
949 (synopsis "Useful routines for building applications")
950 (description "The libgnome library provides a number of useful routines
951 for building modern applications, including session management, activation of
952 files and URIs, and displaying help.")
953 (license license:lgpl2.0+)))
956 (define-public libart-lgpl
962 (uri (let ((upstream-name "libart_lgpl"))
963 (string-append "mirror://gnome/sources/" upstream-name "/"
964 (version-major+minor version) "/"
965 upstream-name "-" version ".tar.bz2")))
968 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
969 (build-system gnu-build-system)
971 `(("pkg-config" ,pkg-config)))
972 (home-page "https://people.gnome.org/~mathieu/libart")
973 (synopsis "2D drawing library")
974 (description "Libart is a 2D drawing library intended as a
975 high-quality vector-based 2D library with antialiasing and alpha composition.")
976 (license license:lgpl2.0+)))
980 (define-public libgnomecanvas
982 (name "libgnomecanvas")
986 (uri (string-append "mirror://gnome/sources/" name "/"
987 (version-major+minor version) "/"
988 name "-" version ".tar.gz"))
991 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
992 (build-system gnu-build-system)
993 ;; Mentioned as Required in the .pc file
994 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
997 `(("intltool" ,intltool)
998 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
999 ("pkg-config" ,pkg-config)))
1000 (home-page "https://developer.gnome.org/libgnomecanvas/")
1001 (synopsis "Flexible widget for creating interactive structured graphics")
1002 (description "The GnomeCanvas widget provides a flexible widget for
1003 creating interactive structured graphics.")
1004 (license license:lgpl2.0+)))
1006 (define-public libgnomecanvasmm
1008 (name "libgnomecanvasmm")
1012 (uri (string-append "mirror://gnome/sources/" name "/"
1013 (version-major+minor version) "/"
1014 name "-" version ".tar.bz2"))
1017 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1018 (build-system gnu-build-system)
1019 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1021 `(("gtkmm-2" ,gtkmm-2)
1022 ("pkg-config" ,pkg-config)))
1023 (home-page "http://gtkmm.org")
1024 (synopsis "C++ bindings to the GNOME Canvas library")
1025 (description "C++ bindings to the GNOME Canvas library.")
1026 (license license:lgpl2.0+)))
1028 (define-public libgnomeui
1034 (uri (string-append "mirror://gnome/sources/" name "/"
1035 (version-major+minor version) "/"
1036 name "-" version ".tar.bz2"))
1039 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1040 (build-system gnu-build-system)
1041 ;; Mentioned as Required in the .pc file
1042 (propagated-inputs `(("libgnome" ,libgnome)
1043 ("libgnome-keyring" ,libgnome-keyring)))
1044 (inputs `(("libgnomecanvas" ,libgnomecanvas)
1045 ("libbonoboui" ,libbonoboui)
1046 ("libjpeg" ,libjpeg)
1048 ("libbonobo" ,libbonobo)
1049 ("libxml2" ,libxml2)
1050 ("libglade" ,libglade)))
1052 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1053 ("intltool" ,intltool)
1054 ("pkg-config" ,pkg-config)))
1055 (home-page "https://developer.gnome.org/libgnomeui/")
1056 (synopsis "Additional widgets for applications")
1057 (description "The libgnomeui library provides additional widgets for
1058 applications. Many of the widgets from libgnomeui have already been ported to GTK+.")
1059 (license license:lgpl2.0+)))
1061 (define-public libglade
1067 (uri (string-append "mirror://gnome/sources/" name "/"
1068 (version-major+minor version) "/"
1069 name "-" version ".tar.bz2"))
1072 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1073 (build-system gnu-build-system)
1075 `(("gtk+-2" ,gtk+-2)
1076 ("libxml2" ,libxml2)
1077 ("python" ,python))) ;; needed for the optional libglade-convert program
1079 `(("pkg-config" ,pkg-config)))
1080 (home-page "https://developer.gnome.org/libglade")
1081 (synopsis "Load glade interfaces and access the glade built widgets")
1082 (description "Libglade is a library that provides interfaces for loading
1083 graphical interfaces described in glade files and for accessing the
1084 widgets built in the loading process.")
1085 (license license:gpl2+))) ; This is correct. GPL not LGPL
1087 (define-public libgnomeprint
1088 ;; This library has been deprecated since 2006; see
1089 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
1091 (name "libgnomeprint")
1095 (uri (string-append "mirror://gnome/sources/" name "/"
1096 (version-major+minor version) "/"
1097 name "-" version ".tar.bz2"))
1100 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))
1101 (modules '((guix build utils)))
1103 ;; Adapt to newer freetype. As the package is deprecated, there
1104 ;; is no use in creating a patch and reporting it.
1105 '(substitute* '("libgnomeprint/gnome-font-face.c"
1106 "libgnomeprint/gnome-rfont.c")
1107 (("freetype/") "freetype2/")))))
1108 (build-system gnu-build-system)
1111 ("libart-lgpl" ,libart-lgpl)
1113 ("libxml2" ,libxml2)))
1115 `(("intltool" ,intltool)
1116 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1117 ("pkg-config" ,pkg-config)))
1118 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1119 (synopsis "Printing framework for GNOME")
1121 "GNOME-print was a printing framework for GNOME. It has been deprecated
1122 since ca. 2006, when GTK+ itself incorporated printing support.")
1123 (license license:lgpl2.0+)))
1126 (define-public libgnomeprintui
1127 ;; Deprecated; see libgnomeprint.
1129 (name "libgnomeprintui")
1133 (uri (string-append "mirror://gnome/sources/" name "/"
1134 (version-major+minor version) "/"
1135 name "-" version ".tar.bz2"))
1138 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1139 (build-system gnu-build-system)
1140 ;; Mentioned as Required in the .pc file
1141 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1142 (inputs `(("gtk+" ,gtk+-2)
1144 ("gnome-icon-theme" ,gnome-icon-theme)
1145 ("libgnomecanvas" ,libgnomecanvas)
1146 ("libxml2" ,libxml2)))
1148 `(("intltool" ,intltool)
1149 ("pkg-config" ,pkg-config)))
1150 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1151 (synopsis "Printing framework for GNOME")
1152 (description (package-description libgnomeprint))
1153 (license license:lgpl2.0+)))
1155 (define-public libbonoboui
1157 (name "libbonoboui")
1161 (uri (string-append "mirror://gnome/sources/" name "/"
1162 (version-major+minor version) "/"
1163 name "-" version ".tar.bz2"))
1166 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1167 (build-system gnu-build-system)
1171 'check 'start-xserver
1172 (lambda* (#:key inputs #:allow-other-keys)
1173 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1176 (setenv "HOME" (getcwd))
1177 (setenv "DISPLAY" disp)
1178 ;; There must be a running X server and make check doesn't start one.
1179 ;; Therefore we must do it.
1180 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1182 ;; Mentioned as Required by the .pc file
1183 (propagated-inputs `(("libxml2" ,libxml2)))
1186 ("pangox-compat" ,pangox-compat)
1187 ("libgnome" ,libgnome)
1188 ("libgnomecanvas" ,libgnomecanvas)
1189 ("libglade" ,libglade)))
1191 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1192 ("intltool" ,intltool)
1193 ("xorg-server" ,xorg-server) ; For running the tests
1194 ("pkg-config" ,pkg-config)))
1195 (home-page "https://developer.gnome.org/libbonoboui/")
1196 (synopsis "Some user interface controls using Bonobo")
1197 (description "The Bonobo UI library provides a number of user interface
1198 controls using the Bonobo component framework.")
1199 (license license:lgpl2.0+)))
1201 (define-public libwnck
1207 (uri (string-append "mirror://gnome/sources/" name "/"
1208 (version-major+minor version) "/"
1209 name "-" version ".tar.xz"))
1211 (base32 "074jww04z8g9r1acndqap79wx4kbm3rpkf4lcg1v82b66iv0027m"))))
1212 (build-system gnu-build-system)
1214 `(("pkg-config" ,pkg-config)
1215 ("intltool" ,intltool)))
1218 ("libxres" ,libxres)
1219 ("startup-notification" ,startup-notification)))
1220 (home-page "https://developer.gnome.org/libwnck/")
1221 (synopsis "Window Navigator Construction Kit")
1223 "Libwnck is the Window Navigator Construction Kit, a library for use in
1224 writing pagers, tasklists, and more generally applications that are dealing
1225 with window management. It tries hard to respect the Extended Window Manager
1226 Hints specification (EWMH).")
1227 (license license:lgpl2.0+)))
1229 ;; stable version for gtk2, required by xfwm4.
1230 (define-public libwnck-1
1231 (package (inherit libwnck)
1236 (uri (string-append "mirror://gnome/sources/" name "/"
1237 (version-major+minor version) "/"
1238 name "-" version ".tar.xz"))
1241 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
1244 ("libxres" ,libxres)
1245 ("startup-notification" ,startup-notification)))))
1247 (define-public goffice
1253 (uri (string-append "mirror://gnome/sources/" name "/"
1254 (version-major+minor version) "/"
1255 name "-" version ".tar.xz"))
1257 (base32 "0kj0iwng6w4axm7yv2zy7myn5dhw5ilrlq2pzrjlm9i852ikqy60"))))
1258 (build-system gnu-build-system)
1262 ("librsvg" ,librsvg)
1263 ("libxslt" ,libxslt)
1264 ("libxml2" ,libxml2)))
1266 `(("intltool" ,intltool)
1267 ("glib" ,glib "bin")
1268 ("pkg-config" ,pkg-config)))
1269 (home-page "https://developer.gnome.org/goffice/")
1270 (synopsis "Document-centric objects and utilities")
1271 (description "A GLib/GTK+ set of document-centric objects and utilities.")
1273 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1275 (list license:gpl2 license:gpl3))))
1277 (define-public gnumeric
1283 (uri (string-append "mirror://gnome/sources/" name "/"
1284 (version-major+minor version) "/"
1285 name "-" version ".tar.xz"))
1288 "18bvc3phghr4p5440fp8hm6gvp53d3mqs9cyc637zpmk0b6bcp7c"))))
1289 (build-system gnu-build-system)
1291 `(;; The gnumeric developers don't worry much about failing tests.
1292 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
1296 'configure 'pre-conf
1297 (lambda* (#:key outputs #:allow-other-keys)
1298 ;; Make install tries to write into the directory of goffice
1299 ;; I am informed that this only affects the possibility to embed a
1300 ;; spreadsheet inside an Abiword document. So presumably when we
1301 ;; package Abiword we'll have to refer it to this directory.
1302 (substitute* "configure"
1303 (("^GOFFICE_PLUGINS_DIR=.*")
1304 (string-append "GOFFICE_PLUGINS_DIR="
1305 (assoc-ref outputs "out") "/goffice/plugins"))))
1310 ("goffice" ,goffice)
1312 ("libxml2" ,libxml2)
1315 `(("intltool" ,intltool)
1316 ("glib:bin" ,glib "bin")
1317 ("pkg-config" ,pkg-config)))
1318 (home-page "http://www.gnumeric.org")
1319 (synopsis "Spreadsheet application")
1321 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1322 interoperable with other spreadsheet applications. It has a vast array of
1323 features beyond typical spreadsheet functionality, such as support for linear
1324 and non-linear solvers, statistical analysis, and telecommunication
1327 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1328 (list license:gpl2 license:gpl3))))
1330 (define-public gnome-themes-standard
1332 (name "gnome-themes-standard")
1333 ;; The version of this package should be the same as the version of
1335 (version (package-version gnome-desktop))
1339 (uri (string-append "mirror://gnome/sources/" name "/"
1340 (version-major+minor version) "/" name "-"
1344 "0kyrbfrgl6g6wm6zpllldz36fclvl8vwmn1snwk18kf7f6ncpsac"))))
1345 (build-system gnu-build-system)
1349 ("librsvg" ,librsvg)
1350 ("libxml2" ,libxml2)
1353 `(("intltool" ,intltool)
1354 ("glib:bin" ,glib "bin")
1355 ("pkg-config" ,pkg-config)))
1359 'build 'use-full-cache
1360 ;; Use librsvg's loaders.cache instead of the one provided by
1361 ;; gdk-pixbuf because the latter does not include support for SVG
1363 (lambda* (#:key inputs #:allow-other-keys)
1364 (setenv "GDK_PIXBUF_MODULE_FILE"
1365 (car (find-files (assoc-ref inputs "librsvg")
1366 "loaders\\.cache"))))
1368 (home-page "https://launchpad.net/gnome-themes-standard")
1369 (synopsis "Default GNOME 3 themes")
1371 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
1372 (license license:lgpl2.1+)))
1380 (uri (string-append "mirror://gnome/sources/" name "/"
1381 (version-major+minor version) "/"
1382 name "-" version ".tar.xz"))
1385 "0swyym2papln0f62ah05dpvq3vv6fssap26jq2zqp9dkkaqsn1w4"))))
1386 (build-system gnu-build-system)
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
1428 (home-page "http://www.gnome.org/")
1429 (synopsis "Virtual Terminal Emulator")
1431 "VTE is a library (libvte) implementing a terminal emulator widget for
1432 GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
1433 gnome-terminal, but can also be used to embed a console/terminal in games,
1434 editors, IDEs, etc.")
1435 (license license:lgpl2.1+)))
1437 ;; stable version for gtk2, required by xfce4-terminal.
1438 (define-public vte/gtk+-2
1439 (package (inherit vte)
1444 (uri (string-append "mirror://gnome/sources/" name "/"
1445 (version-major+minor version) "/"
1446 name "-" version ".tar.xz"))
1449 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))))
1451 '(#:configure-flags '("--disable-python")))
1453 `(("pkg-config" ,pkg-config)
1454 ("intltool" ,intltool)
1455 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
1457 `(("gtk+" ,gtk+-2) ; required by libvte.pc
1458 ("ncurses" ,ncurses))))) ; required by libvte.la
1460 (define-public dconf
1467 "mirror://gnome/sources/" name "/"
1468 (version-major+minor version) "/"
1469 name "-" version ".tar.xz"))
1471 (base32 "13jb49504bir814v8n8vjip5sazwfwsrnniw87cpg7phqfq7q9qa"))))
1472 (build-system glib-or-gtk-build-system)
1477 ("libxml2" ,libxml2)))
1479 `(("libxslt" ,libxslt)
1480 ("docbook-xml" ,docbook-xml-4.2)
1481 ("docbook-xsl" ,docbook-xsl)
1482 ("intltool" ,intltool)
1483 ("pkg-config" ,pkg-config)))
1485 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
1486 ; or /etc/machine-id.
1488 ;; Set the correct RUNPATH in binaries.
1489 (list (string-append "LDFLAGS=-Wl,-rpath="
1490 (assoc-ref %outputs "out") "/lib")
1491 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
1494 'configure 'fix-docbook
1495 (lambda* (#:key inputs #:allow-other-keys)
1496 (substitute* "docs/Makefile.in"
1497 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1498 (string-append (assoc-ref inputs "docbook-xsl")
1499 "/xml/xsl/docbook-xsl-"
1500 ,(package-version docbook-xsl)
1501 "/manpages/docbook.xsl")))
1502 (setenv "XML_CATALOG_FILES"
1503 (string-append (assoc-ref inputs "docbook-xml")
1504 "/xml/dtd/docbook/catalog.xml")))
1506 (home-page "https://developer.gnome.org/dconf")
1507 (synopsis "Low-level GNOME configuration system")
1508 (description "Dconf is a low-level configuration system. Its main purpose
1509 is to provide a backend to GSettings on platforms that don't already have
1510 configuration storage systems.")
1511 (license license:lgpl2.1)))
1513 (define-public json-glib
1519 (uri (string-append "mirror://gnome/sources/" name "/"
1520 (version-major+minor version) "/"
1521 name "-" version ".tar.xz"))
1524 "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8"))))
1525 (build-system gnu-build-system)
1527 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
1528 ("gobject-introspection" ,gobject-introspection)
1529 ("pkg-config" ,pkg-config)))
1531 `(("glib" ,glib))) ;according to json-glib-1.0.pc
1532 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
1533 (synopsis "Compiler for the GObject type system")
1534 (description "JSON-GLib is a C library based on GLib providing
1535 serialization and deserialization support for the JavaScript Object Notation
1536 (JSON) format described by RFC 4627. It provides parser and generator
1537 GObject classes and various wrappers for the complex data types employed by
1538 JSON, such as arrays and objects.")
1539 (license license:lgpl2.1+)))
1541 (define-public libxklavier
1543 (name "libxklavier")
1547 (uri (string-append "mirror://gnome/sources/" name "/"
1548 version "/" name "-" version ".tar.xz"))
1551 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
1552 (build-system gnu-build-system)
1555 (list (string-append "--with-xkb-base="
1556 (assoc-ref %build-inputs "xkeyboard-config")
1557 "/share/X11/xkb"))))
1559 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
1560 ("gobject-introspection" ,gobject-introspection)
1561 ("pkg-config" ,pkg-config)))
1563 ;; Required by libxklavier.pc.
1565 ("libxml2" ,libxml2)))
1567 `(("iso-codes" ,iso-codes)
1569 ("libxkbfile" ,libxkbfile)
1570 ("xkbcomp" ,xkbcomp)
1571 ("xkeyboard-config" ,xkeyboard-config)))
1572 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
1573 (synopsis "High-level API for X Keyboard Extension")
1575 "LibXklavier is a library providing high-level API for X Keyboard
1576 Extension known as XKB. This library is indended to support XFree86 and other
1577 commercial X servers. It is useful for creating XKB-related software (layout
1579 (license license:lgpl2.0+)))
1581 (define-public python2-rsvg
1582 ;; XXX: This is actually a subset of gnome-python-desktop.
1584 (name "python2-rsvg")
1590 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
1591 version ".tar.bz2"))
1594 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
1595 (build-system gnu-build-system)
1597 `(("pkg-config" ,pkg-config)))
1599 `(("python" ,python-2)
1600 ("python2-pygtk" ,python2-pygtk)
1601 ("librsvg" ,librsvg)))
1602 (home-page "http://www.gnome.org")
1603 (synopsis "Python bindings to librsvg")
1605 "This packages provides Python bindings to librsvg, the SVG rendering
1608 ;; This is the license of the rsvg bindings. The license of each module
1609 ;; of gnome-python-desktop is given in 'COPYING'.
1610 (license license:lgpl2.1+)))
1612 (define-public glib-networking
1614 (name "glib-networking")
1618 (uri (string-append "mirror://gnome/sources/glib-networking/"
1619 (version-major+minor version) "/"
1620 name "-" version ".tar.xz"))
1623 "0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg"))))
1624 (build-system gnu-build-system)
1627 ;; FIXME: ca-certificates.crt is not available in the build environment.
1628 '("--with-ca-certificates=no")
1630 (modify-phases %standard-phases
1631 (add-before 'configure 'patch-giomoduledir
1632 ;; Install GIO modules into $out/lib/gio/modules.
1634 (substitute* "configure"
1635 (("GIO_MODULE_DIR=.*")
1636 (string-append "GIO_MODULE_DIR=" %output
1637 "/lib/gio/modules\n"))))))))
1639 `(("pkg-config" ,pkg-config)
1640 ("intltool" ,intltool)))
1644 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1645 ("p11-kit" ,p11-kit)))
1646 (home-page "http://www.gnome.org")
1647 (synopsis "Network-related GIO modules")
1649 "This package contains various network related extensions for the GIO
1651 (license license:lgpl2.0+)))
1653 (define-public libsoup
1659 (uri (string-append "mirror://gnome/sources/libsoup/"
1660 (version-major+minor version) "/"
1661 name "-" version ".tar.xz"))
1664 "0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y"))))
1665 (build-system gnu-build-system)
1666 (outputs '("out" "doc"))
1669 (list (string-append "--with-html-dir="
1670 (assoc-ref %outputs "doc")
1671 "/share/gtk-doc/html")
1672 ;; To find GIO modules from glib-networking.
1673 (string-append "GIO_EXTRA_MODULES="
1674 (assoc-ref %build-inputs "glib-networking")
1675 "/lib/gio/modules"))
1677 (modify-phases %standard-phases
1678 (add-before 'configure 'disable-unconnected-socket-test
1679 ;; This test fails due to missing /etc/nsswitch.conf
1680 ;; in the build environment.
1682 (substitute* "tests/socket-test.c"
1683 ((".*/sockets/unconnected.*") ""))
1685 (add-before 'check 'unset-LC_ALL
1686 ;; The 'check-local' target runs 'env LANG=C sort -u',
1687 ;; unset 'LC_ALL' to make 'LANG' working.
1692 `(("glib:bin" ,glib "bin") ; for glib-mkenums
1693 ("gobject-introspection" ,gobject-introspection)
1694 ("intltool" ,intltool)
1695 ("pkg-config" ,pkg-config)
1696 ("python" ,python-wrapper)
1697 ;; These are needed for the tests.
1698 ;; FIXME: Add PHP once available.
1702 ;; libsoup-2.4.pc refers to all these.
1704 ("libxml2" ,libxml2)))
1706 `(("glib-networking" ,glib-networking)
1707 ("sqlite" ,sqlite)))
1708 (home-page "https://live.gnome.org/LibSoup/")
1709 (synopsis "GLib-based HTTP Library")
1711 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
1712 and the GLib main loop, to integrate well with GNOME applications.")
1713 (license license:lgpl2.0+)))
1715 (define-public libsecret
1722 "mirror://gnome/sources/libsecret/" version "/"
1723 name "-" version ".tar.xz"))
1726 "1qq29c01xxjyx5sl6y5h22w8r0ff4c73bph3gfx3h7mx5mvalwqc"))))
1727 (build-system gnu-build-system)
1728 (outputs '("out" "doc"))
1730 `(#:tests? #f ; FIXME: Testing hangs.
1732 (list (string-append "--with-html-dir="
1733 (assoc-ref %outputs "doc")
1734 "/share/gtk-doc/html"))))
1736 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
1737 ("gobject-introspection" ,gobject-introspection)
1738 ("intltool" ,intltool)
1739 ("pkg-config" ,pkg-config)
1741 ("xsltproc" ,libxslt)))
1742 ;; These are needed for the tests.
1743 ;; FIXME: Add gjs once available.
1745 ;("python2" ,python-2)
1746 ;("python2-dbus" ,python2-dbus)
1747 ;("python2-pygobject" ,python2-pygobject)
1748 ;("python2-pygobject-2" ,python2-pygobject-2)))
1750 `(("glib" ,glib))) ; required by libsecret-1.pc
1752 `(("docbook-xsl" ,docbook-xsl)
1753 ("libgcrypt" ,libgcrypt)
1754 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
1755 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
1756 (synopsis "GObject bindings for \"Secret Service\" API")
1758 "Libsecret is a GObject based library for storing and retrieving passwords
1759 and other secrets. It communicates with the \"Secret Service\" using DBus.")
1760 (license license:lgpl2.1+)))
1762 (define-public gnome-mines
1764 (name "gnome-mines")
1769 (uri (string-append "mirror://gnome/sources/" name "/"
1770 (version-major+minor version) "/"
1771 name "-" version ".tar.xz"))
1774 "0wfvqyryc1093l4dr75zv9h0jyn28z6wirdq03lm5w24qf9lvjjx"))))
1775 (build-system glib-or-gtk-build-system)
1778 (modify-phases %standard-phases
1779 (add-before 'configure 'patch-/bin/true
1781 (substitute* "configure"
1782 (("/bin/true") (which "true")))))
1783 (add-after 'install 'wrap-pixbuf
1784 ;; Use librsvg's loaders.cache to support SVG files.
1785 (lambda* (#:key inputs outputs #:allow-other-keys)
1786 (let* ((out (assoc-ref outputs "out"))
1787 (prog (string-append out "/bin/gnome-mines"))
1788 (rsvg (assoc-ref inputs "librsvg"))
1789 (pixbuf (find-files rsvg "^loaders\\.cache$")))
1791 `("GDK_PIXBUF_MODULE_FILE" = ,pixbuf))))))))
1793 `(("pkg-config" ,pkg-config)
1794 ("desktop-file-utils" ,desktop-file-utils)
1795 ("intltool" ,intltool)
1796 ("itstool" ,itstool)))
1799 ("librsvg" ,librsvg)))
1800 (home-page "https://wiki.gnome.org/Apps/Mines")
1801 (synopsis "Minesweeper game")
1803 "Mines (previously gnomine) is a puzzle game where you locate mines
1804 floating in an ocean using only your brain and a little bit of luck.")
1805 (license license:gpl2+)))
1807 (define-public gnome-terminal
1809 (name "gnome-terminal")
1814 (uri (string-append "mirror://gnome/sources/" name "/"
1815 (version-major+minor version) "/"
1816 name "-" version ".tar.xz"))
1819 "1s3zwqxs4crlqmh6l7s7n87pbmh2nnjdvhxlkalh58pbl0bk0qrd"))))
1820 (build-system glib-or-gtk-build-system)
1823 (list "--disable-migration" "--disable-search-provider"
1824 "--without-nautilus-extension")
1826 (modify-phases %standard-phases
1827 (add-before 'configure 'patch-/bin/true
1829 (substitute* "configure"
1830 (("/bin/true") (which "true"))))))))
1832 `(("pkg-config" ,pkg-config)
1833 ("desktop-file-utils" ,desktop-file-utils)
1834 ("intltool" ,intltool)
1835 ("itstool" ,itstool)))
1841 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1842 ("util-linux" ,util-linux)
1844 (home-page "https://wiki.gnome.org/Apps/Terminal")
1845 (synopsis "Terminal emulator")
1847 "GNOME Terminal is a terminal emulator application for accessing a
1848 UNIX shell environment which can be used to run programs available on
1851 It supports several profiles, multiple tabs and implements several
1852 keyboard shortcuts.")
1853 (license license:gpl3+)))
1855 (define-public colord
1862 (uri (string-append "http://www.freedesktop.org/software/colord/releases/"
1863 name "-" version ".tar.xz"))
1866 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
1867 (build-system glib-or-gtk-build-system)
1869 '(;; The tests want to run valgrind. Punt for now.
1871 #:configure-flags (list "--localstatedir=/var"
1872 ;; GUSB not packaged yet.
1874 ;; No dep on systemd.
1875 "--disable-systemd-login"
1876 ;; Wants to install to global completion dir;
1878 "--disable-bash-completion"
1879 ;; colord-gtk not packaged yet.
1880 "--disable-session-example"
1881 "--with-daemon-user=colord"
1883 (string-append "--with-udevrulesdir="
1884 (assoc-ref %outputs "out")
1885 "/lib/udev/rules.d"))
1887 (modify-phases %standard-phases
1888 (add-before 'configure 'patch-/bin/true
1890 (substitute* "configure"
1891 (("/bin/true") (which "true")))
1892 (substitute* "src/Makefile.in"
1893 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
1894 "if test -w $(DESTDIR)$(localstatedir);")))))))
1896 `(("pkg-config" ,pkg-config)
1897 ("gobject-introspection" ,gobject-introspection)
1898 ("libtool" ,libtool)
1899 ("intltool" ,intltool)))
1903 ("dbus-glib" ,dbus-glib)
1908 ("sane-backends" ,sane-backends)))
1909 (home-page "http://www.freedesktop.org/software/colord/")
1910 (synopsis "Color management service")
1911 (description "Colord is a system service that makes it easy to manage,
1912 install and generate color profiles to accurately color manage input and
1914 (license license:gpl2+)))
1916 (define-public geoclue
1923 (uri (string-append "http://www.freedesktop.org/software/" name
1924 "/releases/" (version-major+minor version) "/"
1925 name "-" version ".tar.xz"))
1928 "0s0ws2bx5g1cbjamxmm448r4n4crha2fwpzm8zbx6cq6qslygmzi"))
1929 (patches (list (search-patch "geoclue-config.patch")))))
1930 (build-system glib-or-gtk-build-system)
1932 '(;; The tests want to run the system bus.
1934 #:configure-flags (list ;; Disable bits requiring ModemManager.
1935 "--disable-3g-source"
1936 "--disable-cdma-source"
1937 "--disable-modem-gps-source"
1938 "--with-dbus-service-user=geoclue")
1940 (modify-phases %standard-phases
1941 (add-before 'configure 'patch-/bin/true
1943 (substitute* "configure"
1944 (("/bin/true") (which "true"))))))))
1946 `(("pkg-config" ,pkg-config)
1947 ("intltool" ,intltool)))
1950 ("json-glib" ,json-glib)
1951 ("libsoup" ,libsoup)))
1952 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
1953 (synopsis "Geolocation service")
1954 (description "Geoclue is a D-Bus service that provides location
1955 information. The primary goal of the Geoclue project is to make creating
1956 location-aware applications as simple as possible, while the secondary goal is
1957 to ensure that no application can access location information without explicit
1958 permission from user. ")
1959 (license license:gpl2+)))
1961 (define-public geocode-glib
1963 (name "geocode-glib")
1967 (uri (string-append "mirror://gnome/sources/geocode-glib/"
1968 (version-major+minor version) "/"
1969 name "-" version ".tar.xz"))
1972 "1cbfv0kds6b6k0cl7q47xpj3x1scwcd7m68zl1rf7i4hmhw4hpqj"))))
1973 (build-system gnu-build-system)
1975 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
1976 ;; work for the builder. Punt.
1980 `(("glib:bin" ,glib "bin") ; for glib-mkenums
1981 ("gobject-introspection" ,gobject-introspection)
1982 ("pkg-config" ,pkg-config)
1983 ("json-glib" ,json-glib)))
1985 ;; geocode-glib-1.0.pc refers to GIO.
1988 `(("libsoup" ,libsoup)))
1989 (home-page "https://github.com/GNOME/geocode-glib/")
1990 (synopsis "Geocoding and reverse-geocoding library")
1992 "geocode-glib is a convenience library for geocoding (finding longitude,
1993 and latitude from an address) and reverse geocoding (finding an address from
1994 coordinates) using the Nominatim service. geocode-glib caches requests for
1995 faster results and to avoid unnecessary server load.")
1996 (license license:lgpl2.0+)))
1998 (define-public upower
2004 (uri (string-append "http://upower.freedesktop.org/releases/"
2005 name "-" version ".tar.xz"))
2008 "0vwlh20jmaf01m38kfn8yx2869a3clmkzlycrj99rf4nvwx4bp79"))
2009 (patches (list (search-patch "upower-builddir.patch")))))
2010 (build-system glib-or-gtk-build-system)
2012 '( ;; The tests want to contact the system bus, which can't be done in the
2013 ;; build environment. The integration test can run, but the last of
2014 ;; the up-self-tests doesn't. Disable tests for now.
2016 #:configure-flags (list "--localstatedir=/var"
2017 (string-append "--with-udevrulesdir="
2018 (assoc-ref %outputs "out")
2019 "/lib/udev/rules.d"))
2021 (modify-phases %standard-phases
2022 (add-before 'configure 'patch-/bin/true
2024 (substitute* "configure"
2025 (("/bin/true") (which "true")))))
2026 (add-before 'configure 'patch-integration-test
2028 (substitute* "src/linux/integration-test"
2029 (("/usr/bin/python3") (which "python3"))))))))
2031 `(("pkg-config" ,pkg-config)
2032 ("intltool" ,intltool)
2033 ("python" ,python)))
2037 ("dbus-glib" ,dbus-glib)
2038 ("libusb" ,libusb)))
2039 (home-page "http://upower.freedesktop.org/")
2040 (synopsis "System daemon for managing power devices")
2042 "UPower is an abstraction for enumerating power devices,
2043 listening to device events and querying history and statistics. Any
2044 application or service on the system can access the org.freedesktop.UPower
2045 service via the system message bus.")
2046 (license license:gpl2+)))
2048 (define-public libgweather
2050 (name "libgweather")
2054 (uri (string-append "mirror://gnome/sources/" name "/"
2055 (version-major+minor version) "/"
2056 name "-" version ".tar.xz"))
2059 "0x1z6wv7hdw2ivlkifcbd940zyrnvqvc4zh2drgvd2r6jmd7bjza"))))
2060 (build-system gnu-build-system)
2062 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2063 ;; work for the builder. Punt.
2066 `(;; No introspection for now, as it wants to install to
2067 ;; gobject-introspection's own directory and I don't know how to easily
2069 "--enable-introspection=no"
2070 ,(string-append "--with-zoneinfo-dir="
2071 (assoc-ref %build-inputs "tzdata")
2072 "/share/zoneinfo"))))
2074 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2075 ("pkg-config" ,pkg-config)
2076 ("intltool" ,intltool)))
2078 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2081 ("gdk-pixbuf" ,gdk-pixbuf)
2082 ("libxml2" ,libxml2)
2083 ("libsoup" ,libsoup)))
2085 `(("tzdata" ,tzdata)
2086 ("geocode-glib" ,geocode-glib)))
2087 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2088 (synopsis "Location, time zone, and weather library for GNOME")
2090 "libgweather is a library to access weather information from online
2091 services for numerous locations.")
2092 (license license:gpl2+)))
2094 (define-public gnome-settings-daemon
2096 (name "gnome-settings-daemon")
2101 (uri (string-append "mirror://gnome/sources/" name "/"
2102 (version-major+minor version) "/"
2103 name "-" version ".tar.xz"))
2106 "1w29x2izq59125ga5ncmmaklc8kw7x7rdn6swn26bs23mah1r1g3"))))
2107 (build-system glib-or-gtk-build-system)
2109 `(;; Network manager not yet packaged.
2110 #:configure-flags '("--disable-network-manager")
2111 ;; Color management test can't reach the colord system service.
2114 `(("pkg-config" ,pkg-config)
2115 ("intltool" ,intltool)
2116 ("xsltproc" ,libxslt)
2117 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
2118 ("docbook-xml" ,docbook-xml-4.2)
2119 ("docbook-xsl" ,docbook-xsl)))
2121 `(("colord" ,colord)
2125 ("pulseaudio" ,pulseaudio)
2126 ("libcanberra" ,libcanberra)
2128 ("libxtst" ,libxtst)
2130 ("libnotify" ,libnotify)
2131 ("geoclue" ,geoclue)
2132 ("geocode-glib" ,geocode-glib)
2133 ("libgweather" ,libgweather)
2134 ("gnome-desktop" ,gnome-desktop)
2137 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2138 ("libwacom" ,libwacom)
2139 ("librsvg" ,librsvg)
2140 ("xf86-input-wacom" ,xf86-input-wacom)))
2141 (home-page "http://www.gnome.org")
2142 (synopsis "GNOME settings daemon")
2144 "This package contains the daemon responsible for setting the various
2145 parameters of a GNOME session and the applications that run under it. It
2146 handles settings such keyboard layout, shortcuts, and accessibility, clipboard
2147 settings, themes, mouse settings, and startup of other daemons.")
2148 (license license:gpl2+)))