diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index f6c3d5f..af5c7e6 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -37,12 +37,12 @@ #:use-module (gnu packages compression) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) - #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages linux) ;FIXME: for pcb diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 0262d0a..dcabc45 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -29,9 +29,11 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (gnu packages) #:use-module (gnu packages gnome) #:use-module (gnu packages python) #:use-module (gnu packages linux) + #:use-module (gnu packages libusb) #:use-module (gnu packages pkg-config) #:use-module (gnu packages autotools) #:use-module (gnu packages gettext) @@ -625,3 +627,143 @@ different sorts of messages in different formats.") useful for both applications which need colour management and applications that wish to perform colour calibration.") (license license:lgpl2.1+))) + +(define-public desktop-file-utils + (package + (name "desktop-file-utils") + (version "0.22") + (source (origin + (method url-fetch) + (uri (string-append "https://www.freedesktop.org/software/" name + "/releases/" name "-" version ".tar.xz")) + (sha256 + (base32 + "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib))) + (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/") + (synopsis "Utilities for working with desktop entries") + (description + "This package contains a few command line utilities for working with +desktop entries: + +desktop-file-validate: validates a desktop file and prints warnings/errors + about desktop entry specification violations. + +desktop-file-install: installs a desktop file to the applications directory, + optionally munging it a bit in transit. + +update-desktop-database: updates the database containing a cache of MIME types + handled by desktop files.") + (license license:gpl2+))) + +(define-public shared-mime-info + (package + (name "shared-mime-info") + (version "1.6") + (source (origin + (method url-fetch) + (uri (string-append "https://freedesktop.org/~hadess/" + "shared-mime-info-" version ".tar.xz")) + (sha256 + (base32 + "0k637g047gci8g69bg4g19akylpfraxm40hd30j3i4v7cidziy5j")))) + (build-system gnu-build-system) + (arguments + ;; The build system appears not to be parallel-safe. + '(#:parallel-build? #f)) + (inputs + `(("glib" ,glib) + ("libxml2" ,libxml2))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "http://freedesktop.org/wiki/Software/shared-mime-info") + (synopsis "Database of common MIME types") + (description + "The shared-mime-info package contains the core database of common types +and the update-mime-database command used to extend it. It requires glib2 to +be installed for building the update command. Additionally, it uses intltool +for translations, though this is only a dependency for the maintainers. This +database is translated at Transifex.") + (license license:gpl2+))) + +(define-public hicolor-icon-theme + (package + (name "hicolor-icon-theme") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "https://icon-theme.freedesktop.org/releases/" + "hicolor-icon-theme-" version ".tar.gz")) + (sha256 + (base32 + "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; no check target + (home-page "http://icon-theme.freedesktop.org/releases/") + (synopsis + "Freedesktop icon theme") + (description + "Freedesktop icon theme.") + (license license:gpl2))) + +(define-public upower + (package + (name "upower") + (version "0.99.3") + (source (origin + (method url-fetch) + (uri (string-append "https://upower.freedesktop.org/releases/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0f6x9mi1jzgqdpycaikyhjljnw3aacsl3gxndyg0dfqkq6y9jwb9")) + (patches (search-patches "upower-builddir.patch")))) + (build-system gnu-build-system) + (arguments + '( ;; The tests want to contact the system bus, which can't be done in the + ;; build environment. The integration test can run, but the last of + ;; the up-self-tests doesn't. Disable tests for now. + #:tests? #f + #:configure-flags (list "--localstatedir=/var" + (string-append "--with-udevrulesdir=" + (assoc-ref %outputs "out") + "/lib/udev/rules.d")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-/bin/true + (lambda _ + (substitute* "configure" + (("/bin/true") (which "true"))))) + (add-before 'configure 'patch-integration-test + (lambda _ + (substitute* "src/linux/integration-test" + (("/usr/bin/python3") (which "python3")))))))) + (native-inputs + `(("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("python" ,python) + + ;; For man pages. + ("libxslt" ,libxslt) ;for 'xsltproc' + ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES' + ("docbook-xsl" ,docbook-xsl))) + (inputs + `(("dbus-glib" ,dbus-glib) + ("libgudev" ,libgudev) + ("libusb" ,libusb))) + (home-page "http://upower.freedesktop.org/") + (synopsis "System daemon for managing power devices") + (description + "UPower is an abstraction for enumerating power devices, +listening to device events and querying history and statistics. Any +application or service on the system can access the org.freedesktop.UPower +service via the system message bus.") + (license license:gpl2+))) diff --git a/gnu/packages/fvwm.scm b/gnu/packages/fvwm.scm index 933820e..a177979 100644 --- a/gnu/packages/fvwm.scm +++ b/gnu/packages/fvwm.scm @@ -23,7 +23,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages fribidi) - #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 0bfd0c5..1c62f5f 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -57,7 +57,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages audio) #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages gnome) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gtk) #:use-module (gnu packages sdl) #:use-module (gnu packages pkg-config) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 96aefbc..31e5d57 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -63,7 +63,6 @@ #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) - #:use-module (gnu packages gnome) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index a85a565..808a093 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages iso-codes) #:use-module (gnu packages libffi) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -659,3 +660,109 @@ many applications simultaneously. This package provides the library for GLib applications.") (license license:lgpl2.1+))) + +(define-public libcroco + (package + (name "libcroco") + (version "0.6.11") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0mm0wldbi40am5qn0nv7psisbg01k42rwzjxl3gv11l5jj554aqk")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("libxml2" ,libxml2) + ("zlib" ,zlib))) + (home-page "https://github.com/GNOME/libcroco") + (synopsis "CSS2 parsing and manipulation library") + (description + "Libcroco is a standalone CSS2 parsing and manipulation library. +The parser provides a low level event driven SAC-like API and a CSS object +model like API. Libcroco provides a CSS2 selection engine and an experimental +XML/CSS rendering engine.") + + ;; LGPLv2.1-only. + (license license:lgpl2.1))) + +(define-public json-glib + (package + (name "json-glib") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1lx7p1c7cl21byvfgw92n8dhm09vi6qxrs0zkx9dg3y096zdzmlr")) + (modules '((guix build utils))) + (snippet + ;; Don't duplicate test names. + ;; . + '(substitute* "json-glib/tests/builder.c" + (("\"/builder/complex\", test_builder_empty") + "\"/builder/empty\", test_builder_empty"))))) + (build-system gnu-build-system) + (native-inputs + `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glib" ,glib))) ;according to json-glib-1.0.pc + (home-page "https://wiki.gnome.org/Projects/JsonGlib") + (synopsis "Compiler for the GObject type system") + (description + "JSON-GLib is a C library based on GLib providing serialization and +deserialization support for the JavaScript Object Notation (JSON) format +described by RFC 4627. It provides parser and generator GObject classes and +various wrappers for the complex data types employed by JSON, such as arrays +and objects.") + (license license:lgpl2.1+))) + +(define-public libxklavier + (package + (name "libxklavier") + (version "5.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + version "/" name "-" version ".tar.xz")) + (sha256 + (base32 + "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--with-xkb-base=" + (assoc-ref %build-inputs "xkeyboard-config") + "/share/X11/xkb")))) + (native-inputs + `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) + (propagated-inputs + ;; Required by libxklavier.pc. + `(("glib" ,glib) + ("libxml2" ,libxml2))) + (inputs + `(("iso-codes" ,iso-codes) + ("libxi" ,libxi) + ("libxkbfile" ,libxkbfile) + ("xkbcomp" ,xkbcomp) + ("xkeyboard-config" ,xkeyboard-config))) + (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/") + (synopsis "High-level API for X Keyboard Extension") + (description + "LibXklavier is a library providing high-level API for X Keyboard +Extension known as XKB. This library is intended to support XFree86 and other +commercial X servers. It is useful for creating XKB-related software (layout +indicators etc).") + (license license:lgpl2.0+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4a0be01..111404b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -64,6 +64,7 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages enchant) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages game-development) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -116,6 +117,7 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages samba) #:use-module (gnu packages readline) + #:use-module (gnu packages libffi) #:use-module (gnu packages fonts) #:use-module (srfi srfi-1)) @@ -591,38 +593,6 @@ Specification, the icon naming utility maps the icon names used by the GNOME and KDE desktops to the icon names proposed in the specification.") (license license:lgpl2.1+))) -(define-public desktop-file-utils - (package - (name "desktop-file-utils") - (version "0.22") - (source (origin - (method url-fetch) - (uri (string-append "https://www.freedesktop.org/software/" name - "/releases/" name "-" version ".tar.xz")) - (sha256 - (base32 - "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("glib" ,glib))) - (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/") - (synopsis "Utilities for working with desktop entries") - (description - "This package contains a few command line utilities for working with -desktop entries: - -desktop-file-validate: validates a desktop file and prints warnings/errors - about desktop entry specification violations. - -desktop-file-install: installs a desktop file to the applications directory, - optionally munging it a bit in transit. - -update-desktop-database: updates the database containing a cache of MIME types - handled by desktop files.") - (license license:gpl2+))) - (define-public gnome-icon-theme (package (name "gnome-icon-theme") @@ -663,92 +633,6 @@ update-desktop-database: updates the database containing a cache of MIME types (base32 "0ddfwwqx8s63qbqimmbb015lqsab4s0rvy1j81jdsh7k95rqh2ks")))))) -(define-public shared-mime-info - (package - (name "shared-mime-info") - (version "1.6") - (source (origin - (method url-fetch) - (uri (string-append "https://freedesktop.org/~hadess/" - "shared-mime-info-" version ".tar.xz")) - (sha256 - (base32 - "0k637g047gci8g69bg4g19akylpfraxm40hd30j3i4v7cidziy5j")))) - (build-system gnu-build-system) - (arguments - ;; The build system appears not to be parallel-safe. - '(#:parallel-build? #f)) - (inputs - `(("glib" ,glib) - ("libxml2" ,libxml2))) - (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) - (home-page "http://freedesktop.org/wiki/Software/shared-mime-info") - (synopsis "Database of common MIME types") - (description - "The shared-mime-info package contains the core database of common types -and the update-mime-database command used to extend it. It requires glib2 to -be installed for building the update command. Additionally, it uses intltool -for translations, though this is only a dependency for the maintainers. This -database is translated at Transifex.") - (license license:gpl2+))) - -(define-public hicolor-icon-theme - (package - (name "hicolor-icon-theme") - (version "0.12") - (source - (origin - (method url-fetch) - (uri (string-append "https://icon-theme.freedesktop.org/releases/" - "hicolor-icon-theme-" version ".tar.gz")) - (sha256 - (base32 - "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f)) ; no check target - (home-page "http://icon-theme.freedesktop.org/releases/") - (synopsis - "Freedesktop icon theme") - (description - "Freedesktop icon theme.") - (license license:gpl2))) - -(define-public libnotify - (package - (name "libnotify") - (version "0.7.6") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf")))) - (build-system gnu-build-system) - (inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("glib" ,glib) - ("gtk+" ,gtk+) - ("libpng" ,libpng))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("glib" ,glib "bin") - ("gobject-introspection" ,gobject-introspection))) - (home-page "https://developer-next.gnome.org/libnotify/") - (synopsis - "GNOME desktop notification library") - (description - "Libnotify is a library that sends desktop notifications to a -notification daemon, as defined in the Desktop Notifications spec. These -notifications can be used to inform the user about an event or display -some form of information without getting in the user's way.") - (license license:lgpl2.1+))) - (define-public libpeas (package (name "libpeas") @@ -784,192 +668,6 @@ demand (lazy) programming language support for C, Python and JS; simplicity of the API.") (license license:lgpl2.0+))) -(define-public gtkglext - (package - (name "gtkglext") - (version "1.2.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/" - version "/gtkglext-" version ".tar.gz")) - (sha256 - (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5")) - (patches (search-patches - "gtkglext-disable-disable-deprecated.patch")))) - (build-system gnu-build-system) - (inputs `(("gtk+" ,gtk+-2) - ("mesa" ,mesa) - ("glu" ,glu) - ("libx11" ,libx11) - ("libxt" ,libxt))) - (native-inputs `(("pkg-config" ,pkg-config) - ("glib" ,glib "bin"))) - (propagated-inputs `(("pangox-compat" ,pangox-compat))) - (home-page "https://projects.gnome.org/gtkglext") - (synopsis "OpenGL extension to GTK+") - (description "GtkGLExt is an OpenGL extension to GTK+. It provides -additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget -API add-ons to make GTK+ widgets OpenGL-capable.") - (license license:lgpl2.1+))) - -(define-public glade3 - (package - (name "glade") - (version "3.20.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1zhqvhagy0m85p54jfiayfl0v9af7g0lj7glw8sfwh7cbp56vnc2")))) - (build-system glib-or-gtk-build-system) - (arguments - `(#:tests? #f ; needs X, GL, and software rendering - #:phases - (modify-phases %standard-phases - (add-before 'configure 'fix-docbook - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "man/Makefile.in" - (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") - (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) - "/manpages/docbook.xsl"))) - #t))))) - (inputs - `(("gtk+" ,gtk+) - ("libxml2" ,libxml2))) - (native-inputs - `(("intltool" ,intltool) - ("itstool" ,itstool) - ("libxslt" ,libxslt) ;for xsltproc - ("docbook-xml" ,docbook-xml-4.2) - ("docbook-xsl" ,docbook-xsl) - ("python" ,python-2) - ("pkg-config" ,pkg-config))) - (home-page "https://glade.gnome.org") - (synopsis "GTK+ rapid application development tool") - (description "Glade is a rapid application development (RAD) tool to -enable quick & easy development of user interfaces for the GTK+ toolkit and -the GNOME desktop environment.") - (license license:lgpl2.0+))) - -(define-public libcroco - (package - (name "libcroco") - (version "0.6.11") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0mm0wldbi40am5qn0nv7psisbg01k42rwzjxl3gv11l5jj554aqk")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("glib" ,glib) - ("libxml2" ,libxml2) - ("zlib" ,zlib))) - (home-page "https://github.com/GNOME/libcroco") - (synopsis "CSS2 parsing and manipulation library") - (description - "Libcroco is a standalone CSS2 parsing and manipulation library. -The parser provides a low level event driven SAC-like API and a CSS object -model like API. Libcroco provides a CSS2 selection engine and an experimental -XML/CSS rendering engine.") - - ;; LGPLv2.1-only. - (license license:lgpl2.1))) - -(define-public libgsf - (package - (name "libgsf") - (version "1.14.36") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0h19ssxzz0cmznwga2xy55kjibm24mwxqarnpd0w7xy0hrzm1dvi")))) - (build-system gnu-build-system) - (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) - (inputs - `(("python" ,python) - ("zlib" ,zlib) - ("bzip2" ,bzip2))) - (propagated-inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("glib" ,glib) - ("libxml2" ,libxml2))) - (home-page "http://www.gnome.org/projects/libgsf") - (synopsis "GNOME's Structured File Library") - (description - "Libgsf aims to provide an efficient extensible I/O abstraction for -dealing with different structured file formats.") - - ;; LGPLv2.1-only. - (license license:lgpl2.1))) - -(define-public librsvg - (package - (name "librsvg") - (version "2.40.15") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1x05vd2llpmskq3prkp7kbpmshmpp9whj4kfl99ybipf4fhw9jnr")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (alist-cons-before - 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gdk-pixbuf-loader/Makefile.in" - ;; By default the gdk-pixbuf loader is installed under - ;; gdk-pixbuf's prefix. Work around that. - (("gdk_pixbuf_moduledir = .*$") - (string-append "gdk_pixbuf_moduledir = " - "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/" - "loaders\n")) - ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg. - (("gdk_pixbuf_cache_file = .*$") - "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))) - %standard-phases))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("glib" ,glib "bin") ; glib-mkenums, etc. - ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. - (inputs - `(("pango" ,pango) - ("libcroco" ,libcroco) - ("bzip2" ,bzip2) - ("libgsf" ,libgsf) - ("libxml2" ,libxml2))) - (propagated-inputs - ;; librsvg-2.0.pc refers to all of that. - `(("cairo" ,cairo) - ("gdk-pixbuf" ,gdk-pixbuf) - ("glib" ,glib))) - (home-page "https://wiki.gnome.org/LibRsvg") - (synopsis "Render SVG files using Cairo") - (description - "Librsvg is a C library to render SVG files using the Cairo 2D graphics -library.") - (license license:lgpl2.0+))) - (define-public libidl (package (name "libidl") @@ -1340,33 +1038,6 @@ applications. Many of the widgets from libgnomeui have already been ported to GTK+.") (license license:lgpl2.0+))) -(define-public libglade - (package - (name "libglade") - (version "2.6.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4")))) - (build-system gnu-build-system) - (inputs - `(("python" ,python))) ;; needed for the optional libglade-convert program - (propagated-inputs - `(("gtk+-2" ,gtk+-2) - ("libxml2" ,libxml2))) ; required by libglade-2.0.pc - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://developer.gnome.org/libglade") - (synopsis "Load glade interfaces and access the glade built widgets") - (description "Libglade is a library that provides interfaces for loading -graphical interfaces described in glade files and for accessing the -widgets built in the loading process.") - (license license:gpl2+))) ; This is correct. GPL not LGPL - (define-public libgnomeprint ;; This library has been deprecated since 2006; see ;; . @@ -1474,52 +1145,6 @@ since ca. 2006, when GTK+ itself incorporated printing support.") controls using the Bonobo component framework.") (license license:lgpl2.0+))) -(define-public libwnck - (package - (name "libwnck") - (version "3.14.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 "1ymya8gkjygvg0i901wr3q6ihfqxx5yf4g4pb6fag2iw8af3qr5v")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) - (propagated-inputs - `(("gtk+" ,gtk+) - ("libxres" ,libxres) - ("startup-notification" ,startup-notification))) - (home-page "https://developer.gnome.org/libwnck/") - (synopsis "Window Navigator Construction Kit") - (description - "Libwnck is the Window Navigator Construction Kit, a library for use in -writing pagers, tasklists, and more generally applications that are dealing -with window management. It tries hard to respect the Extended Window Manager -Hints specification (EWMH).") - (license license:lgpl2.0+))) - -;; stable version for gtk2, required by xfwm4. -(define-public libwnck-2 - (package (inherit libwnck) - (name "libwnck") - (version "2.30.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b")))) - (propagated-inputs - `(("gtk+" ,gtk+-2) - ("libxres" ,libxres) - ("startup-notification" ,startup-notification))))) - (define-public goffice (package (name "goffice") @@ -1710,88 +1335,6 @@ engineering.") passwords in the GNOME keyring.") (license license:gpl2+))) -(define-public vala - (package - (name "vala") - (version "0.32.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0vpvq403vdd25irvgk7zibz3nw4x4i17m0dgnns8j1q4vr7am8h7")))) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "CC" "gcc") - ;; For missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0") - #t))) - ;; Build the Vala API generator - #:configure-flags '("--enable-vapigen"))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("flex" ,flex) - ("bison" ,bison) - ("xsltproc" ,libxslt) - ("dbus" ,dbus) ; for dbus tests - ("gobject-introspection" ,gobject-introspection))) ; for gir tests - (propagated-inputs - `(("glib" ,glib))) ; required by libvala-0.26.pc - (home-page "http://live.gnome.org/Vala/") - (synopsis "Compiler for the GObject type system") - (description - "Vala is a programming language that aims to bring modern programming -language features to GNOME developers without imposing any additional runtime -requirements and without using a different ABI compared to applications and -libraries written in C.") - (license license:lgpl2.1+))) - -(define-public vte - (package - (name "vte") - (version "0.44.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0kjxzqcwqxky0l7bl8ydn9hl6fm1f0k2pl91wbbhyq4z6d4dabbi")))) - (build-system gnu-build-system) - (arguments - ;; XXX: fails to compile tests with the default flags. - ;; vteconv.cc:774:40: - ;; error: missing sentinel in function call [-Werror=format=] - ;; g_test_init (&argc, &argv, NULL); - ;; - ;; cc1plus: some warnings being treated as errors - '(#:configure-flags '("CXXFLAGS=-Wformat=0"))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool) - ("vala" ,vala) - ("gobject-introspection" ,gobject-introspection) - ("glib" ,glib "bin") ; for glib-genmarshal, etc. - ("xmllint" ,libxml2))) - (propagated-inputs - `(("gtk+" ,gtk+) ;required by vte-2.91.pc - ("gnutls" ,gnutls))) ;ditto - (home-page "http://www.gnome.org/") - (synopsis "Virtual Terminal Emulator") - (description - "VTE is a library (libvte) implementing a terminal emulator widget for -GTK+, and a minimal sample application (vte) using that. Vte is mainly used in -gnome-terminal, but can also be used to embed a console/terminal in games, -editors, IDEs, etc.") - (license license:lgpl2.1+))) - (define-public vte-ng (package (inherit vte) @@ -1825,53 +1368,6 @@ editors, IDEs, etc.") GTK+, this fork provides additional functions exposed for keyboard text selection and URL hints."))) -;; provides vte 2.90, required for some terminal emulators -;; tilda bug: https://github.com/lanoxx/tilda/issues/94 -;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021 -;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/ -;; pantheon-terminal, roxterm are not currently packaged -(define-public vte-0.36 - (package (inherit vte) - (name "vte") - (version "0.36.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2")))) - (propagated-inputs - `(("gtk" ,gtk+) - ("ncurses" ,ncurses))))) - -;; stable version for gtk2, required by xfce4-terminal. -(define-public vte/gtk+-2 - (package (inherit vte) - (name "vte") - (version "0.28.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6")) - (patches (search-patches - "vte-CVE-2012-2738-pt1.patch" - "vte-CVE-2012-2738-pt2.patch")))) - (arguments - '(#:configure-flags '("--disable-python"))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool) - ("glib" ,glib "bin"))) ; for glib-genmarshal, etc. - (propagated-inputs - `(("gtk+" ,gtk+-2) ; required by libvte.pc - ("ncurses" ,ncurses))))) ; required by libvte.la - (define-public dconf (package (name "dconf") @@ -1926,82 +1422,6 @@ is to provide a backend to GSettings on platforms that don't already have configuration storage systems.") (license license:lgpl2.1))) -(define-public json-glib - (package - (name "json-glib") - (version "1.2.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1lx7p1c7cl21byvfgw92n8dhm09vi6qxrs0zkx9dg3y096zdzmlr")) - (modules '((guix build utils))) - (snippet - ;; Don't duplicate test names. - ;; . - '(substitute* "json-glib/tests/builder.c" - (("\"/builder/complex\", test_builder_empty") - "\"/builder/empty\", test_builder_empty"))))) - (build-system gnu-build-system) - (native-inputs - `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal - ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("glib" ,glib))) ;according to json-glib-1.0.pc - (home-page "https://wiki.gnome.org/Projects/JsonGlib") - (synopsis "Compiler for the GObject type system") - (description - "JSON-GLib is a C library based on GLib providing serialization and -deserialization support for the JavaScript Object Notation (JSON) format -described by RFC 4627. It provides parser and generator GObject classes and -various wrappers for the complex data types employed by JSON, such as arrays -and objects.") - (license license:lgpl2.1+))) - -(define-public libxklavier - (package - (name "libxklavier") - (version "5.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - version "/" name "-" version ".tar.xz")) - (sha256 - (base32 - "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b")))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags - (list (string-append "--with-xkb-base=" - (assoc-ref %build-inputs "xkeyboard-config") - "/share/X11/xkb")))) - (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. - ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config))) - (propagated-inputs - ;; Required by libxklavier.pc. - `(("glib" ,glib) - ("libxml2" ,libxml2))) - (inputs - `(("iso-codes" ,iso-codes) - ("libxi" ,libxi) - ("libxkbfile" ,libxkbfile) - ("xkbcomp" ,xkbcomp) - ("xkeyboard-config" ,xkeyboard-config))) - (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/") - (synopsis "High-level API for X Keyboard Extension") - (description - "LibXklavier is a library providing high-level API for X Keyboard -Extension known as XKB. This library is intended to support XFree86 and other -commercial X servers. It is useful for creating XKB-related software (layout -indicators etc).") - (license license:lgpl2.0+))) - (define-public python2-rsvg ;; XXX: This is actually a subset of gnome-python-desktop. (package @@ -2501,61 +1921,6 @@ coordinates) using the Nominatim service. geocode-glib caches requests for faster results and to avoid unnecessary server load.") (license license:lgpl2.0+))) -(define-public upower - (package - (name "upower") - (version "0.99.3") - (source (origin - (method url-fetch) - (uri (string-append "https://upower.freedesktop.org/releases/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0f6x9mi1jzgqdpycaikyhjljnw3aacsl3gxndyg0dfqkq6y9jwb9")) - (patches (search-patches "upower-builddir.patch")))) - (build-system glib-or-gtk-build-system) - (arguments - '( ;; The tests want to contact the system bus, which can't be done in the - ;; build environment. The integration test can run, but the last of - ;; the up-self-tests doesn't. Disable tests for now. - #:tests? #f - #:configure-flags (list "--localstatedir=/var" - (string-append "--with-udevrulesdir=" - (assoc-ref %outputs "out") - "/lib/udev/rules.d")) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-/bin/true - (lambda _ - (substitute* "configure" - (("/bin/true") (which "true"))))) - (add-before 'configure 'patch-integration-test - (lambda _ - (substitute* "src/linux/integration-test" - (("/usr/bin/python3") (which "python3")))))))) - (native-inputs - `(("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config) - ("intltool" ,intltool) - ("python" ,python) - - ;; For man pages. - ("libxslt" ,libxslt) ;for 'xsltproc' - ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES' - ("docbook-xsl" ,docbook-xsl))) - (inputs - `(("dbus-glib" ,dbus-glib) - ("libgudev" ,libgudev) - ("libusb" ,libusb))) - (home-page "http://upower.freedesktop.org/") - (synopsis "System daemon for managing power devices") - (description - "UPower is an abstraction for enumerating power devices, -listening to device events and querying history and statistics. Any -application or service on the system can access the org.freedesktop.UPower -service via the system message bus.") - (license license:gpl2+))) - (define-public libgweather (package (name "libgweather") @@ -3398,33 +2763,6 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") supports image conversion, rotation, and slideshows.") (license license:gpl2+))) -(define-public libgudev - (package - (name "libgudev") - (version "230") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - version "/" name "-" version ".tar.xz")) - (sha256 - (base32 - "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2")))) - (build-system gnu-build-system) - (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc. - ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("glib" ,glib))) ; required by gudev-1.0.pc - (inputs - `(("udev" ,eudev))) - (home-page "https://wiki.gnome.org/Projects/libgudev") - (synopsis "GObject bindings for libudev") - (description - "This library provides GObject bindings for libudev. It was originally -part of udev-extras, then udev, then systemd. It's now a project on its own.") - (license license:lgpl2.1+))) - (define-public gvfs (package (name "gvfs") @@ -5420,3 +4758,57 @@ GLib/GObject code.") "Libgnomekbd is a keyboard configuration library for the GNOME desktop environment, which can notably display keyboard layouts.") (license license:lgpl2.0+))) + +(define-public guile-gnome + (package + (name "guile-gnome") + (version "2.16.4") + (source (origin + (method url-fetch) + (uri + (string-append "mirror://gnu/" name + "/guile-gnome-platform/guile-gnome-platform-" + version ".tar.gz")) + (sha256 + (base32 + "1hqnqbb2lmr3hgbcv9kds1himn3av6h0lkk0zll8agcrsn7d9axd")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("atk" ,atk) + ;;("corba" ,corba) ; not packaged yet + ("gconf" ,gconf) + ("gobject-introspection" ,gobject-introspection) + ;;("gthread" ,gthread) ; not packaged yet + ("gnome-vfs" ,gnome-vfs) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gtk+" ,gtk+-2) + ("libglade" ,libglade) + ("libgnome" ,libgnome) + ("libgnomecanvas" ,libgnomecanvas) + ("libgnomeui" ,libgnomeui) + ("pango" ,pango) + ("libffi" ,libffi) + ("glib" ,glib))) + (inputs `(("guile" ,guile-2.0))) + (propagated-inputs + `(("guile-cairo" ,guile-cairo) + ("g-wrap" ,g-wrap) + ("guile-lib" ,guile-lib))) + (arguments + `(#:tests? #f ;FIXME + #:phases (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* (find-files "." "^Makefile.in$") + (("guilesite :=.*guile/site" all) + (string-append all "/2.0"))) + #t)))))) + (outputs '("out" "debug")) + (synopsis "Guile interface for GTK+ programming for GNOME") + (description + "Includes guile-clutter, guile-gnome-gstreamer, +guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.") + (home-page "http://www.gnu.org/software/guile-gnome/") + (license license:gpl2+))) diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index 6c52286..08a9db6 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages glib) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config)) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 8feac11..74bc9bd 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -37,28 +37,33 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system waf) + #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages texinfo) + #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages docbook) #:use-module (gnu packages enchant) + #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) - #:use-module (gnu packages gnome) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages libffi) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) + #:use-module (gnu packages tls) #:use-module (gnu packages guile) #:use-module (gnu packages cups) #:use-module (gnu packages xml) @@ -341,6 +346,48 @@ printing and other features typical of a source code editor.") (license license:lgpl2.0+) (home-page "https://developer.gnome.org/gtksourceview/"))) +(define-public vala + (package + (name "vala") + (version "0.32.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0vpvq403vdd25irvgk7zibz3nw4x4i17m0dgnns8j1q4vr7am8h7")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + (setenv "CC" "gcc") + ;; For missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") + #t))) + ;; Build the Vala API generator + #:configure-flags '("--enable-vapigen"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("flex" ,flex) + ("bison" ,bison) + ("xsltproc" ,libxslt) + ("dbus" ,dbus) ; for dbus tests + ("gobject-introspection" ,gobject-introspection))) ; for gir tests + (propagated-inputs + `(("glib" ,glib))) ; required by libvala-0.26.pc + (home-page "http://live.gnome.org/Vala/") + (synopsis "Compiler for the GObject type system") + (description + "Vala is a programming language that aims to bring modern programming +language features to GNOME developers without imposing any additional runtime +requirements and without using a different ABI compared to applications and +libraries written in C.") + (license license:lgpl2.1+))) + (define-public gtksourceview (package (name "gtksourceview") @@ -441,6 +488,90 @@ in the GNOME project.") (license license:lgpl2.0+) (home-page "https://developer.gnome.org/gdk-pixbuf/"))) +(define-public libgsf + (package + (name "libgsf") + (version "1.14.36") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0h19ssxzz0cmznwga2xy55kjibm24mwxqarnpd0w7xy0hrzm1dvi")))) + (build-system gnu-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python) + ("zlib" ,zlib) + ("bzip2" ,bzip2))) + (propagated-inputs + `(("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib) + ("libxml2" ,libxml2))) + (home-page "http://www.gnome.org/projects/libgsf") + (synopsis "GNOME's Structured File Library") + (description + "Libgsf aims to provide an efficient extensible I/O abstraction for +dealing with different structured file formats.") + + ;; LGPLv2.1-only. + (license license:lgpl2.1))) + +(define-public librsvg + (package + (name "librsvg") + (version "2.40.15") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1x05vd2llpmskq3prkp7kbpmshmpp9whj4kfl99ybipf4fhw9jnr")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (alist-cons-before + 'configure 'pre-configure + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "gdk-pixbuf-loader/Makefile.in" + ;; By default the gdk-pixbuf loader is installed under + ;; gdk-pixbuf's prefix. Work around that. + (("gdk_pixbuf_moduledir = .*$") + (string-append "gdk_pixbuf_moduledir = " + "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/" + "loaders\n")) + ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg. + (("gdk_pixbuf_cache_file = .*$") + "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))) + %standard-phases))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("glib" ,glib "bin") ; glib-mkenums, etc. + ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. + (inputs + `(("pango" ,pango) + ("libcroco" ,libcroco) + ("bzip2" ,bzip2) + ("libgsf" ,libgsf) + ("libxml2" ,libxml2))) + (propagated-inputs + ;; librsvg-2.0.pc refers to all of that. + `(("cairo" ,cairo) + ("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib))) + (home-page "https://wiki.gnome.org/LibRsvg") + (synopsis "Render SVG files using Cairo") + (description + "Librsvg is a C library to render SVG files using the Cairo 2D graphics +library.") + (license license:lgpl2.0+))) + ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends ;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the ;; closure size. @@ -825,60 +956,6 @@ includes a tools to generate PDF presentations out of Org mode and Texinfo documents.") (license license:lgpl3+))) -(define-public guile-gnome - (package - (name "guile-gnome") - (version "2.16.4") - (source (origin - (method url-fetch) - (uri - (string-append "mirror://gnu/" name - "/guile-gnome-platform/guile-gnome-platform-" - version ".tar.gz")) - (sha256 - (base32 - "1hqnqbb2lmr3hgbcv9kds1himn3av6h0lkk0zll8agcrsn7d9axd")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("atk" ,atk) - ;;("corba" ,corba) ; not packaged yet - ("gconf" ,gconf) - ("gobject-introspection" ,gobject-introspection) - ;;("gthread" ,gthread) ; not packaged yet - ("gnome-vfs" ,gnome-vfs) - ("gdk-pixbuf" ,gdk-pixbuf) - ("gtk+" ,gtk+-2) - ("libglade" ,libglade) - ("libgnome" ,libgnome) - ("libgnomecanvas" ,libgnomecanvas) - ("libgnomeui" ,libgnomeui) - ("pango" ,pango) - ("libffi" ,libffi) - ("glib" ,glib))) - (inputs `(("guile" ,guile-2.0))) - (propagated-inputs - `(("guile-cairo" ,guile-cairo) - ("g-wrap" ,g-wrap) - ("guile-lib" ,guile-lib))) - (arguments - `(#:tests? #f ;FIXME - #:phases (modify-phases %standard-phases - (add-before 'configure 'pre-configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* (find-files "." "^Makefile.in$") - (("guilesite :=.*guile/site" all) - (string-append all "/2.0"))) - #t)))))) - (outputs '("out" "debug")) - (synopsis "Guile interface for GTK+ programming for GNOME") - (description - "Includes guile-clutter, guile-gnome-gstreamer, -guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.") - (home-page "http://www.gnu.org/software/guile-gnome/") - (license license:gpl2+))) - ;;; ;;; C++ bindings. ;;; @@ -1086,6 +1163,33 @@ extensive documentation, including API reference and a tutorial.") ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 (license (list license:lgpl2.1 license:mpl1.1)))) +(define-public libglade + (package + (name "libglade") + (version "2.6.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4")))) + (build-system gnu-build-system) + (inputs + `(("python" ,python))) ;; needed for the optional libglade-convert program + (propagated-inputs + `(("gtk+-2" ,gtk+-2) + ("libxml2" ,libxml2))) ; required by libglade-2.0.pc + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://developer.gnome.org/libglade") + (synopsis "Load glade interfaces and access the glade built widgets") + (description "Libglade is a library that provides interfaces for loading +graphical interfaces described in glade files and for accessing the +widgets built in the loading process.") + (license license:gpl2+))) ; This is correct. GPL not LGPL + (define-public python2-pygtk (package (name "python2-pygtk") @@ -1331,3 +1435,241 @@ glass artworks done by Venicians glass blowers.") "GtkSpell provides word-processor-style highlighting and replacement of misspelled words in a GtkTextView widget.") (license license:gpl2+))) + +(define-public gtkglext + (package + (name "gtkglext") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/" + version "/gtkglext-" version ".tar.gz")) + (sha256 + (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5")) + (patches (search-patches + "gtkglext-disable-disable-deprecated.patch")))) + (build-system gnu-build-system) + (inputs `(("gtk+" ,gtk+-2) + ("mesa" ,mesa) + ("glu" ,glu) + ("libx11" ,libx11) + ("libxt" ,libxt))) + (native-inputs `(("pkg-config" ,pkg-config) + ("glib" ,glib "bin"))) + (propagated-inputs `(("pangox-compat" ,pangox-compat))) + (home-page "https://projects.gnome.org/gtkglext") + (synopsis "OpenGL extension to GTK+") + (description "GtkGLExt is an OpenGL extension to GTK+. It provides +additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget +API add-ons to make GTK+ widgets OpenGL-capable.") + (license license:lgpl2.1+))) + +(define-public glade3 + (package + (name "glade") + (version "3.20.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1zhqvhagy0m85p54jfiayfl0v9af7g0lj7glw8sfwh7cbp56vnc2")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:tests? #f ; needs X, GL, and software rendering + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-docbook + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "man/Makefile.in" + (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl) + "/manpages/docbook.xsl"))) + #t))))) + (inputs + `(("gtk+" ,gtk+) + ("libxml2" ,libxml2))) + (native-inputs + `(("intltool" ,intltool) + ("itstool" ,itstool) + ("libxslt" ,libxslt) ;for xsltproc + ("docbook-xml" ,docbook-xml-4.2) + ("docbook-xsl" ,docbook-xsl) + ("python" ,python-2) + ("pkg-config" ,pkg-config))) + (home-page "https://glade.gnome.org") + (synopsis "GTK+ rapid application development tool") + (description "Glade is a rapid application development (RAD) tool to +enable quick & easy development of user interfaces for the GTK+ toolkit and +the GNOME desktop environment.") + (license license:lgpl2.0+))) + +(define-public libnotify + (package + (name "libnotify") + (version "0.7.6") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf")))) + (build-system gnu-build-system) + (inputs + `(("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("libpng" ,libpng))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("glib" ,glib "bin") + ("gobject-introspection" ,gobject-introspection))) + (home-page "https://developer-next.gnome.org/libnotify/") + (synopsis + "GNOME desktop notification library") + (description + "Libnotify is a library that sends desktop notifications to a +notification daemon, as defined in the Desktop Notifications spec. These +notifications can be used to inform the user about an event or display +some form of information without getting in the user's way.") + (license license:lgpl2.1+))) + +(define-public libwnck + (package + (name "libwnck") + (version "3.14.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "1ymya8gkjygvg0i901wr3q6ihfqxx5yf4g4pb6fag2iw8af3qr5v")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + `(("gtk+" ,gtk+) + ("libxres" ,libxres) + ("startup-notification" ,startup-notification))) + (home-page "https://developer.gnome.org/libwnck/") + (synopsis "Window Navigator Construction Kit") + (description + "Libwnck is the Window Navigator Construction Kit, a library for use in +writing pagers, tasklists, and more generally applications that are dealing +with window management. It tries hard to respect the Extended Window Manager +Hints specification (EWMH).") + (license license:lgpl2.0+))) + +;; stable version for gtk2, required by xfwm4. +(define-public libwnck-2 + (package (inherit libwnck) + (name "libwnck") + (version "2.30.7") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b")))) + (propagated-inputs + `(("gtk+" ,gtk+-2) + ("libxres" ,libxres) + ("startup-notification" ,startup-notification))))) + +(define-public vte + (package + (name "vte") + (version "0.44.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0kjxzqcwqxky0l7bl8ydn9hl6fm1f0k2pl91wbbhyq4z6d4dabbi")))) + (build-system gnu-build-system) + (arguments + ;; XXX: fails to compile tests with the default flags. + ;; vteconv.cc:774:40: + ;; error: missing sentinel in function call [-Werror=format=] + ;; g_test_init (&argc, &argv, NULL); + ;; + ;; cc1plus: some warnings being treated as errors + '(#:configure-flags '("CXXFLAGS=-Wformat=0"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("vala" ,vala) + ("gobject-introspection" ,gobject-introspection) + ("glib" ,glib "bin") ; for glib-genmarshal, etc. + ("xmllint" ,libxml2))) + (propagated-inputs + `(("gtk+" ,gtk+) ;required by vte-2.91.pc + ("gnutls" ,gnutls))) ;ditto + (home-page "http://www.gnome.org/") + (synopsis "Virtual Terminal Emulator") + (description + "VTE is a library (libvte) implementing a terminal emulator widget for +GTK+, and a minimal sample application (vte) using that. Vte is mainly used in +gnome-terminal, but can also be used to embed a console/terminal in games, +editors, IDEs, etc.") + (license license:lgpl2.1+))) + +;; provides vte 2.90, required for some terminal emulators +;; tilda bug: https://github.com/lanoxx/tilda/issues/94 +;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021 +;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/ +;; pantheon-terminal, roxterm are not currently packaged +(define-public vte-0.36 + (package (inherit vte) + (name "vte") + (version "0.36.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2")))) + (propagated-inputs + `(("gtk" ,gtk+) + ("ncurses" ,ncurses))))) + +;; stable version for gtk2, required by xfce4-terminal. +(define-public vte/gtk+-2 + (package (inherit vte) + (name "vte") + (version "0.28.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6")) + (patches (search-patches + "vte-CVE-2012-2738-pt1.patch" + "vte-CVE-2012-2738-pt2.patch")))) + (arguments + '(#:configure-flags '("--disable-python"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("glib" ,glib "bin"))) ; for glib-genmarshal, etc. + (propagated-inputs + `(("gtk+" ,gtk+-2) ; required by libvte.pc + ("ncurses" ,ncurses))))) ; required by libvte.la diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f4dc3e7..eec3826 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -52,6 +52,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) + #:use-module (gnu packages iso-codes) #:use-module (gnu packages libusb) #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) @@ -1649,6 +1650,33 @@ device nodes from /dev/, handles hotplug events and loads drivers at boot time.") (license license:gpl2+))) +(define-public libgudev + (package + (name "libgudev") + (version "230") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + version "/" name "-" version ".tar.xz")) + (sha256 + (base32 + "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2")))) + (build-system gnu-build-system) + (native-inputs + `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc. + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glib" ,glib))) ; required by gudev-1.0.pc + (inputs + `(("udev" ,eudev))) + (home-page "https://wiki.gnome.org/Projects/libgudev") + (synopsis "GObject bindings for libudev") + (description + "This library provides GObject bindings for libudev. It was originally +part of udev-extras, then udev, then systemd. It's now a project on its own.") + (license license:lgpl2.1+))) + (define-public lvm2 (package (name "lvm2") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 49bf8f7..0b9bd98 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -45,6 +45,7 @@ #:use-module (gnu packages dejagnu) #:use-module (gnu packages emacs) #:use-module (gnu packages enchant) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index fcea0bc..b183b90 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -54,6 +54,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm index f9aa657..869c93f 100644 --- a/gnu/packages/wicd.scm +++ b/gnu/packages/wicd.scm @@ -26,9 +26,9 @@ #:use-module (guix licenses) #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) - #:use-module (gnu packages gnome) #:use-module (gnu packages gettext) #:use-module (gnu packages linux) #:use-module (gnu packages admin) diff --git a/gnu/packages/wv.scm b/gnu/packages/wv.scm index a7f2944..8dd905a 100644 --- a/gnu/packages/wv.scm +++ b/gnu/packages/wv.scm @@ -20,7 +20,7 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages glib) - #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) #:use-module (guix packages) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 5639f1d..051039b 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -36,8 +36,8 @@ #:use-module (gnu packages xdisorg) #:use-module (gnu packages web) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages image) - #:use-module (gnu packages gnome) #:use-module (gnu packages pdf) #:use-module (gnu packages polkit) #:use-module (gnu packages gstreamer)