1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
6 ;;; This file is part of GNU Guix.
8 ;;; GNU Guix is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
13 ;;; GNU Guix is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;;; GNU General Public License for more details.
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 (define-module (gnu packages gnome)
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix utils)
26 #:use-module (guix build-system gnu)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages bison)
29 #:use-module (gnu packages flex)
30 #:use-module (gnu packages docbook)
31 #:use-module (gnu packages glib)
32 #:use-module (gnu packages gnupg)
33 #:use-module (gnu packages gstreamer)
34 #:use-module (gnu packages gtk)
35 #:use-module (gnu packages pdf)
36 #:use-module (gnu packages popt)
37 #:use-module (gnu packages ghostscript)
38 #:use-module (gnu packages iso-codes)
39 #:use-module (gnu packages libcanberra)
40 #:use-module (gnu packages image)
41 #:use-module (gnu packages perl)
42 #:use-module (gnu packages pkg-config)
43 #:use-module (gnu packages python)
44 #:use-module (gnu packages xml)
45 #:use-module (gnu packages gl)
46 #:use-module (gnu packages compression)
47 #:use-module (gnu packages xorg))
49 (define-public brasero
55 (uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
59 "1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
60 (build-system gnu-build-system)
62 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
64 `(("intltool" ,intltool)
65 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
66 ("pkg-config" ,pkg-config)))
69 ("gnome-doc-utils" ,gnome-doc-utils)
70 ("gstreamer" ,gstreamer)
71 ("gst-plugins-base" ,gst-plugins-base)
74 ("libcanberra" ,libcanberra)
76 ("libnotify" ,libnotify)
78 ("libxml2" ,libxml2)))
79 (home-page "https://projects.gnome.org/brasero/")
80 (synopsis "CD/DVD burning tool for Gnome")
81 (description "Brasero is an application to burn CD/DVD for the Gnome
82 Desktop. It is designed to be as simple as possible and has some unique
83 features to enable users to create their discs easily and quickly.")
84 (license license:gpl2+)))
86 (define-public gnome-desktop
88 (name "gnome-desktop")
93 (uri (string-append "mirror://gnome/sources/" name "/3.10/"
94 name "-" version ".tar.xz"))
97 "0p5p6wvmy5zvcdnmp5h2biz7rjrcw99chq5kkwcnb68flcmkb1ry"))))
98 (build-system gnu-build-system)
100 `(("intltool" ,intltool)
101 ("pkg-config" ,pkg-config)))
103 `(("gdk-pixbuf" ,gdk-pixbuf)
105 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
107 ("iso-codes" ,iso-codes)
111 ("libxkbfile" ,libxkbfile)
112 ("libxrandr" ,libxrandr)
113 ("xkeyboard-config" ,xkeyboard-config)))
114 (home-page "https://www.gnome.org/")
116 "Libgnome-desktop, gnome-about, and desktop-wide documents")
118 "The libgnome-desktop library provides API shared by several applications
119 on the desktop, but that cannot live in the platform for various reasons.
120 There is no API or ABI guarantee, although we are doing our best to provide
121 stability. Documentation for the API is available with gtk-doc.
123 The gnome-about program helps find which version of GNOME is installed.")
124 ; Some bits under the LGPL.
125 (license license:gpl2+)))
127 (define-public gnome-doc-utils
129 (name "gnome-doc-utils")
134 (uri (string-append "mirror://gnome/sources/" name "/0.20/"
135 name "-" version ".tar.xz"))
138 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
139 (build-system gnu-build-system)
144 (lambda* (#:key inputs #:allow-other-keys #:rest args)
145 ;; This is needed, because without it, xmlint etc tries
146 ;; to download docbookx.dtd from the net
147 (setenv "XML_CATALOG_FILES"
148 (string-append (assoc-ref inputs "docbook-xml")
149 "/xml/dtd/docbook/catalog.xml")))
152 `(("intltool" ,intltool)
153 ("docbook-xml" ,docbook-xml-4.4)
156 ("pkg-config" ,pkg-config)
157 ("python-2" ,python-2)))
158 (home-page "https://wiki.gnome.org/GnomeDocUtils")
160 "Documentation utilities for the Gnome project")
162 "Gnome-doc-utils is a collection of documentation utilities for the
163 Gnome project. It includes xml2po tool which makes it easier to translate
164 and keep up to date translations of documentation.")
165 (license license:gpl2+))) ; xslt under lgpl
167 (define-public libgnome-keyring
169 (name "libgnome-keyring")
174 "mirror://gnome/sources/libgnome-keyring/3.6/libgnome-keyring-"
179 "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
180 (build-system gnu-build-system)
182 `(("libgcrypt" ,libgcrypt)
185 `(("pkg-config" ,pkg-config)
187 ("intltool" ,intltool)))
189 ;; Referred to in .h files and .pc.
191 (home-page "http://www.gnome.org")
192 (synopsis "Accessing passwords from the GNOME keyring")
194 "Client library to access passwords from the GNOME keyring.")
196 ;; Though a couple of files are LGPLv2.1+.
197 (license license:lgpl2.0+)))
199 (define-public evince
205 (uri (string-append "mirror://gnome/sources/evince/3.6/evince-"
209 "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
210 (build-system gnu-build-system)
212 `(#:configure-flags '("--disable-nautilus")
214 ;; FIXME: Tests fail with:
215 ;; ImportError: No module named gi.repository
216 ;; Where should that module come from?
219 #:phases (alist-cons-after
220 'install 'set-mime-search-path
221 (lambda* (#:key inputs outputs #:allow-other-keys)
222 ;; Wrap 'evince' so that it knows where MIME info is.
223 (let ((out (assoc-ref outputs "out"))
224 (mime (assoc-ref inputs "shared-mime-info")))
225 (wrap-program (string-append out "/bin/evince")
226 `("XDG_DATA_DIRS" ":" prefix
227 ,(list (string-append mime "/share")
228 (string-append out "/share"))))))
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)
250 ("dogtail" ,python2-dogtail)))
252 `(("intltool" ,intltool)
254 ("pkg-config" ,pkg-config)))
256 "http://www.gnome.org/projects/evince/")
257 (synopsis "GNOME's document viewer")
259 "Evince is a document viewer for multiple document formats. It
260 currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
261 of Evince is to replace the multiple document viewers that exist
262 on the GNOME Desktop with a single simple application.")
263 (license license:gpl2+)))
265 (define-public gsettings-desktop-schemas
267 (name "gsettings-desktop-schemas")
272 (uri (string-append "mirror://gnome/sources/" name "/"
273 (string-copy version 0 (string-rindex version #\.)) "/"
274 name "-" version ".tar.xz"))
277 "1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a"))))
278 (build-system gnu-build-system)
282 `(("intltool" ,intltool)
283 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
284 ("pkg-config" ,pkg-config)))
285 (home-page "https://launchpad.net/gsettings-desktop-schemas")
287 "GNOME settings for various desktop components")
289 "Gsettings-desktop-schemas contains a collection of GSettings schemas
290 for settings shared by various components of the GNOME desktop.")
291 (license license:lgpl2.1+)))
293 (define-public icon-naming-utils
295 (name "icon-naming-utils")
300 (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
304 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
305 (build-system gnu-build-system)
308 ("perl-xml-simple" ,perl-xml-simple)))
309 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
311 "Utility to implement the Freedesktop Icon Naming Specification")
313 "To help with the transition to the Freedesktop Icon Naming
314 Specification, the icon naming utility maps the icon names used by the
315 GNOME and KDE desktops to the icon names proposed in the specification.")
316 (license license:lgpl2.1+)))
318 (define-public gnome-icon-theme
320 (name "gnome-icon-theme")
325 (uri (string-append "mirror://gnome/sources/" name "/"
326 (string-copy version 0 (string-rindex version #\.)) "/"
327 name "-" version ".tar.xz"))
330 "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
331 (build-system gnu-build-system)
334 ("icon-naming-utils" ,icon-naming-utils)))
336 `(("intltool" ,intltool)
337 ("pkg-config" ,pkg-config)))
338 (home-page "http://art.gnome.org/")
342 "Icons for the GNOME desktop.")
343 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
345 (define-public shared-mime-info
347 (name "shared-mime-info")
351 (uri (string-append "http://freedesktop.org/~hadess/shared-mime-info-"
355 "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
356 (build-system gnu-build-system)
358 ;; The build system appears not to be parallel-safe.
359 '(#:parallel-build? #f))
362 ("libxml2" ,libxml2)))
364 `(("intltool" ,intltool)
365 ("pkg-config" ,pkg-config)))
366 (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
367 (synopsis "Database of common MIME types")
369 "The shared-mime-info package contains the core database of common types
370 and the update-mime-database command used to extend it. It requires glib2 to
371 be installed for building the update command. Additionally, it uses intltool
372 for translations, though this is only a dependency for the maintainers. This
373 database is translated at Transifex.")
374 (license license:gpl2+)))
376 (define-public hicolor-icon-theme
378 (name "hicolor-icon-theme")
383 (uri (string-append "http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-"
387 "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
388 (build-system gnu-build-system)
390 `(#:tests? #f)) ; no check target
391 (home-page "http://icon-theme.freedesktop.org/releases/")
393 "Freedesktop icon theme")
395 "Freedesktop icon theme.")
396 (license license:gpl2)))
398 (define-public libnotify
405 (uri (string-append "mirror://gnome/sources/" name "/"
406 (string-copy version 0 (string-rindex version #\.)) "/"
407 name "-" version ".tar.xz"))
410 "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
411 (build-system gnu-build-system)
413 `(("gdk-pixbuf" ,gdk-pixbuf)
418 `(("pkg-config" ,pkg-config)
419 ("glib" ,glib "bin")))
420 (home-page "https://developer-next.gnome.org/libnotify/")
422 "GNOME desktop notification library")
424 "Libnotify is a library that sends desktop notifications to a
425 notification daemon, as defined in the Desktop Notifications spec. These
426 notifications can be used to inform the user about an event or display
427 some form of information without getting in the user's way.")
428 (license license:lgpl2.1+)))
430 (define-public libpeas
437 (uri (string-append "mirror://gnome/sources/" name "/"
438 (substring version 0 (string-rindex version #\.)) "/"
439 name "-" version ".tar.xz"))
442 "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0"))))
443 (build-system gnu-build-system)
446 ("gdk-pixbuf" ,gdk-pixbuf)
451 `(("pkg-config" ,pkg-config)
452 ("glib:bin" ,glib "bin")
453 ("gobject-introspection" ,gobject-introspection)
454 ("intltool" ,intltool)))
455 (home-page "https://wiki.gnome.org/Libpeas")
456 (synopsis "GObject plugin system")
458 "Libpeas is a gobject-based plugins engine, and is targetted at giving
459 every application the chance to assume its own extensibility. It also has a
460 set of features including, but not limited to: multiple extension points; on
461 demand (lazy) programming language support for C, Python and JS; simplicity of
464 (license license:lgpl2.0+)))
466 (define-public gtkglext
472 (uri (string-append "mirror://sourceforge/project/gtkglext/gtkglext/"
473 version "/gtkglext-" version ".tar.gz"))
475 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
477 (search-patch "gtkglext-disable-disable-deprecated.patch")))))
478 (build-system gnu-build-system)
479 (inputs `(("gtk+" ,gtk+-2)
483 (native-inputs `(("pkg-config" ,pkg-config)
484 ("glib" ,glib "bin")))
485 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
486 (home-page "https://projects.gnome.org/gtkglext")
487 (synopsis "OpenGL extension to GTK+")
488 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
489 additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
490 API add-ons to make GTK+ widgets OpenGL-capable.")
491 (license license:lgpl2.1+)))
493 (define-public glade3
500 (uri (string-append "mirror://gnome/sources/" name "/"
501 (substring version 0 (string-rindex version #\.)) "/"
502 name "3-" version ".tar.xz"))
504 (base32 "021xgq2l18w3rvwms9aq2idm0fk66vwb4f777gs0qh3ap5shgbn7"))))
505 (build-system gnu-build-system)
508 ("libxml2" ,libxml2)))
510 `(("intltool" ,intltool)
512 ("pkg-config" ,pkg-config)))
513 (home-page "https://glade.gnome.org")
514 (synopsis "GTK+ rapid application development tool")
515 (description "Glade is a rapid application development (RAD) tool to
516 enable quick & easy development of user interfaces for the GTK+ toolkit and
517 the GNOME desktop environment.")
518 (license license:lgpl2.0+)))
520 (define-public libcroco
527 "mirror://gnome/sources/libcroco/0.6/libcroco-"
532 "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"))))
533 (build-system gnu-build-system)
535 `(("pkg-config" ,pkg-config)))
540 (home-page "https://github.com/GNOME/libcroco")
541 (synopsis "CSS2 parsing and manipulation library")
543 "Libcroco is a standalone CSS2 parsing and manipulation library.
544 The parser provides a low level event driven SAC-like API and a CSS object
545 model like API. Libcroco provides a CSS2 selection engine and an experimental
546 XML/CSS rendering engine.")
549 (license license:lgpl2.1)))
551 (define-public libgsf
557 (uri (string-append "mirror://gnome/sources/libgsf/1.14/libgsf-"
561 "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b"))))
562 (build-system gnu-build-system)
564 `(("intltool" ,intltool)
565 ("pkg-config" ,pkg-config)))
571 `(("gdk-pixbuf" ,gdk-pixbuf)
573 ("libxml2" ,libxml2)))
574 (home-page "http://www.gnome.org/projects/libgsf")
575 (synopsis "GNOME's Structured File Library")
577 "Libgsf aims to provide an efficient extensible I/O abstraction for
578 dealing with different structured file formats.")
581 (license license:lgpl2.1)))
583 (define-public librsvg
590 "mirror://gnome/sources/librsvg/2.40/librsvg-"
594 "071959yjb2i1bja7ciy4bmpnd6fn2is9jjqsvvvnsqwl69j9n128"))))
595 (build-system gnu-build-system)
599 'configure 'augment-gir-search-path
600 (lambda* (#:key inputs #:allow-other-keys)
601 (substitute* "gdk-pixbuf-loader/Makefile.in"
602 ;; By default the gdk-pixbuf loader is installed under
603 ;; gdk-pixbuf's prefix. Work around that.
604 (("gdk_pixbuf_moduledir = .*$")
605 (string-append "gdk_pixbuf_moduledir = "
606 "$(prefix)/lib/gdk-pixbuf-2.0/2.0.10/"
608 ;; Likewise, create a separate 'loaders.cache' file.
609 (("gdk_pixbuf_cache_file = .*$")
610 "gdk_pixbuf_cache_file = $(gdk_pixbuf_moduledir).cache\n")))
613 `(("pkg-config" ,pkg-config)
614 ("glib" ,glib "bin") ; glib-mkenums, etc.
615 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
618 ("libcroco" ,libcroco)
621 ("libxml2" ,libxml2)))
623 ;; librsvg-2.0.pc refers to all of that.
625 ("gdk-pixbuf" ,gdk-pixbuf)
627 (home-page "https://wiki.gnome.org/LibRsvg")
628 (synopsis "Render SVG files using Cairo")
630 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
632 (license license:lgpl2.0+)))
634 (define-public libidl
640 (uri (let ((upstream-name "libIDL"))
642 "mirror://gnome/sources/" upstream-name "/" (string-take version 3) "/" upstream-name "-"
647 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
648 (build-system gnu-build-system)
649 (inputs `(("glib" ,glib)))
651 `(("pkg-config" ,pkg-config)
654 (home-page "http://freecode.com/projects/libidl")
655 (synopsis "Create trees of CORBA Interface Definition Language files")
656 (description "Libidl is a library for creating trees of CORBA Interface
657 Definition Language (idl) files, which is a specification for defining
658 portable interfaces. libidl was initially written for orbit (the orb from the
659 GNOME project, and the primary means of libidl distribution). However, the
660 functionality was designed to be as reusable and portable as possible.")
661 (license license:lgpl2.0+)))
664 (define-public orbit2
670 (uri (let ((upstream-name "ORBit2"))
672 "mirror://gnome/sources/" upstream-name "/" (string-take version 4) "/" upstream-name "-"
676 (base32 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
677 (build-system gnu-build-system)
679 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
680 `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
681 ;; ... which they then completly ignore !!
684 'configure 'ignore-deprecations
686 (substitute* "linc2/src/Makefile.in"
687 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
689 (inputs `(("glib" ,glib)
692 `(("pkg-config" ,pkg-config)))
693 (home-page "https://projects.gnome.org/orbit2/")
694 (synopsis "CORBA 2.4-compliant Object Request Broker")
695 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
696 featuring mature C, C++ and Python bindings.")
697 ;; Licence notice is unclear. The Web page simply say "GPL" without giving a version.
698 ;; SOME of the code files have licence notices for GPLv2+
699 ;; The tarball contains files of the text of GPLv2 and LGPLv2
700 (license license:gpl2+)))
703 (define-public libbonobo
709 (uri (string-append "mirror://gnome/sources/" name "/"
710 (version-major+minor version)
711 "/" name "-" version ".tar.bz2"))
713 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
714 (patches (list (search-patch "libbonobo-activation-test-race.patch")))))
715 (build-system gnu-build-system)
717 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
719 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
720 ;; ... which they then completly ignore !!
723 'configure 'ignore-deprecations
725 (substitute* "activation-server/Makefile.in"
726 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
728 (inputs `(("popt" ,popt)
729 ("libxml2" ,libxml2)))
730 ;; The following are Required by the .pc file
735 `(("intltool" ,intltool)
736 ("pkg-config" ,pkg-config)
737 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
740 (home-page "https://developer.gnome.org/libbonobo/")
741 (synopsis "Framework for creating reusable components for use in GNOME applications")
742 (description "Bonobo is a framework for creating reusable components for
743 use in GNOME applications, built on top of CORBA.")
744 ;; Licence not explicitly stated. Source files contain no licence notices.
745 ;; Tarball contains text of both GPLv2 and LGPLv2
746 ;; GPLv2 covers both conditions
747 (license license:gpl2+)))
757 (let ((upstream-name "GConf"))
759 "mirror://gnome/sources/" upstream-name "/" (string-take version 3) "/" upstream-name "-"
763 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
764 (build-system gnu-build-system)
765 (inputs `(("glib" ,glib)
767 ("dbus-glib" ,dbus-glib)
768 ("libxml2" ,libxml2)))
769 (propagated-inputs `(("orbit2" ,orbit2))) ; referred to in the .pc file
771 `(("intltool" ,intltool)
772 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
773 ("pkg-config" ,pkg-config)))
774 (home-page "https://projects.gnome.org/gconf/")
775 (synopsis "Store application preferences")
776 (description "Gconf is a system for storing application preferences. It
777 is intended for user preferences; not arbitrary data storage.")
778 (license license:lgpl2.0+)))
781 (define-public gnome-mime-data
783 (name "gnome-mime-data")
788 "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-"
793 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
794 (build-system gnu-build-system)
797 ("intltool" ,intltool)))
798 (home-page "http://www.gnome.org")
799 (synopsis "Base MIME and Application database for GNOME")
800 (description "GNOME Mime Data is a module which contains the base MIME
801 and Application database for GNOME. The data stored by this module is
802 designed to be accessed through the MIME functions in GnomeVFS.")
803 (license license:gpl2+)))
806 (define-public gnome-vfs
813 "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-"
817 (base32 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
818 (build-system gnu-build-system)
820 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
821 `(#:configure-flags '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
822 ;; ... which they then completly ignore !!
825 'configure 'ignore-deprecations
828 (substitute* "libgnomevfs/Makefile.in"
829 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
830 (substitute* "daemon/Makefile.in"
831 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))))
833 (inputs `(("glib" ,glib)
835 ("dbus-glib" ,dbus-glib)
838 ("gnome-mime-data" ,gnome-mime-data)
841 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
842 ("intltool" ,intltool)
843 ("pkg-config" ,pkg-config)))
844 (home-page "https://developer.gnome.org/gnome-vfs/")
845 (synopsis "Access files and folders in GNOME applications")
846 (description "GnomeVFS is the core library used to access files and
847 folders in GNOME applications. It provides a file system abstraction which
848 allows applications to access local and remote files with a single consistent API.")
849 (license license:lgpl2.0+)))
853 (define-public libgnome
860 "mirror://gnome/sources/" name "/"
861 (string-take version 4) "/" name "-"
866 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))))
867 (build-system gnu-build-system)
871 'configure 'enable-deprecated
873 (substitute* "libgnome/Makefile.in"
874 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
876 (inputs `(("popt" ,popt)
877 ("libxml2" ,libxml2)))
879 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
880 ("intltool" ,intltool)
881 ("pkg-config" ,pkg-config)))
882 ;; The following are listed as Required in the .pc file
883 ;; (except for libcanberra -- which seems to be oversight on the part
884 ;; of the upstream developers -- anything that links against libgnome,
885 ;; must also link against libcanberra
887 `(("libcanberra" ,libcanberra)
888 ("libbonobo" ,libbonobo)
890 ("gnome-vfs" ,gnome-vfs)
892 (home-page "https://developer.gnome.org/libgnome/")
893 (synopsis "Useful routines for building applications")
894 (description "The libgnome library provides a number of useful routines
895 for building modern applications, including session management, activation of
896 files and URIs, and displaying help.")
897 (license license:lgpl2.0+)))
900 (define-public libart-lgpl
906 (uri (let ((upstream-name "libart_lgpl"))
908 "mirror://gnome/sources/" upstream-name "/"
909 (string-take version 3) "/" upstream-name "-" version
913 "072r4svs4hjf2f4gxzx02n3f970kdv9fpx54r2m8bd42fjyyawrw"))))
914 (build-system gnu-build-system)
916 `(("pkg-config" ,pkg-config)))
917 (home-page "https://people.gnome.org/~mathieu/libart")
918 (synopsis "2D drawing library")
919 (description "Libart is a 2D drawing library intended as a
920 high-quality vector-based 2D library with antialiasing and alpha composition.")
921 (license license:lgpl2.0+)))
925 (define-public libgnomecanvas
927 (name "libgnomecanvas")
932 "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-"
937 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
938 (build-system gnu-build-system)
939 ;; Mentioned as Required in the .pc file
940 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
943 `(("intltool" ,intltool)
944 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
945 ("pkg-config" ,pkg-config)))
946 (home-page "https://developer.gnome.org/libgnomecanvas/")
947 (synopsis "Flexible widget for creating interactive structured graphics")
948 (description "The GnomeCanvas widget provides a flexible widget for
949 creating interactive structured graphics.")
950 (license license:lgpl2.0+)))
952 (define-public libgnomeui
959 "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-"
964 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
965 (build-system gnu-build-system)
966 ;; Mentioned as Required in the .pc file
967 (propagated-inputs `(("libgnome" ,libgnome)
968 ("libgnome-keyring" ,libgnome-keyring)))
969 (inputs `(("libgnomecanvas" ,libgnomecanvas)
970 ("libbonoboui" ,libbonoboui)
973 ("libbonobo" ,libbonobo)
975 ("libglade" ,libglade)))
977 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
978 ("intltool" ,intltool)
979 ("pkg-config" ,pkg-config)))
980 (home-page "https://developer.gnome.org/libgnomeui/")
981 (synopsis "Additional widgets for applications")
982 (description "The libgnomeui library provides additional widgets for
983 applications. Many of the widgets from libgnomeui have already been ported to GTK+.")
984 (license license:lgpl2.0+)))
986 (define-public libglade
993 "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-"
998 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
999 (build-system gnu-build-system)
1001 `(("gtk+-2" ,gtk+-2)
1002 ("libxml2" ,libxml2)
1003 ("python" ,python))) ;; needed for the optional libglade-convert program
1005 `(("pkg-config" ,pkg-config)))
1006 (home-page "https://developer.gnome.org/libglade")
1007 (synopsis "Load glade interfaces and access the glade built widgets")
1008 (description "Libglade is a library that provides interfaces for loading
1009 graphical interfaces described in glade files and for accessing the
1010 widgets built in the loading process.")
1011 (license license:gpl2+))) ; This is correct. GPL not LGPL
1013 (define-public libgnomeprint
1015 (name "libgnomeprint")
1020 "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-"
1025 "129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
1026 (build-system gnu-build-system)
1029 ("libart-lgpl" ,libart-lgpl)
1031 ("libxml2" ,libxml2)))
1033 `(("intltool" ,intltool)
1034 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1035 ("pkg-config" ,pkg-config)))
1036 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1037 (synopsis "Printing framework for GNOME")
1038 (description "Gnome-print is a high-quality printing framework for GNOME.")
1039 (license license:lgpl2.0+)))
1042 (define-public libgnomeprintui
1044 (name "libgnomeprintui")
1049 "mirror://gnome/sources/" name "/" (string-take version 3) "/" name "-"
1054 "1ivipk7r61rg90p9kp889j28xlyyj6466ypvwa4jvnrcllnaajsw"))))
1055 (build-system gnu-build-system)
1056 ;; Mentioned as Required in the .pc file
1057 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1058 (inputs `(("gtk+" ,gtk+-2)
1060 ("gnome-icon-theme" ,gnome-icon-theme)
1061 ("libgnomecanvas" ,libgnomecanvas)
1062 ("libxml2" ,libxml2)))
1064 `(("intltool" ,intltool)
1065 ("pkg-config" ,pkg-config)))
1066 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1067 (synopsis "Printing framework for GNOME")
1068 (description "Gnome-print is a high-quality printing framework for GNOME.")
1069 (license license:lgpl2.0+)))
1072 (define-public libbonoboui
1074 (name "libbonoboui")
1079 "mirror://gnome/sources/" name "/"
1080 (version-major+minor version)
1081 "/" name "-" version ".tar.bz2"))
1084 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1085 (build-system gnu-build-system)
1089 'check 'start-xserver
1090 (lambda* (#:key inputs #:allow-other-keys)
1091 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1094 (setenv "HOME" (getcwd))
1095 (setenv "DISPLAY" disp)
1096 ;; There must be a running X server and make check doesn't start one.
1097 ;; Therefore we must do it.
1098 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))
1100 ;; Mentioned as Required by the .pc file
1101 (propagated-inputs `(("libxml2" ,libxml2)))
1104 ("pangox-compat" ,pangox-compat)
1105 ("libgnome" ,libgnome)
1106 ("libgnomecanvas" ,libgnomecanvas)
1107 ("libglade" ,libglade)))
1109 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
1110 ("intltool" ,intltool)
1111 ("xorg-server" ,xorg-server) ; For running the tests
1112 ("pkg-config" ,pkg-config)))
1113 (home-page "https://developer.gnome.org/libbonoboui/")
1114 (synopsis "Some user interface controls using Bonobo")
1115 (description "The Bonobo UI library provides a number of user interface
1116 controls using the Bonobo component framework.")
1117 (license license:lgpl2.0+)))
1120 (define-public goffice
1127 "mirror://gnome/sources/" name "/"
1128 (string-take version 4) "/" name "-"
1131 (base32 "0kj0iwng6w4axm7yv2zy7myn5dhw5ilrlq2pzrjlm9i852ikqy60"))))
1132 (build-system gnu-build-system)
1136 ("librsvg" ,librsvg)
1137 ("libxslt" ,libxslt)
1138 ("libxml2" ,libxml2)))
1140 `(("intltool" ,intltool)
1141 ("glib" ,glib "bin")
1142 ("pkg-config" ,pkg-config)))
1143 (home-page "https://developer.gnome.org/goffice/")
1144 (synopsis "Document-centric objects and utilities")
1145 (description "A GLib/GTK+ set of document-centric objects and utilities.")
1147 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1149 (list license:gpl2 license:gpl3))))
1151 (define-public gnumeric
1158 "mirror://gnome/sources/" name "/"
1159 (string-take version 4) "/" name "-" version
1163 "18bvc3phghr4p5440fp8hm6gvp53d3mqs9cyc637zpmk0b6bcp7c"))))
1164 (build-system gnu-build-system)
1166 `(;; The gnumeric developers don't worry much about failing tests.
1167 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
1171 'configure 'pre-conf
1172 (lambda* (#:key outputs #:allow-other-keys)
1173 ;; Make install tries to write into the directory of goffice
1174 ;; I am informed that this only affects the possibility to embed a
1175 ;; spreadsheet inside an Abiword document. So presumably when we
1176 ;; package Abiword we'll have to refer it to this directory.
1177 (substitute* "configure"
1178 (("^GOFFICE_PLUGINS_DIR=.*")
1179 (string-append "GOFFICE_PLUGINS_DIR="
1180 (assoc-ref outputs "out") "/goffice/plugins"))))
1185 ("goffice" ,goffice)
1187 ("libxml2" ,libxml2)
1190 `(("intltool" ,intltool)
1191 ("glib:bin" ,glib "bin")
1192 ("pkg-config" ,pkg-config)))
1193 (home-page "http://www.gnumeric.org")
1194 (synopsis "Spreadsheet application")
1196 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
1197 interoperable with other spreadsheet applications. It has a vast array of
1198 features beyond typical spreadsheet functionality, such as support for linear
1199 and non-linear solvers, statistical analysis, and telecommunication
1202 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
1203 (list license:gpl2 license:gpl3))))