2013-01-14 21:49:01 -05:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2021-07-16 09:25:42 -04:00
|
|
|
|
;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
2015-01-18 16:36:26 -05:00
|
|
|
|
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
2013-04-19 13:41:05 -04:00
|
|
|
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
gnu: glib: Fix CVE-2021-27218 and CVE-2021-27219.
* gnu/packages/patches/glib-CVE-2021-27218.patch,
gnu/packages/patches/glib-CVE-2021-27219-01.patch,
gnu/packages/patches/glib-CVE-2021-27219-02.patch,
gnu/packages/patches/glib-CVE-2021-27219-03.patch,
gnu/packages/patches/glib-CVE-2021-27219-04.patch,
gnu/packages/patches/glib-CVE-2021-27219-05.patch,
gnu/packages/patches/glib-CVE-2021-27219-06.patch,
gnu/packages/patches/glib-CVE-2021-27219-07.patch,
gnu/packages/patches/glib-CVE-2021-27219-08.patch,
gnu/packages/patches/glib-CVE-2021-27219-09.patch,
gnu/packages/patches/glib-CVE-2021-27219-10.patch,
gnu/packages/patches/glib-CVE-2021-27219-11.patch,
gnu/packages/patches/glib-CVE-2021-27219-12.patch,
gnu/packages/patches/glib-CVE-2021-27219-13.patch,
gnu/packages/patches/glib-CVE-2021-27219-14.patch,
gnu/packages/patches/glib-CVE-2021-27219-15.patch,
gnu/packages/patches/glib-CVE-2021-27219-16.patch,
gnu/packages/patches/glib-CVE-2021-27219-17.patch,
gnu/packages/patches/glib-CVE-2021-27219-18.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/glib.scm (glib)[replacement]: New field.
(glib/fixed): New variable.
2021-03-11 05:34:28 -05:00
|
|
|
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
|
2023-04-22 16:35:07 -04:00
|
|
|
|
;;; Copyright © 2016, 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
|
2016-07-21 09:39:54 -04:00
|
|
|
|
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
|
2019-09-19 06:33:35 -04:00
|
|
|
|
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
2017-10-25 02:26:14 -04:00
|
|
|
|
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
2019-03-14 18:51:04 -04:00
|
|
|
|
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
2018-02-24 17:49:54 -05:00
|
|
|
|
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
2023-04-20 14:56:18 -04:00
|
|
|
|
;;; Copyright © 2019, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
2019-08-19 19:12:11 -04:00
|
|
|
|
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
2021-05-22 16:46:43 -04:00
|
|
|
|
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
|
2020-05-14 11:57:31 -04:00
|
|
|
|
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
|
2020-10-02 18:29:56 -04:00
|
|
|
|
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
|
2023-06-13 04:58:03 -04:00
|
|
|
|
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
2020-10-23 08:40:20 -04:00
|
|
|
|
;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
|
2021-07-14 07:13:03 -04:00
|
|
|
|
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
2022-03-01 16:29:54 -05:00
|
|
|
|
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
2023-05-25 15:12:03 -04:00
|
|
|
|
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
|
2013-01-14 21:49:01 -05:00
|
|
|
|
;;;
|
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
|
;;; your option) any later version.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
|
;;;
|
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
2013-01-16 17:01:24 -05:00
|
|
|
|
(define-module (gnu packages glib)
|
|
|
|
|
#:use-module (gnu packages)
|
2016-09-07 15:13:06 -04:00
|
|
|
|
#:use-module (gnu packages backup)
|
2018-01-17 16:39:08 -05:00
|
|
|
|
#:use-module (gnu packages base)
|
2021-03-11 07:22:07 -05:00
|
|
|
|
#:use-module (gnu packages bash)
|
2013-09-29 11:24:31 -04:00
|
|
|
|
#:use-module (gnu packages bison)
|
2021-03-24 23:28:10 -04:00
|
|
|
|
#:use-module (gnu packages boost)
|
2018-05-29 16:43:00 -04:00
|
|
|
|
#:use-module (gnu packages check)
|
2013-01-16 17:01:24 -05:00
|
|
|
|
#:use-module (gnu packages compression)
|
2023-09-01 08:44:56 -04:00
|
|
|
|
#:use-module (gnu packages cpp)
|
2023-10-27 13:38:50 -04:00
|
|
|
|
#:use-module (gnu packages curl)
|
2019-01-10 07:35:38 -05:00
|
|
|
|
#:use-module (gnu packages docbook)
|
|
|
|
|
#:use-module (gnu packages documentation)
|
2021-03-11 07:22:07 -05:00
|
|
|
|
#:use-module (gnu packages elf)
|
2016-07-21 09:39:54 -04:00
|
|
|
|
#:use-module (gnu packages enlightenment)
|
2018-01-17 16:39:08 -05:00
|
|
|
|
#:use-module (gnu packages file)
|
2013-09-29 11:24:31 -04:00
|
|
|
|
#:use-module (gnu packages flex)
|
2022-09-08 14:37:46 -04:00
|
|
|
|
#:use-module (gnu packages freedesktop)
|
gnu: gettext: Rename binding to 'gnu-gettext'.
* gnu/packages/gettext.scm (gettext): Rename to...
(gnu-gettext): ... this. This is used to work around the circular
dependency introduced in commit c42a4b7, which users with a #:renamer
cannot cope with.
* gnu/packages/acl.scm, gnu/packages/attr.scm, gnu/packages/cdrom.scm,
gnu/packages/fdisk.scm, gnu/packages/gkrellm.scm, gnu/packages/glib.scm,
gnu/packages/gnunet.scm, gnu/packages/grub.scm, gnu/packages/linux.scm,
gnu/packages/maths.scm, gnu/packages/nano.scm, gnu/packages/parted.scm,
gnu/packages/system.scm, gnu/packages/version-control.scm,
gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/wget.scm:
Adjust accordingly.
2013-11-20 16:12:49 -05:00
|
|
|
|
#:use-module (gnu packages gettext)
|
2016-03-05 00:19:01 -05:00
|
|
|
|
#:use-module (gnu packages gnome)
|
2021-03-25 00:07:52 -04:00
|
|
|
|
#:use-module (gnu packages graphviz)
|
2018-01-18 20:52:24 -05:00
|
|
|
|
#:use-module (gnu packages gperf)
|
2013-09-29 11:24:31 -04:00
|
|
|
|
#:use-module (gnu packages gtk)
|
2013-01-16 17:01:24 -05:00
|
|
|
|
#:use-module (gnu packages libffi)
|
2021-10-09 00:44:08 -04:00
|
|
|
|
#:use-module (gnu packages libunwind)
|
2017-01-09 00:34:34 -05:00
|
|
|
|
#:use-module (gnu packages linux)
|
2018-01-17 16:39:08 -05:00
|
|
|
|
#:use-module (gnu packages m4)
|
2016-09-07 15:13:06 -04:00
|
|
|
|
#:use-module (gnu packages nettle)
|
2016-04-27 09:51:32 -04:00
|
|
|
|
#:use-module (gnu packages pcre)
|
2018-01-18 20:52:24 -05:00
|
|
|
|
#:use-module (gnu packages package-management)
|
2013-04-19 13:41:05 -04:00
|
|
|
|
#:use-module (gnu packages perl)
|
gnu: Move test packages from perl to perl-check.
* gnu/packages/perl.scm (perl-test2-bundle-extended,
perl-test2-plugin-nowarnings, perl-test-base, perl-test-class,
perl-test-class-most, perl-test-cleannamespaces, perl-test-command,
perl-test-cpan-meta, perl-test-cpan-meta-json, perl-test-deep,
perl-test-differences, perl-test-directory, perl-test-eol,
perl-test-exception, perl-test-fatal, perl-test-file-sharedir-dist,
perl-test-files, perl-test-harness, perl-test-leaktrace,
perl-test-longstring, perl-test-manifest, perl-test-memory-cycle,
perl-test-mockobject, perl-test-mocktime, perl-test-most, perl-test-needs,
perl-test-notabs, perl-test-nowarnings, perl-test-number-delta,
perl-test-output, perl-test-pod, perl-test-pod-coverage, perl-test-requires,
perl-test-script, perl-test-sharedfork, perl-test-simple, perl-test-taint,
perl-test-tester, perl-test-trap, perl-test-utf8, perl-test-warn,
perl-test-warnings, perl-test-without-module, perl-test-writevariants,
perl-test-yaml, perl-test-trailingspace): Move variables to ...
* gnu/packages/perl-check.scm: ... this new file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/admin.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/crypto.scm,
gnu/packages/databases.scm,
gnu/packages/glib.scm,
gnu/packages/gnupg.scm,
gnu/packages/image-viewers.scm,
gnu/packages/language.scm,
gnu/packages/networking.scm,
gnu/packages/package-management.scm,
gnu/packages/perl.scm,
gnu/packages/terminals.scm,
gnu/packages/tex.scm,
gnu/packages/version-control.scm,
gnu/packages/web.scm,
gnu/packages/xml.scm,
gnu/packages/xorg.scm: Use perl-check module.
2017-11-13 17:03:01 -05:00
|
|
|
|
#:use-module (gnu packages perl-check)
|
2020-10-23 08:40:20 -04:00
|
|
|
|
#:use-module (gnu packages popt)
|
2013-01-16 17:01:24 -05:00
|
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
|
#:use-module (gnu packages python)
|
2020-05-14 11:57:31 -04:00
|
|
|
|
#:use-module (gnu packages python-xyz)
|
2022-03-01 16:29:54 -05:00
|
|
|
|
#:use-module (gnu packages sqlite)
|
2018-01-18 20:52:24 -05:00
|
|
|
|
#:use-module (gnu packages web)
|
2013-06-08 12:41:21 -04:00
|
|
|
|
#:use-module (gnu packages xml)
|
2013-09-16 13:00:47 -04:00
|
|
|
|
#:use-module (gnu packages xorg)
|
2018-01-17 16:39:08 -05:00
|
|
|
|
#:use-module (guix build-system gnu)
|
2020-10-23 08:40:20 -04:00
|
|
|
|
#:use-module (guix build-system cmake)
|
2018-01-18 20:52:24 -05:00
|
|
|
|
#:use-module (guix build-system meson)
|
2018-01-17 16:39:08 -05:00
|
|
|
|
#:use-module (guix build-system perl)
|
|
|
|
|
#:use-module (guix build-system python)
|
|
|
|
|
#:use-module (guix download)
|
2022-03-01 16:29:54 -05:00
|
|
|
|
#:use-module (guix git-download)
|
2018-01-17 16:39:08 -05:00
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module (guix utils)
|
2021-07-14 07:13:04 -04:00
|
|
|
|
#:use-module (guix gexp)
|
|
|
|
|
#:use-module (srfi srfi-26)
|
2020-06-24 04:48:52 -04:00
|
|
|
|
#:use-module ((srfi srfi-1) #:hide (zip))
|
2013-01-16 17:01:24 -05:00
|
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
|
;; Export variables up-front to allow circular dependency with the 'xorg'
|
|
|
|
|
;; module.
|
|
|
|
|
#:export (dbus
|
|
|
|
|
glib
|
2013-10-05 17:45:35 -04:00
|
|
|
|
gobject-introspection
|
2013-09-16 13:00:47 -04:00
|
|
|
|
dbus-glib
|
|
|
|
|
intltool
|
2013-10-05 18:24:06 -04:00
|
|
|
|
itstool
|
|
|
|
|
libsigc++
|
2015-01-18 16:36:26 -05:00
|
|
|
|
glibmm
|
2017-10-25 02:26:14 -04:00
|
|
|
|
telepathy-glib
|
2017-10-25 02:30:58 -04:00
|
|
|
|
perl-net-dbus
|
|
|
|
|
perl-net-dbus-glib))
|
2013-09-16 13:00:47 -04:00
|
|
|
|
|
|
|
|
|
(define dbus
|
2013-01-16 17:01:24 -05:00
|
|
|
|
(package
|
|
|
|
|
(name "dbus")
|
2022-07-01 16:12:55 -04:00
|
|
|
|
(version "1.14.0")
|
2013-01-16 17:01:24 -05:00
|
|
|
|
(source (origin
|
2015-09-30 21:58:33 -04:00
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
2016-02-08 08:57:09 -05:00
|
|
|
|
"https://dbus.freedesktop.org/releases/dbus/dbus-"
|
2022-07-01 16:12:55 -04:00
|
|
|
|
version ".tar.xz"))
|
2015-09-30 21:58:33 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2022-07-01 16:12:55 -04:00
|
|
|
|
"1m7bibavml4gx9d67j403l0kzd1a4z8lhrpxb2as3q4nfpiwrmyc"))
|
2020-11-28 12:47:25 -05:00
|
|
|
|
(patches (search-patches "dbus-helper-search-path.patch"))))
|
2013-01-16 17:01:24 -05:00
|
|
|
|
(build-system gnu-build-system)
|
2013-09-11 17:37:57 -04:00
|
|
|
|
(arguments
|
2015-09-30 21:58:33 -04:00
|
|
|
|
'(#:configure-flags
|
|
|
|
|
(list
|
|
|
|
|
;; Install the system bus socket under /var.
|
|
|
|
|
"--localstatedir=/var"
|
2013-09-11 17:37:57 -04:00
|
|
|
|
|
2015-09-30 21:58:33 -04:00
|
|
|
|
;; Install the session bus socket under /tmp.
|
|
|
|
|
"--with-session-socket-dir=/tmp"
|
2013-09-11 17:37:57 -04:00
|
|
|
|
|
2019-12-03 23:20:32 -05:00
|
|
|
|
;; Build shared libraries only.
|
|
|
|
|
"--disable-static"
|
|
|
|
|
|
2015-09-30 21:58:33 -04:00
|
|
|
|
;; Use /etc/dbus-1 for system-wide config.
|
|
|
|
|
;; Look for configuration file under
|
|
|
|
|
;; /etc/dbus-1. This is notably required by
|
|
|
|
|
;; 'dbus-daemon-launch-helper', which looks for
|
|
|
|
|
;; the 'system.conf' file in that place,
|
|
|
|
|
;; regardless of what '--config-file' was
|
|
|
|
|
;; passed to 'dbus-daemon' on the command line;
|
|
|
|
|
;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
|
|
|
|
|
"--sysconfdir=/etc")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Don't try to create /var and /etc.
|
2018-03-17 20:22:17 -04:00
|
|
|
|
(invoke "make"
|
|
|
|
|
"localstatedir=/tmp/dummy"
|
|
|
|
|
"sysconfdir=/tmp/dummy"
|
|
|
|
|
"install"))))))
|
2014-10-05 16:24:20 -04:00
|
|
|
|
(native-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list pkg-config
|
|
|
|
|
;; Dependencies to generate the doc.
|
|
|
|
|
docbook-xml-4.4
|
|
|
|
|
docbook-xsl
|
|
|
|
|
doxygen
|
|
|
|
|
xmlto
|
|
|
|
|
libxml2 ;for XML_CATALOG_FILES
|
|
|
|
|
libxslt
|
|
|
|
|
yelp-tools))
|
2013-01-16 17:01:24 -05:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list expat
|
|
|
|
|
;; Add a dependency on libx11 so that 'dbus-launch' has support for
|
|
|
|
|
;; '--autolaunch'.
|
|
|
|
|
libx11))
|
2019-01-10 07:35:38 -05:00
|
|
|
|
(outputs '("out" "doc")) ;22 MiB of HTML doc
|
gnu: Use HTTPS for supported freedesktop.org home pages.
* gnu/packages/fontutils.scm (fontconfig)[home-page]: Use HTTPS.
* gnu/packages/freedesktop.scm (python-pyxdg, accountsservice)
(modem-manager, telepathy-mission-control, telepathy-mission-control)
(colord-gtk, desktop-file-utils)[home-page]: Likewise.
* gnu/packages/ghostscript.scm (libspectre)[home-page]: Likewise.
* gnu/packages/glib.scm (dbus, dbus-glib, telepathy-glib)[home-page]:
Likewise.
* gnu/packages/gnome.scm (shared-mime-info, hicolor-icon-theme)
(libxklavier, colord, upower)[home-page]: Likewise.
* gnu/packages/gstreamer.scm (orc, python-gst)[home-page]: Likewise.
* gnu/packages/libcanberra.scm (sound-theme-freedesktop)[home-page]:
Likewise.
* gnu/packages/libreoffice.scm (libexttextcat)[home-page]: Likewise.
* gnu/packages/polkit.scm (polkit-gnome, polkit-gnome)[home-page]:
Likewise.
* gnu/packages/pulseaudio.scm (pavucontrol)[home-page]: Likewise.
* gnu/packages/python.scm (python-dbus)[home-page]: Likewise.
* gnu/packages/xdisorg.scm (startup-notification)[home-page]: Likewise.
2018-02-24 07:44:26 -05:00
|
|
|
|
(home-page "https://www.freedesktop.org/wiki/Software/dbus/")
|
2013-01-16 17:01:24 -05:00
|
|
|
|
(synopsis "Message bus for inter-process communication (IPC)")
|
|
|
|
|
(description
|
|
|
|
|
"D-Bus is a message bus system, a simple way for applications to
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
|
talk to one another. In addition to interprocess communication, D-Bus
|
2013-01-16 17:01:24 -05:00
|
|
|
|
helps coordinate process lifecycle; it makes it simple and reliable to
|
|
|
|
|
code a \"single instance\" application or daemon, and to launch
|
|
|
|
|
applications and daemons on demand when their services are needed.
|
|
|
|
|
|
|
|
|
|
D-Bus supplies both a system daemon (for events such as \"new hardware
|
|
|
|
|
device added\" or \"printer queue changed\") and a
|
|
|
|
|
per-user-login-session daemon (for general IPC needs among user
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
|
applications). Also, the message bus is built on top of a general
|
2013-01-16 17:01:24 -05:00
|
|
|
|
one-to-one message passing framework, which can be used by any two apps
|
|
|
|
|
to communicate directly (without going through the message bus
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
|
daemon). Currently the communicating applications are on one computer,
|
2013-01-16 17:01:24 -05:00
|
|
|
|
or through unencrypted TCP/IP suitable for use behind a firewall with
|
|
|
|
|
shared NFS home directories.")
|
2013-04-19 13:41:05 -04:00
|
|
|
|
(license license:gpl2+))) ; or Academic Free License 2.1
|
2013-01-14 21:49:01 -05:00
|
|
|
|
|
services: jami: Modernize to adjust to Shepherd 0.9+ changes.
This partially fixes <https://issues.guix.gnu.org/54786>, allowing the 'jami'
and 'jami-provisioning' system tests to pass again.
In version 0.9.0, Shepherd constructors are now run concurrently, via
cooperative scheduling (Guile Fibers). The Jami service previously relied on
blocking sleeps while polling for D-Bus services to become ready after forking
a process; this wouldn't work anymore since while blocking the service process
wouldn't be given the chance to finish starting. The new reliance on Fibers
in Shepherd's fork+exec-command in the helper 'send-dbus' procedure also meant
that it wouldn't work outside of Shepherd anymore. Finally, the
'start-service' Shepherd procedure used in the test suite would cause the Jami
daemon to be spawned multiple times (a bug introduced in Shepherd 0.9.0).
To fix/simplify these problems, this change does the following:
1. Use the Guile AC/D-Bus library for D-Bus communication, which simplify
things, such as avoiding the need to fork 'dbus-send' processes.
2. The non-blocking 'sleep' version of Fiber is used for the 'with-retries'
waiting syntax.
3. A 'dbus' package variant is used to adjust the session bus configuration,
tailoring it for the use case at hand.
4. Avoid start-service in the tests, preferring 'jami-service-available?' for
now.
* gnu/build/jami-service.scm (parse-dbus-reply, strip-quotes)
(deserialize-item, serialize-boolean, dbus-dict->alist)
(dbus-array->list, parse-account-ids, parse-account-details)
(parse-contacts): Delete procedures.
(%send-dbus-binary, %send-dbus-bus, %send-dbus-user, %send-dbus-group)
(%send-dbus-debug): Delete parameters.
(jami-service-running?): New procedure.
(send-dbus/configuration-manager): Rename to...
(call-configuration-manager-method): ... this. Turn METHOD into a positional
argument. Turn ARGUMENTS into an optional argument. Invoke
`call-dbus-method' instead of `send-dbus', adjusting callers accordingly.
(get-account-ids, id->account-details, id->account-details)
(id->volatile-account-details, username->id, add-account remove-account)
(username->contacts, remove-contact, add-contact, set-account-details)
(set-all-moderators, username->all-moderators?, username->moderators)
(set-moderator): Adjust accordingly.
(with-retries, send-dbus, dbus-available-services)
(dbus-service-available?): Move to ...
* gnu/build/dbus-service.scm: ... this new module.
(send-dbus): Rewrite to use the Guile AC/D-Bus library.
(%dbus-query-timeout, sleep*): New variables.
(%current-dbus-connection): New parameter.
(initialize-dbus-connection!, argument->signature-type)
(call-dbus-method): New procedures.
(dbus-available-services): Adjust accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register new module.
* gnu/packages/glib.scm (dbus-for-jami): New variable.
* gnu/services/telephony.scm: (jami-configuration)[dbus]: Default to
dbus-for-jami.
(jami-dbus-session-activation): Write a D-Bus daemon configuration file at
'/var/run/jami/session-local.conf'.
(jami-shepherd-services): Add the closure of guile-ac-d-bus and guile-fibers
as extensions. Adjust imported modules. Remove no longer used parameters.
<jami-dbus-session>: Use a PID file, avoiding the need for the manual
synchronization.
<jami>: Set DBUS_SESSION_BUS_ADDRESS environment variable. Poll using
'jami-service-available?' instead of 'dbus-service-available?'.
* gnu/tests/telephony.scm (run-jami-test): Add needed Guile extensions. Set
DBUS_SESSION_BUS_ADDRESS environment variable. Adjust all tests to use
'jami-service-available?' to determine if the service is started rather than
the now problematic Shepherd's 'start-service'.
2022-05-29 23:46:35 -04:00
|
|
|
|
;;; This variant is used for the Jami service: it provides an entry point to
|
|
|
|
|
;;; further customize the configuration of the D-Bus instance run by the
|
|
|
|
|
;;; jami-dbus-session service.
|
|
|
|
|
(define-public dbus-for-jami
|
|
|
|
|
(hidden-package
|
|
|
|
|
(package/inherit dbus
|
|
|
|
|
(name "dbus-for-jami")
|
|
|
|
|
(arguments
|
|
|
|
|
(substitute-keyword-arguments (package-arguments dbus)
|
|
|
|
|
((#:phases phases)
|
|
|
|
|
`(modify-phases ,phases
|
|
|
|
|
(add-after 'unpack 'customize-config
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "bus/session.conf.in"
|
|
|
|
|
(("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf")
|
|
|
|
|
"/var/run/jami/session-local.conf")))))))))))
|
|
|
|
|
|
2021-12-07 22:20:02 -05:00
|
|
|
|
;;; The reason this is not enabled in the regular dbus package is because it
|
|
|
|
|
;;; impacts the performance of D-Bus (including its library) as a whole, even
|
|
|
|
|
;;; when the DBUS_VERBOSE environment variable is not set.
|
|
|
|
|
(define-public dbus-verbose
|
|
|
|
|
(package/inherit dbus
|
|
|
|
|
(name "dbus-verbose")
|
|
|
|
|
(arguments (substitute-keyword-arguments (package-arguments dbus)
|
|
|
|
|
((#:configure-flags flags '())
|
|
|
|
|
`(cons "--enable-verbose-mode" ,flags))))
|
|
|
|
|
(synopsis "D-Bus with verbose mode enabled for debugging")
|
|
|
|
|
(description "This variant D-Bus package is built with verbose mode, which
|
|
|
|
|
eases debugging of D-Bus services by printing various debug information when
|
|
|
|
|
the @code{DBUS_VERBOSE} environment variable is set to @samp{1}. For more
|
|
|
|
|
information, refer to the @samp{dbus-daemon(1)} man page.")))
|
|
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
|
(define glib
|
2013-01-14 21:49:01 -05:00
|
|
|
|
(package
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(name "glib")
|
2023-10-27 13:45:52 -04:00
|
|
|
|
(version "2.78.0")
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append "mirror://gnome/sources/"
|
|
|
|
|
name "/" (string-take version 4) "/"
|
|
|
|
|
name "-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
2023-10-27 13:45:52 -04:00
|
|
|
|
(base32 "0c3vagxl77wma85qinbj974jvw96n5bvch2m7hqcwxq8fa5spsj4"))
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(patches
|
2021-04-20 09:27:44 -04:00
|
|
|
|
(search-patches "glib-appinfo-watch.patch"
|
|
|
|
|
"glib-skip-failing-test.patch"))
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
2023-03-26 11:39:11 -04:00
|
|
|
|
(substitute* "glib/tests/spawn-test.c"
|
2021-10-07 15:07:08 -04:00
|
|
|
|
(("/bin/sh") "sh"))))))
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(build-system meson-build-system)
|
2021-05-22 16:46:43 -04:00
|
|
|
|
(outputs '("out" ;libraries, locales, etc
|
|
|
|
|
"static" ;static libraries
|
2021-10-07 15:07:08 -04:00
|
|
|
|
"bin" ;executables; depends on Python
|
|
|
|
|
"debug"))
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(arguments
|
2022-08-22 12:44:41 -04:00
|
|
|
|
(list
|
|
|
|
|
#:disallowed-references
|
|
|
|
|
(cons tzdata-for-tests
|
|
|
|
|
;; Verify glib-mkenums, gtester, ... use the cross-compiled
|
|
|
|
|
;; python.
|
|
|
|
|
(if (%current-target-system)
|
|
|
|
|
(map (cut gexp-input <> #:native? #t)
|
|
|
|
|
`(,(this-package-native-input "python")
|
|
|
|
|
,(this-package-native-input "python-wrapper")))
|
|
|
|
|
'()))
|
|
|
|
|
#:configure-flags #~(list "--default-library=both"
|
|
|
|
|
"-Dman=false"
|
|
|
|
|
"-Dselinux=disabled"
|
|
|
|
|
(string-append "--bindir="
|
|
|
|
|
#$output:bin "/bin"))
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
2023-03-26 11:39:11 -04:00
|
|
|
|
(add-after 'unpack 'set-G_TEST_SRCDIR
|
|
|
|
|
(lambda _
|
|
|
|
|
(setenv "G_TEST_SRCDIR" (string-append (getcwd) "/gio/tests"))))
|
2022-08-22 12:44:41 -04:00
|
|
|
|
;; Needed to pass the test phase on slower ARM and i686 machines.
|
|
|
|
|
(add-after 'unpack 'increase-test-timeout
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "meson.build"
|
|
|
|
|
(("(test_timeout.*) = ([[:digit:]]+)" all first second)
|
|
|
|
|
(string-append first " = " second "0")))))
|
|
|
|
|
(add-after 'unpack 'disable-failing-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "gio/tests/meson.build"
|
|
|
|
|
((".*'testfilemonitor'.*") ;marked as flaky
|
|
|
|
|
""))
|
|
|
|
|
(with-directory-excursion "glib/tests"
|
|
|
|
|
(substitute* '("unix.c" "utils.c")
|
|
|
|
|
(("[ \t]*g_test_add_func.*;") "")))
|
|
|
|
|
(with-directory-excursion "gio/tests"
|
2023-03-26 11:39:11 -04:00
|
|
|
|
(substitute* '("contenttype.c"
|
|
|
|
|
"gdbus-address-get-session.c"
|
|
|
|
|
"gdbus-server-auth.c"
|
|
|
|
|
"gdbus-peer.c"
|
|
|
|
|
"appinfo.c"
|
|
|
|
|
"desktop-app-info.c")
|
|
|
|
|
(("[ \t]*g_test_add_func.*;") ""))
|
|
|
|
|
(unless (which "update-desktop-database")
|
|
|
|
|
(substitute* "file.c"
|
|
|
|
|
(("[ \t]*g_test_add_func.*query-default-handler.*;") "")))
|
|
|
|
|
(substitute* '("portal-support-snap.c")
|
|
|
|
|
(("g_test_init .*")
|
|
|
|
|
"return EXIT_SUCCESS;")))
|
2021-09-15 16:10:06 -04:00
|
|
|
|
|
2022-08-22 12:44:41 -04:00
|
|
|
|
#$@(if (target-x86-32?)
|
|
|
|
|
;; Comment out parts of timer.c that fail on i686 due to
|
|
|
|
|
;; excess precision when building with GCC 10:
|
|
|
|
|
;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
|
|
|
|
|
'((substitute* "glib/tests/timer.c"
|
|
|
|
|
(("^ g_assert_cmpuint \\(micros.*" all)
|
|
|
|
|
(string-append "//" all "\n"))
|
|
|
|
|
(("^ g_assert_cmpfloat \\(elapsed, ==.*" all)
|
|
|
|
|
(string-append "//" all "\n"))))
|
2023-06-13 04:58:03 -04:00
|
|
|
|
'())
|
|
|
|
|
#$@(if (system-hurd?)
|
|
|
|
|
'((with-directory-excursion "gio/tests"
|
|
|
|
|
;; TIMEOUT after 600s
|
|
|
|
|
(substitute* '("actions.c"
|
|
|
|
|
"dbus-appinfo.c"
|
|
|
|
|
"debugcontroller.c"
|
|
|
|
|
"gdbus-bz627724.c"
|
|
|
|
|
"gdbus-connection-slow.c"
|
|
|
|
|
"gdbus-exit-on-close.c"
|
|
|
|
|
"gdbus-export.c"
|
|
|
|
|
"gdbus-introspection.c"
|
|
|
|
|
"gdbus-method-invocation.c"
|
|
|
|
|
"gdbus-non-socket.c"
|
|
|
|
|
"gdbus-proxy-threads.c"
|
|
|
|
|
"gdbus-proxy-unique-name.c"
|
|
|
|
|
"gdbus-proxy-well-known-name.c"
|
|
|
|
|
"gdbus-proxy.c"
|
|
|
|
|
"gdbus-test-codegen.c"
|
|
|
|
|
"gmenumodel.c"
|
|
|
|
|
"gnotification.c"
|
|
|
|
|
"stream-rw_all.c")
|
|
|
|
|
(("return (g_test_run|session_bus_run)" all call)
|
|
|
|
|
(string-append "return 0;// " call))
|
|
|
|
|
((" (ret|rtv|result) = (g_test_run|session_bus_run)"
|
|
|
|
|
all var call)
|
|
|
|
|
(string-append " " var " = 0;// " call))
|
|
|
|
|
(("[ \t]*g_test_add_func.*;") ""))
|
|
|
|
|
|
|
|
|
|
;; commenting-out g_assert, g_test_add_func, g_test_run
|
|
|
|
|
;; does not help; special-case short-circuit.
|
|
|
|
|
(substitute* "gdbus-connection-loss.c" ;; TODO?
|
|
|
|
|
((" gchar \\*path;.*" all)
|
|
|
|
|
(string-append all " return 0;\n")))
|
|
|
|
|
|
|
|
|
|
;; FAIL
|
|
|
|
|
(substitute* '("appmonitor.c"
|
|
|
|
|
"async-splice-output-stream.c"
|
|
|
|
|
"autoptr.c"
|
2023-09-15 12:20:38 -04:00
|
|
|
|
"contexts.c"
|
2023-06-13 04:58:03 -04:00
|
|
|
|
"converter-stream.c"
|
|
|
|
|
"file.c"
|
|
|
|
|
"g-file-info.c"
|
|
|
|
|
"g-file.c"
|
|
|
|
|
"g-icon.c"
|
|
|
|
|
"gapplication.c"
|
|
|
|
|
"gdbus-connection-flush.c"
|
|
|
|
|
"gdbus-connection.c"
|
2023-09-15 12:20:38 -04:00
|
|
|
|
"gdbus-names.c"
|
2023-06-13 04:58:03 -04:00
|
|
|
|
"gdbus-server-auth.c"
|
|
|
|
|
"gsocketclient-slow.c"
|
|
|
|
|
"gsubprocess.c"
|
|
|
|
|
"io-stream.c"
|
|
|
|
|
"live-g-file.c"
|
2023-09-15 12:20:38 -04:00
|
|
|
|
"memory-monitor.c"
|
2023-06-13 04:58:03 -04:00
|
|
|
|
"mimeapps.c"
|
|
|
|
|
"network-monitor-race.c"
|
|
|
|
|
"network-monitor.c"
|
|
|
|
|
"pollable.c"
|
|
|
|
|
"power-profile-monitor.c"
|
|
|
|
|
"readwrite.c"
|
|
|
|
|
"resources.c"
|
|
|
|
|
"socket-service.c"
|
|
|
|
|
"socket.c"
|
|
|
|
|
"tls-bindings.c"
|
|
|
|
|
"tls-certificate.c"
|
|
|
|
|
"tls-database.c"
|
|
|
|
|
"trash.c"
|
|
|
|
|
"vfs.c")
|
|
|
|
|
(("return (g_test_run|session_bus_run)" all call)
|
|
|
|
|
(string-append "return 0;// " call))
|
|
|
|
|
((" (ret|rtv|result) = (g_test_run|session_bus_run)"
|
|
|
|
|
all var call)
|
|
|
|
|
(string-append " " var " = 0;// " call))
|
|
|
|
|
(("[ \t]*g_test_add_func.*;") ""))
|
|
|
|
|
|
|
|
|
|
;; commenting-out g_test_add_func, g_test_run does
|
|
|
|
|
;; not help; special-case short-circuit.
|
|
|
|
|
(substitute* "gsettings.c"
|
|
|
|
|
(("#ifdef TEST_LOCALE_PATH" all)
|
|
|
|
|
(string-append " return 0;\n" all)))
|
|
|
|
|
|
|
|
|
|
;; commenting-out g_test_add_func, ;; g_test_run does
|
|
|
|
|
;; not help; special-case short-circuit.
|
|
|
|
|
(substitute* "proxy-test.c"
|
|
|
|
|
((" gint result.*;" all)
|
|
|
|
|
(string-append all " return 0;\n")))
|
|
|
|
|
|
|
|
|
|
;; commenting-out g_test_add_func, g_test_run
|
|
|
|
|
;; does not help; special-case short-circuit.
|
|
|
|
|
(substitute* "volumemonitor.c"
|
|
|
|
|
((" gboolean ret;" all)
|
|
|
|
|
(string-append all " return 0;\n"))))
|
|
|
|
|
|
|
|
|
|
(with-directory-excursion "glib/tests"
|
|
|
|
|
;; TIMEOUT after 600s
|
|
|
|
|
(substitute* "thread-pool.c"
|
|
|
|
|
(("[ \t]*g_test_add_func.*;") ""))
|
|
|
|
|
|
|
|
|
|
;; FAIL
|
|
|
|
|
(substitute* "fileutils.c"
|
|
|
|
|
(("[ \t]*g_test_add_func.*;") ""))))
|
2022-08-22 12:44:41 -04:00
|
|
|
|
'())))
|
|
|
|
|
;; Python references are not being patched in patch-phase of build,
|
|
|
|
|
;; despite using python-wrapper as input. So we patch them manually.
|
|
|
|
|
;;
|
|
|
|
|
;; These python scripts are both used during build and installed,
|
|
|
|
|
;; so at first, use a python from 'native-inputs', not 'inputs'. When
|
|
|
|
|
;; cross-compiling, the 'patch-shebangs' phase will replace
|
|
|
|
|
;; the native python with a python from 'inputs'.
|
|
|
|
|
(add-after 'unpack 'patch-python-references
|
|
|
|
|
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
|
|
|
|
(substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
|
|
|
|
|
"glib/gtester-report.in"
|
|
|
|
|
"gobject/glib-genmarshal.in"
|
|
|
|
|
"gobject/glib-mkenums.in")
|
|
|
|
|
(("@PYTHON@")
|
|
|
|
|
(search-input-file (or native-inputs inputs)
|
|
|
|
|
(string-append
|
|
|
|
|
"/bin/python"
|
|
|
|
|
#$(version-major+minor
|
|
|
|
|
(package-version python))))))))
|
|
|
|
|
(add-before 'check 'pre-check
|
|
|
|
|
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
|
|
|
|
|
;; For tests/gdatetime.c.
|
|
|
|
|
(setenv "TZDIR"
|
|
|
|
|
(search-input-directory (or native-inputs inputs)
|
|
|
|
|
"share/zoneinfo"))
|
|
|
|
|
;; Some tests want write access there.
|
|
|
|
|
(setenv "HOME" (getcwd))
|
|
|
|
|
(setenv "XDG_CACHE_HOME" (getcwd))))
|
|
|
|
|
(add-after 'install 'move-static-libraries
|
|
|
|
|
(lambda _
|
|
|
|
|
(mkdir-p (string-append #$output:static "/lib"))
|
|
|
|
|
(for-each (lambda (a)
|
|
|
|
|
(rename-file a (string-append #$output:static "/lib/"
|
|
|
|
|
(basename a))))
|
|
|
|
|
(find-files #$output "\\.a$"))))
|
|
|
|
|
(add-after 'install 'patch-pkg-config-files
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
;; Do not refer to "bindir", which points to "${prefix}/bin".
|
|
|
|
|
;; We don't patch "bindir" to point to "$bin/bin", because that
|
|
|
|
|
;; would create a reference cycle between the "out" and "bin"
|
|
|
|
|
;; outputs.
|
|
|
|
|
(substitute*
|
|
|
|
|
(list (search-input-file outputs "lib/pkgconfig/gio-2.0.pc")
|
|
|
|
|
(search-input-file outputs "lib/pkgconfig/glib-2.0.pc"))
|
|
|
|
|
(("^bindir=.*")
|
|
|
|
|
"")
|
|
|
|
|
(("=\\$\\{bindir\\}/")
|
|
|
|
|
"=")))))))
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(native-inputs
|
2022-08-22 12:44:41 -04:00
|
|
|
|
(list dbus
|
|
|
|
|
gettext-minimal
|
|
|
|
|
m4 ;for installing m4 macros
|
|
|
|
|
perl ;needed by GIO tests
|
|
|
|
|
pkg-config
|
|
|
|
|
python ;for 'patch-python-references
|
|
|
|
|
python-wrapper
|
|
|
|
|
tzdata-for-tests)) ;for tests/gdatetime.c
|
2021-03-11 07:22:07 -05:00
|
|
|
|
(inputs
|
2022-08-08 13:54:39 -04:00
|
|
|
|
(list ;; "python", "python-wrapper" and "bash-minimal"
|
2022-08-22 12:44:41 -04:00
|
|
|
|
;; are for the 'patch-shebangs' phase, to make
|
|
|
|
|
;; sure the installed scripts end up with a correct shebang
|
|
|
|
|
;; when cross-compiling.
|
|
|
|
|
bash-minimal
|
|
|
|
|
python
|
|
|
|
|
python-wrapper))
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(propagated-inputs
|
2023-03-26 11:39:11 -04:00
|
|
|
|
(list libffi ; in the Requires.private field of gobject-2.0.pc
|
|
|
|
|
pcre2 ; in the Requires.private field of glib-2.0.pc
|
|
|
|
|
`(,util-linux "lib") ;for libmount
|
|
|
|
|
zlib)) ; in the Requires.private field of glib-2.0.pc
|
2021-03-11 06:39:29 -05:00
|
|
|
|
(native-search-paths
|
|
|
|
|
;; This variable is not really "owned" by GLib, but several related
|
|
|
|
|
;; packages refer to it: gobject-introspection's tools use it as a search
|
|
|
|
|
;; path for .gir files, and it's also a search path for schemas produced
|
|
|
|
|
;; by 'glib-compile-schemas'.
|
|
|
|
|
(list
|
|
|
|
|
(search-path-specification
|
|
|
|
|
(variable "XDG_DATA_DIRS")
|
|
|
|
|
(files '("share")))
|
|
|
|
|
;; To load extra gio modules from glib-networking, etc.
|
|
|
|
|
(search-path-specification
|
|
|
|
|
(variable "GIO_EXTRA_MODULES")
|
|
|
|
|
(files '("lib/gio/modules")))))
|
|
|
|
|
(search-paths native-search-paths)
|
2021-03-11 07:45:50 -05:00
|
|
|
|
(synopsis "Low-level core library for GNOME projects")
|
|
|
|
|
(description "GLib provides the core application building blocks for
|
|
|
|
|
libraries and applications written in C. It provides the core object system
|
|
|
|
|
used in GNOME, the main loop implementation, and a large set of utility
|
|
|
|
|
functions for strings and common data structures.")
|
|
|
|
|
(home-page "https://wiki.gnome.org/Projects/GLib")
|
2021-10-07 15:07:08 -04:00
|
|
|
|
(license license:lgpl2.1+)
|
|
|
|
|
(properties '((hidden? . #t)))))
|
gnu: glib: Fix CVE-2021-27218 and CVE-2021-27219.
* gnu/packages/patches/glib-CVE-2021-27218.patch,
gnu/packages/patches/glib-CVE-2021-27219-01.patch,
gnu/packages/patches/glib-CVE-2021-27219-02.patch,
gnu/packages/patches/glib-CVE-2021-27219-03.patch,
gnu/packages/patches/glib-CVE-2021-27219-04.patch,
gnu/packages/patches/glib-CVE-2021-27219-05.patch,
gnu/packages/patches/glib-CVE-2021-27219-06.patch,
gnu/packages/patches/glib-CVE-2021-27219-07.patch,
gnu/packages/patches/glib-CVE-2021-27219-08.patch,
gnu/packages/patches/glib-CVE-2021-27219-09.patch,
gnu/packages/patches/glib-CVE-2021-27219-10.patch,
gnu/packages/patches/glib-CVE-2021-27219-11.patch,
gnu/packages/patches/glib-CVE-2021-27219-12.patch,
gnu/packages/patches/glib-CVE-2021-27219-13.patch,
gnu/packages/patches/glib-CVE-2021-27219-14.patch,
gnu/packages/patches/glib-CVE-2021-27219-15.patch,
gnu/packages/patches/glib-CVE-2021-27219-16.patch,
gnu/packages/patches/glib-CVE-2021-27219-17.patch,
gnu/packages/patches/glib-CVE-2021-27219-18.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/glib.scm (glib)[replacement]: New field.
(glib/fixed): New variable.
2021-03-11 05:34:28 -05:00
|
|
|
|
|
2019-11-11 09:38:11 -05:00
|
|
|
|
(define-public glib-with-documentation
|
|
|
|
|
;; glib's doc must be built in a separate package since it requires gtk-doc,
|
|
|
|
|
;; which in turn depends on glib.
|
2023-03-26 11:39:11 -04:00
|
|
|
|
(let ((base glib))
|
|
|
|
|
(package/inherit base
|
|
|
|
|
(properties (alist-delete 'hidden? (package-properties base)))
|
|
|
|
|
(outputs (cons "doc" (package-outputs base))) ; 20 MiB of GTK-Doc reference
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("docbook-xml-4.2" ,docbook-xml-4.2)
|
|
|
|
|
("docbook-xml-4.5" ,docbook-xml)
|
|
|
|
|
("docbook-xsl" ,docbook-xsl)
|
|
|
|
|
("gtk-doc" ,gtk-doc)
|
|
|
|
|
("libxml2" ,libxml2)
|
|
|
|
|
("xsltproc" ,libxslt)
|
|
|
|
|
,@(package-native-inputs base)))
|
|
|
|
|
(arguments
|
|
|
|
|
(substitute-keyword-arguments (package-arguments base)
|
|
|
|
|
((#:configure-flags flags ''())
|
|
|
|
|
#~(cons "-Dgtk_doc=true"
|
|
|
|
|
(delete "-Dman=false" #$flags)))
|
|
|
|
|
((#:phases phases)
|
|
|
|
|
#~(modify-phases #$phases
|
|
|
|
|
(add-after 'unpack 'patch-docbook-xml
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(with-directory-excursion "docs"
|
|
|
|
|
(substitute* (find-files "." "\\.xml$")
|
|
|
|
|
(("http://www.oasis-open.org/docbook/xml/4\\.5/")
|
|
|
|
|
(string-append (assoc-ref inputs "docbook-xml-4.5")
|
|
|
|
|
"/xml/dtd/docbook/"))
|
|
|
|
|
(("http://www.oasis-open.org/docbook/xml/4\\.2/")
|
|
|
|
|
(string-append (assoc-ref inputs "docbook-xml-4.2")
|
|
|
|
|
"/xml/dtd/docbook/"))))))
|
|
|
|
|
(add-after 'install 'move-doc
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(doc (assoc-ref outputs "doc"))
|
|
|
|
|
(html (string-append "/share/gtk-doc")))
|
|
|
|
|
(mkdir-p (string-append doc "/share"))
|
|
|
|
|
(rename-file
|
|
|
|
|
(string-append out html)
|
|
|
|
|
(string-append doc html))))))))))))
|
2019-11-11 09:38:11 -05:00
|
|
|
|
|
2021-08-24 07:10:21 -04:00
|
|
|
|
(define (python-extension-suffix python triplet)
|
|
|
|
|
"Determine the suffix for C extensions for PYTHON when compiled
|
|
|
|
|
for TRIPLET."
|
|
|
|
|
;; python uses strings like 'x86_64-linux-gnu' instead of
|
|
|
|
|
;; 'x86_64-unknown-linux-gnu'.
|
|
|
|
|
(define normalised-system
|
|
|
|
|
(string-replace-substring triplet "-unknown-" "-"))
|
|
|
|
|
(define major.minor (version-major+minor (package-version python)))
|
|
|
|
|
(define majorminor (string-delete #\. major.minor))
|
|
|
|
|
(string-append
|
|
|
|
|
;; If guix' python package used "--with-pydebug", a #\d would
|
|
|
|
|
;; need to be added, likewise "--with-pymalloc" and "--with-wide-unicode"
|
|
|
|
|
;; would require a #\m and #\u, see cpython's configure.ac.
|
|
|
|
|
".cpython-" majorminor "-" normalised-system
|
|
|
|
|
(if (target-mingw? triplet)
|
|
|
|
|
".dll"
|
|
|
|
|
".so")))
|
|
|
|
|
|
|
|
|
|
(define (correct-library-name-phase python name)
|
|
|
|
|
"Return a G-exp evaluating to a phase renaming the python extension NAME
|
|
|
|
|
from what Meson thinks its name should be to what python expects its name
|
|
|
|
|
to be. NAME must not include the platform-specific suffix. This can only
|
|
|
|
|
be used when cross-compiling."
|
|
|
|
|
#~(lambda _
|
|
|
|
|
(define name #$name)
|
|
|
|
|
(define native-suffix
|
|
|
|
|
#$(python-extension-suffix python
|
|
|
|
|
(nix-system->gnu-triplet (%current-system))))
|
|
|
|
|
(define target-suffix
|
|
|
|
|
#$(python-extension-suffix python (%current-target-system)))
|
|
|
|
|
(define native-name
|
|
|
|
|
(string-append name native-suffix))
|
|
|
|
|
(define target-name
|
|
|
|
|
(string-append name target-suffix))
|
|
|
|
|
(rename-file native-name target-name)))
|
|
|
|
|
|
2013-10-05 17:45:35 -04:00
|
|
|
|
(define gobject-introspection
|
2013-09-29 11:24:31 -04:00
|
|
|
|
(package
|
|
|
|
|
(name "gobject-introspection")
|
2023-03-26 15:19:11 -04:00
|
|
|
|
(version "1.76.1")
|
2013-09-29 11:24:31 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2015-04-20 05:57:52 -04:00
|
|
|
|
(uri (string-append "mirror://gnome/sources/"
|
2014-12-09 07:31:17 -05:00
|
|
|
|
"gobject-introspection/" (version-major+minor version)
|
|
|
|
|
"/gobject-introspection-" version ".tar.xz"))
|
2013-09-29 11:24:31 -04:00
|
|
|
|
(sha256
|
2023-03-26 15:19:11 -04:00
|
|
|
|
(base32 "1grq6wmbi2nbnwffgvsljd481zm6darnk12dvkf02m9lcjzphq8r"))
|
2016-04-08 08:18:13 -04:00
|
|
|
|
(patches (search-patches
|
|
|
|
|
"gobject-introspection-cc.patch"
|
|
|
|
|
"gobject-introspection-girepository.patch"
|
|
|
|
|
"gobject-introspection-absolute-shlib-path.patch"))))
|
2019-06-21 08:08:54 -04:00
|
|
|
|
(build-system meson-build-system)
|
2018-12-03 10:21:35 -05:00
|
|
|
|
(arguments
|
2021-08-24 06:26:36 -04:00
|
|
|
|
`(,@(if (%current-target-system)
|
|
|
|
|
`(#:configure-flags
|
|
|
|
|
'("-Dgi_cross_use_prebuilt_gi=true"
|
|
|
|
|
;; Building introspection data requires running binaries
|
|
|
|
|
;; for ‘host’ on ‘build’, so don't do that.
|
|
|
|
|
;;
|
|
|
|
|
;; TODO: it would be nice to have introspection data anyways
|
|
|
|
|
;; as discussed here: https://issues.guix.gnu.org/50201#60.
|
|
|
|
|
"-Dbuild_introspection_data=false"))
|
|
|
|
|
'())
|
|
|
|
|
#:phases
|
2021-08-24 07:10:21 -04:00
|
|
|
|
,#~
|
2018-12-03 10:21:35 -05:00
|
|
|
|
(modify-phases %standard-phases
|
2021-08-24 07:10:21 -04:00
|
|
|
|
#$@(if (%current-target-system)
|
|
|
|
|
;; 'typelibs' is undefined.
|
|
|
|
|
`((add-after 'unpack 'set-typelibs
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "meson.build"
|
|
|
|
|
(("\\bsources: typelibs\\b")
|
|
|
|
|
"sources: []")))))
|
|
|
|
|
'())
|
2018-12-03 10:21:35 -05:00
|
|
|
|
(add-after 'unpack 'do-not-use-/usr/bin/env
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "tools/g-ir-tool-template.in"
|
|
|
|
|
(("#!@PYTHON_CMD@")
|
2021-12-17 16:06:16 -05:00
|
|
|
|
(string-append "#!" (which "python3"))))))
|
2021-08-24 07:10:21 -04:00
|
|
|
|
#$@(if (%current-target-system)
|
|
|
|
|
;; Meson gives python extensions an incorrect name, see
|
|
|
|
|
;; <https://github.com/mesonbuild/meson/issues/7049>.
|
|
|
|
|
#~((add-after 'install 'rename-library
|
|
|
|
|
#$(correct-library-name-phase
|
|
|
|
|
(this-package-input "python")
|
|
|
|
|
#~(string-append #$output
|
|
|
|
|
"/lib/gobject-introspection/giscanner"
|
|
|
|
|
"/_giscanner"))))
|
|
|
|
|
#~()))))
|
2020-09-24 08:58:26 -04:00
|
|
|
|
(native-inputs
|
2023-02-28 03:33:37 -05:00
|
|
|
|
`(,@(if (%current-target-system)
|
|
|
|
|
`(("python" ,python))
|
|
|
|
|
'())
|
|
|
|
|
("glib" ,glib "bin")
|
2021-08-24 06:30:42 -04:00
|
|
|
|
("pkg-config" ,pkg-config)
|
2021-10-01 10:21:14 -04:00
|
|
|
|
("bison" ,bison)
|
|
|
|
|
("flex" ,flex)))
|
2013-09-29 11:24:31 -04:00
|
|
|
|
(inputs
|
2021-10-01 10:21:15 -04:00
|
|
|
|
`(("python" ,python)
|
2018-12-03 10:21:35 -05:00
|
|
|
|
("zlib" ,zlib)))
|
2013-10-14 18:14:34 -04:00
|
|
|
|
(propagated-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list glib
|
|
|
|
|
;; In practice, GIR users will need libffi when using
|
|
|
|
|
;; gobject-introspection.
|
|
|
|
|
libffi))
|
2014-12-09 07:43:03 -05:00
|
|
|
|
(native-search-paths
|
2020-09-24 08:58:26 -04:00
|
|
|
|
(list
|
|
|
|
|
(search-path-specification
|
|
|
|
|
(variable "GI_TYPELIB_PATH")
|
|
|
|
|
(files '("lib/girepository-1.0")))))
|
2014-12-09 07:43:03 -05:00
|
|
|
|
(search-paths native-search-paths)
|
2020-09-24 09:30:21 -04:00
|
|
|
|
(synopsis "GObject introspection tools and libraries")
|
|
|
|
|
(description "GObject introspection is a middleware layer between
|
|
|
|
|
C libraries (using GObject) and language bindings. The C library can be scanned
|
|
|
|
|
at compile time and generate metadata files, in addition to the actual native
|
|
|
|
|
C library. Then language bindings can read this metadata and automatically
|
|
|
|
|
provide bindings to call into the C library.")
|
|
|
|
|
(home-page "https://wiki.gnome.org/Projects/GObjectIntrospection")
|
|
|
|
|
(license
|
|
|
|
|
(list
|
|
|
|
|
;; For library.
|
|
|
|
|
license:lgpl2.0+
|
|
|
|
|
;; For tools.
|
|
|
|
|
license:gpl2+))))
|
2013-09-29 11:24:31 -04:00
|
|
|
|
|
2022-09-04 21:27:55 -04:00
|
|
|
|
(define-public gobject-introspection-next
|
|
|
|
|
(package
|
|
|
|
|
(inherit gobject-introspection)
|
|
|
|
|
(name "gobject-introspection")
|
|
|
|
|
(version "1.73.1")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://gnome/sources/"
|
|
|
|
|
"gobject-introspection/" (version-major+minor version)
|
|
|
|
|
"/gobject-introspection-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1gkbx32as3v2286w7k3j24fwhkxj6brr49881m2zavxamfwxdm34"))
|
|
|
|
|
(patches (search-patches
|
|
|
|
|
"gobject-introspection-cc-1.72.patch"
|
|
|
|
|
"gobject-introspection-girepository.patch"
|
2023-03-26 11:39:11 -04:00
|
|
|
|
"gobject-introspection-absolute-shlib-path-1.72.patch"))))))
|
2022-09-04 21:27:55 -04:00
|
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
|
(define intltool
|
2013-03-05 04:16:17 -05:00
|
|
|
|
(package
|
|
|
|
|
(name "intltool")
|
2015-10-15 10:04:13 -04:00
|
|
|
|
(version "0.51.0")
|
2013-03-05 04:16:17 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2013-04-19 13:41:05 -04:00
|
|
|
|
(uri (string-append "https://launchpad.net/intltool/trunk/"
|
|
|
|
|
version "/+download/intltool-"
|
|
|
|
|
version ".tar.gz"))
|
2017-06-14 11:42:38 -04:00
|
|
|
|
(patches (search-patches "intltool-perl-compatibility.patch"))
|
2013-03-05 04:16:17 -05:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2015-10-15 10:04:13 -04:00
|
|
|
|
"1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7"))))
|
2013-03-05 04:16:17 -05:00
|
|
|
|
(build-system gnu-build-system)
|
2014-11-13 13:46:04 -05:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list file))
|
2013-03-05 04:16:17 -05:00
|
|
|
|
(propagated-inputs
|
2013-04-21 05:27:37 -04:00
|
|
|
|
`(;; Propagate gettext because users expect it to be there, and so does
|
|
|
|
|
;; the `intltool-update' script.
|
2016-09-25 03:33:02 -04:00
|
|
|
|
("gettext" ,gettext-minimal)
|
2013-04-21 05:27:37 -04:00
|
|
|
|
|
2013-04-21 15:09:49 -04:00
|
|
|
|
("perl-xml-parser" ,perl-xml-parser)
|
2013-04-21 05:27:37 -04:00
|
|
|
|
("perl" ,perl)))
|
2014-11-13 13:46:04 -05:00
|
|
|
|
(arguments
|
2018-02-19 22:47:47 -05:00
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'patch-file-references
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((file (assoc-ref inputs "file")))
|
|
|
|
|
(substitute* "intltool-update.in"
|
|
|
|
|
(("`file") (string-append "`" file "/bin/file")))
|
|
|
|
|
#t))))))
|
2013-04-19 13:41:05 -04:00
|
|
|
|
(home-page "https://launchpad.net/intltool/+download")
|
|
|
|
|
(synopsis "Tools to centralise translations of different file formats")
|
2013-03-05 04:16:17 -05:00
|
|
|
|
(description
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
|
"Intltool is a set of tools to centralise translations of many different
|
2013-03-05 04:16:17 -05:00
|
|
|
|
file formats using GNU gettext-compatible PO files.
|
|
|
|
|
|
|
|
|
|
The intltool collection can be used to do these things:
|
|
|
|
|
|
|
|
|
|
Extract translatable strings from various source files (.xml.in,
|
|
|
|
|
glade, .desktop.in, .server.in, .oaf.in).
|
|
|
|
|
|
|
|
|
|
Collect the extracted strings together with messages from traditional
|
|
|
|
|
source files (.c, .h) in po/$(PACKAGE).pot.
|
|
|
|
|
|
|
|
|
|
Merge back the translations from .po files into .xml, .desktop and
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
|
oaf files. This merge step will happen at build resp. installation time.")
|
2013-04-19 13:41:05 -04:00
|
|
|
|
(license license:gpl2+)))
|
2013-08-31 06:46:08 -04:00
|
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
|
(define itstool
|
2013-09-04 13:21:38 -04:00
|
|
|
|
(package
|
|
|
|
|
(name "itstool")
|
2022-06-30 16:58:59 -04:00
|
|
|
|
(version "2.0.7")
|
2013-09-04 13:21:38 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://files.itstool.org/itstool/itstool-"
|
|
|
|
|
version ".tar.bz2"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2022-06-30 16:58:59 -04:00
|
|
|
|
"1jl7gsr7aclb9nvqazr039m86y7f7ivfhl2pixcrbfqjkb97r6kb"))))
|
2013-09-04 13:21:38 -04:00
|
|
|
|
(build-system gnu-build-system)
|
2015-08-20 04:36:25 -04:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list libxml2 python-libxml2 python))
|
2015-08-20 04:36:25 -04:00
|
|
|
|
(arguments
|
2022-06-30 17:00:10 -04:00
|
|
|
|
(list
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'install 'wrap-program
|
|
|
|
|
(lambda _
|
|
|
|
|
(wrap-program (string-append #$output "/bin/itstool")
|
|
|
|
|
`("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))))))))
|
2022-06-30 16:57:29 -04:00
|
|
|
|
(home-page "https://itstool.org")
|
2013-09-04 13:21:38 -04:00
|
|
|
|
(synopsis "Tool to translate XML documents with PO files")
|
|
|
|
|
(description
|
|
|
|
|
"ITS Tool allows you to translate your XML documents with PO files, using
|
|
|
|
|
rules from the W3C Internationalization Tag Set (ITS) to determine what to
|
|
|
|
|
translate and how to separate it into PO file messages.
|
|
|
|
|
|
|
|
|
|
PO files are the standard translation format for GNU and other Unix-like
|
|
|
|
|
systems. They present translatable information as discrete messages, allowing
|
|
|
|
|
each message to be translated independently. In contrast to whole-page
|
|
|
|
|
translation, translating with a message-based format like PO means you can
|
|
|
|
|
easily track changes to the source document down to the paragraph. When new
|
|
|
|
|
strings are added or existing strings are modified, you only need to update the
|
|
|
|
|
corresponding messages.
|
|
|
|
|
|
|
|
|
|
ITS Tool is designed to make XML documents translatable through PO files by
|
|
|
|
|
applying standard ITS rules, as well as extension rules specific to ITS Tool.
|
|
|
|
|
ITS also provides an industry standard way for authors to override translation
|
|
|
|
|
information in their documents, such as whether a particular element should be
|
|
|
|
|
translated.")
|
2013-09-07 03:44:57 -04:00
|
|
|
|
(license license:gpl3+)))
|
2013-09-04 13:21:38 -04:00
|
|
|
|
|
2013-09-16 13:00:47 -04:00
|
|
|
|
(define dbus-glib
|
2013-08-31 06:46:08 -04:00
|
|
|
|
(package
|
|
|
|
|
(name "dbus-glib")
|
2019-12-17 13:26:30 -05:00
|
|
|
|
(version "0.110")
|
2013-08-31 06:46:08 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
2016-02-19 08:23:38 -05:00
|
|
|
|
(string-append "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-"
|
2013-08-31 06:46:08 -04:00
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-12-17 13:26:30 -05:00
|
|
|
|
"09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w"))))
|
2013-08-31 06:46:08 -04:00
|
|
|
|
(build-system gnu-build-system)
|
2021-08-24 03:21:09 -04:00
|
|
|
|
(arguments
|
|
|
|
|
(if (%current-target-system)
|
|
|
|
|
`(#:configure-flags
|
|
|
|
|
;; Run a native 'dbus-binding-tool' instead of a cross-compiled
|
|
|
|
|
;; 'dbus-binding-tool' when cross-compiling.
|
|
|
|
|
,#~(list
|
|
|
|
|
(string-append
|
|
|
|
|
"--with-dbus-binding-tool="
|
|
|
|
|
#+(file-append this-package "/bin/dbus-binding-tool"))))
|
|
|
|
|
'()))
|
2015-05-23 10:43:18 -04:00
|
|
|
|
(propagated-inputs ; according to dbus-glib-1.pc
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list dbus glib))
|
2015-05-23 10:43:18 -04:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list expat))
|
2014-07-02 05:42:17 -04:00
|
|
|
|
(native-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list `(,glib "bin") pkg-config))
|
gnu: Use HTTPS for supported freedesktop.org home pages.
* gnu/packages/fontutils.scm (fontconfig)[home-page]: Use HTTPS.
* gnu/packages/freedesktop.scm (python-pyxdg, accountsservice)
(modem-manager, telepathy-mission-control, telepathy-mission-control)
(colord-gtk, desktop-file-utils)[home-page]: Likewise.
* gnu/packages/ghostscript.scm (libspectre)[home-page]: Likewise.
* gnu/packages/glib.scm (dbus, dbus-glib, telepathy-glib)[home-page]:
Likewise.
* gnu/packages/gnome.scm (shared-mime-info, hicolor-icon-theme)
(libxklavier, colord, upower)[home-page]: Likewise.
* gnu/packages/gstreamer.scm (orc, python-gst)[home-page]: Likewise.
* gnu/packages/libcanberra.scm (sound-theme-freedesktop)[home-page]:
Likewise.
* gnu/packages/libreoffice.scm (libexttextcat)[home-page]: Likewise.
* gnu/packages/polkit.scm (polkit-gnome, polkit-gnome)[home-page]:
Likewise.
* gnu/packages/pulseaudio.scm (pavucontrol)[home-page]: Likewise.
* gnu/packages/python.scm (python-dbus)[home-page]: Likewise.
* gnu/packages/xdisorg.scm (startup-notification)[home-page]: Likewise.
2018-02-24 07:44:26 -05:00
|
|
|
|
(home-page "https://dbus.freedesktop.org/doc/dbus-glib/")
|
2013-08-31 06:46:08 -04:00
|
|
|
|
(synopsis "D-Bus GLib bindings")
|
|
|
|
|
(description
|
|
|
|
|
"GLib bindings for D-Bus. The package is obsolete and superseded
|
|
|
|
|
by GDBus included in Glib.")
|
|
|
|
|
(license license:gpl2))) ; or Academic Free License 2.1
|
2013-10-05 18:24:06 -04:00
|
|
|
|
|
2022-03-01 16:29:54 -05:00
|
|
|
|
(define-public libaccounts-glib
|
|
|
|
|
(package
|
|
|
|
|
(name "libaccounts-glib")
|
|
|
|
|
(version "1.25")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://gitlab.com/accounts-sso/libaccounts-glib")
|
|
|
|
|
(commit (string-append "VERSION_" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"19rhk9f97m736d5ia26vfcbjp5kgi454558yhf9mrwm4iw5d9pk4"))))
|
|
|
|
|
(build-system meson-build-system)
|
|
|
|
|
(native-inputs (list dbus
|
|
|
|
|
`(,glib "bin")
|
|
|
|
|
gobject-introspection
|
|
|
|
|
gtk-doc
|
|
|
|
|
pkg-config
|
|
|
|
|
vala))
|
|
|
|
|
(inputs (list check python python-pygobject))
|
|
|
|
|
(propagated-inputs (list glib libxml2 sqlite))
|
|
|
|
|
(arguments
|
|
|
|
|
(list #:tests? #f ;one test fails.
|
|
|
|
|
#:imported-modules `((guix build python-build-system)
|
|
|
|
|
,@%meson-build-system-modules)
|
|
|
|
|
#:modules '(((guix build python-build-system)
|
|
|
|
|
#:select (python-version))
|
|
|
|
|
(guix build meson-build-system)
|
|
|
|
|
(guix build utils))
|
|
|
|
|
;; don't try installing to python store path.
|
|
|
|
|
#:configure-flags
|
|
|
|
|
#~(list (string-append "-Dpy-overrides-dir="
|
|
|
|
|
#$output "/lib/python"
|
|
|
|
|
(python-version #$(this-package-input
|
|
|
|
|
"python"))
|
|
|
|
|
"/site-packages/gi/overrides"))
|
|
|
|
|
#:phases #~(modify-phases %standard-phases
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda* (#:key tests? #:allow-other-keys)
|
|
|
|
|
(when tests?
|
|
|
|
|
(invoke "dbus-run-session" "--" "meson" "test"
|
|
|
|
|
"--print-errorlogs")))))))
|
|
|
|
|
(home-page "https://accounts-sso.gitlab.io/")
|
|
|
|
|
(synopsis "Accounts SSO (Single Sign-On) management library for GLib
|
|
|
|
|
applications")
|
|
|
|
|
(description
|
|
|
|
|
"Accounts SSO is a framework for application developers who
|
|
|
|
|
wish to acquire, use and store web account details and credentials. It
|
|
|
|
|
handles the authentication process of an account and securely stores the
|
|
|
|
|
credentials and service-specific settings.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
|
|
|
|
|
2013-10-05 18:24:06 -04:00
|
|
|
|
(define libsigc++
|
|
|
|
|
(package
|
|
|
|
|
(name "libsigc++")
|
2021-03-24 23:28:10 -04:00
|
|
|
|
(version "3.0.6")
|
2013-10-05 18:24:06 -04:00
|
|
|
|
(source (origin
|
2021-03-24 23:28:10 -04:00
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://gnome/sources/libsigc++/"
|
|
|
|
|
(version-major+minor version) "/"
|
|
|
|
|
name "-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
|
|
|
|
|
(build-system meson-build-system)
|
2021-03-25 00:07:52 -04:00
|
|
|
|
(outputs '("out" "doc"))
|
|
|
|
|
(arguments
|
2023-04-20 15:44:02 -04:00
|
|
|
|
(list #:configure-flags #~(list "-Dbuild-documentation=true")
|
|
|
|
|
#:phases #~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'install 'move-doc
|
|
|
|
|
(lambda _
|
|
|
|
|
(mkdir-p (string-append #$output:doc "/share"))
|
|
|
|
|
(rename-file
|
|
|
|
|
(string-append #$output "/share/doc")
|
|
|
|
|
(string-append #$output:doc "/share/doc")))))))
|
2021-03-24 23:28:10 -04:00
|
|
|
|
(native-inputs
|
2023-04-20 15:44:02 -04:00
|
|
|
|
(list docbook-xml-4.1.2
|
|
|
|
|
docbook-xsl
|
|
|
|
|
graphviz
|
|
|
|
|
doxygen
|
|
|
|
|
m4
|
|
|
|
|
mm-common
|
|
|
|
|
perl
|
|
|
|
|
pkg-config
|
|
|
|
|
libxml2
|
|
|
|
|
libxslt))
|
|
|
|
|
(inputs (list boost))
|
2019-10-09 11:57:06 -04:00
|
|
|
|
(home-page "https://libsigcplusplus.github.io/libsigcplusplus/")
|
2013-10-05 18:24:06 -04:00
|
|
|
|
(synopsis "Type-safe callback system for standard C++")
|
|
|
|
|
(description
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
|
"Libsigc++ implements a type-safe callback system for standard C++. It
|
2023-04-20 15:44:02 -04:00
|
|
|
|
allows you to define signals and to connect those signals to any callback
|
|
|
|
|
function, either global or a member function, regardless of whether it is
|
|
|
|
|
static or virtual. It also contains adaptor classes for connection of
|
|
|
|
|
dissimilar callbacks and has an ease of use unmatched by other C++ callback
|
|
|
|
|
libraries.")
|
2021-03-24 23:28:10 -04:00
|
|
|
|
(license license:lgpl3+)))
|
2013-10-05 18:24:06 -04:00
|
|
|
|
|
2023-04-20 15:45:45 -04:00
|
|
|
|
(define-public libsigc++-2
|
|
|
|
|
(package
|
2021-03-26 14:27:34 -04:00
|
|
|
|
(inherit libsigc++)
|
|
|
|
|
(name "libsigc++")
|
|
|
|
|
(version "2.9.3")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append "mirror://gnome/sources/libsigc++/"
|
|
|
|
|
(version-major+minor version)
|
|
|
|
|
"/libsigc++-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0zq963d0sss82q62fdfjs7l9iwbdch51albck18cb631ml0v7y8b"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
2023-04-20 15:45:45 -04:00
|
|
|
|
(list #:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'install 'move-doc
|
|
|
|
|
(lambda _
|
|
|
|
|
(mkdir-p (string-append #$output:doc "/share"))
|
|
|
|
|
(rename-file
|
|
|
|
|
(string-append #$output "/share/doc")
|
|
|
|
|
(string-append #$output:doc "/share/doc")))))))))
|
2021-03-26 14:27:34 -04:00
|
|
|
|
|
2013-10-05 18:24:06 -04:00
|
|
|
|
(define glibmm
|
|
|
|
|
(package
|
|
|
|
|
(name "glibmm")
|
2023-10-27 13:46:53 -04:00
|
|
|
|
(version "2.78.0")
|
2013-10-05 18:24:06 -04:00
|
|
|
|
(source (origin
|
2021-03-25 01:56:45 -04:00
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://gnome/sources/glibmm/"
|
|
|
|
|
(version-major+minor version)
|
|
|
|
|
"/glibmm-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-10-27 13:46:53 -04:00
|
|
|
|
"0l7gld1ghynlxdm55l8dn3w4lfbwgrkw7flbdnh04vwrchjqfbjx"))))
|
2021-03-25 01:56:45 -04:00
|
|
|
|
(build-system meson-build-system)
|
2021-03-25 03:04:01 -04:00
|
|
|
|
(outputs '("out" "doc"))
|
2013-10-05 18:24:06 -04:00
|
|
|
|
(arguments
|
2022-08-22 13:27:16 -04:00
|
|
|
|
(list
|
|
|
|
|
#:configure-flags #~(list "-Dbuild-documentation=true")
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'disable-failing-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "tests/meson.build"
|
|
|
|
|
;; This test uses /etc/fstab as an example file to read from;
|
|
|
|
|
;; disable it.
|
|
|
|
|
(("[ \t]*.*giomm_simple.*$") "")
|
|
|
|
|
;; This test does a DNS lookup, and then expects to be able to
|
|
|
|
|
;; open a TLS session; just skip it.
|
|
|
|
|
(("[ \t]*.*giomm_tls_client.*$") ""))))
|
|
|
|
|
(add-after 'install 'move-doc
|
|
|
|
|
(lambda _
|
|
|
|
|
(mkdir-p (string-append #$output:doc "/share"))
|
|
|
|
|
(rename-file
|
|
|
|
|
(string-append #$output "/share/doc")
|
|
|
|
|
(string-append #$output:doc "/share/doc")))))))
|
2021-03-25 01:56:45 -04:00
|
|
|
|
(native-inputs
|
2021-12-24 01:24:20 -05:00
|
|
|
|
(list graphviz
|
|
|
|
|
doxygen
|
|
|
|
|
`(,glib "bin")
|
|
|
|
|
m4
|
|
|
|
|
mm-common
|
|
|
|
|
perl
|
|
|
|
|
pkg-config
|
|
|
|
|
libxslt))
|
2013-10-05 18:24:06 -04:00
|
|
|
|
(propagated-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list libsigc++ glib))
|
2018-03-07 07:15:15 -05:00
|
|
|
|
(home-page "https://gtkmm.org/")
|
2013-10-05 18:24:06 -04:00
|
|
|
|
(synopsis "C++ interface to the GLib library")
|
|
|
|
|
(description
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
|
"Glibmm provides a C++ programming interface to the part of GLib that are
|
2013-10-05 18:24:06 -04:00
|
|
|
|
useful for C++.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
2014-11-18 19:57:41 -05:00
|
|
|
|
|
2020-07-18 04:10:22 -04:00
|
|
|
|
(define-public glibmm-2.64
|
|
|
|
|
(package
|
|
|
|
|
(inherit glibmm)
|
|
|
|
|
(name "glibmm")
|
2021-03-26 14:29:40 -04:00
|
|
|
|
(version "2.64.5")
|
2020-07-18 04:10:22 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append "mirror://gnome/sources/glibmm/"
|
|
|
|
|
(version-major+minor version)
|
|
|
|
|
"/glibmm-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
2021-03-26 14:29:40 -04:00
|
|
|
|
(base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh"))))
|
2020-07-18 04:10:22 -04:00
|
|
|
|
(propagated-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(modify-inputs (package-propagated-inputs glibmm)
|
2021-12-17 23:27:15 -05:00
|
|
|
|
(replace "libsigc++" libsigc++-2)))))
|
2020-07-18 04:10:22 -04:00
|
|
|
|
|
2014-11-18 19:57:41 -05:00
|
|
|
|
(define-public python-pygobject
|
|
|
|
|
(package
|
|
|
|
|
(name "python-pygobject")
|
2023-10-27 13:43:51 -04:00
|
|
|
|
(version "3.46.0")
|
2014-11-18 19:57:41 -05:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://gnome/sources/pygobject/"
|
|
|
|
|
(version-major+minor version)
|
|
|
|
|
"/pygobject-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
2023-10-27 13:44:52 -04:00
|
|
|
|
(base32 "1z6aagb46fhhdd0bb3zk6dfdw3s4y2fva0vv3jpwjj6mvar0hq22"))
|
2020-01-16 03:26:09 -05:00
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
2023-10-27 13:44:52 -04:00
|
|
|
|
;; We disable these tests in a snippet so that they are inherited
|
|
|
|
|
;; by the Python 2 variant which is built differently.
|
|
|
|
|
#~(with-directory-excursion "tests"
|
|
|
|
|
;; FIXME: These tests require Gdk and/or Gtk 4.
|
|
|
|
|
(for-each delete-file
|
|
|
|
|
'("test_atoms.py" "test_overrides_gtk.py"
|
|
|
|
|
"test_overrides_gdk.py"))))))
|
2020-01-16 03:26:09 -05:00
|
|
|
|
(build-system meson-build-system)
|
2021-08-29 06:54:33 -04:00
|
|
|
|
(arguments
|
2023-10-27 13:44:52 -04:00
|
|
|
|
(list
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda* (#:key tests? #:allow-other-keys)
|
|
|
|
|
(when tests?
|
|
|
|
|
;; The default 90 seconds can be too low on slower machines.
|
|
|
|
|
(invoke "meson" "test" "--timeout-multiplier" "5")))))))
|
2014-11-18 19:57:41 -05:00
|
|
|
|
(native-inputs
|
2023-10-27 13:44:52 -04:00
|
|
|
|
(list `(,glib "bin")
|
|
|
|
|
pkg-config
|
|
|
|
|
python-pytest
|
|
|
|
|
python-wrapper)) ; For patching shebangs
|
2014-11-18 19:57:41 -05:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list python python-pycairo gobject-introspection))
|
2016-03-06 00:40:24 -05:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
;; pygobject-3.0.pc refers to all these.
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list glib libffi))
|
2016-03-06 00:27:47 -05:00
|
|
|
|
;; For finding typelib files, since gobject-introscpetion isn't propagated.
|
|
|
|
|
(native-search-paths (package-native-search-paths gobject-introspection))
|
2015-03-16 02:50:32 -04:00
|
|
|
|
(home-page "https://live.gnome.org/PyGObject")
|
2014-11-18 19:57:41 -05:00
|
|
|
|
(synopsis "Python bindings for GObject")
|
|
|
|
|
(description
|
|
|
|
|
"Python bindings for GLib, GObject, and GIO.")
|
2022-07-13 20:11:54 -04:00
|
|
|
|
(properties
|
|
|
|
|
'((upstream-name . "pygobject")))
|
2022-05-01 02:26:52 -04:00
|
|
|
|
(license license:lgpl2.1+)))
|
2015-03-16 02:52:40 -04:00
|
|
|
|
|
2018-02-24 17:49:54 -05:00
|
|
|
|
(define-public perl-glib
|
|
|
|
|
(package
|
|
|
|
|
(name "perl-glib")
|
2023-10-27 13:42:51 -04:00
|
|
|
|
(version "1.3294")
|
2018-02-24 17:49:54 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"mirror://cpan/authors/id/X/XA/XAOC/Glib-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-10-27 13:42:51 -04:00
|
|
|
|
"1fsw9sjfz1irlhnsk5n1xpb181vvq1dsxrw5vrsp066cdflga5fp"))))
|
2018-02-24 17:49:54 -05:00
|
|
|
|
(build-system perl-build-system)
|
|
|
|
|
(native-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list perl-extutils-depends perl-extutils-pkgconfig))
|
2021-06-24 07:06:21 -04:00
|
|
|
|
(propagated-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list glib))
|
2018-08-11 09:53:20 -04:00
|
|
|
|
(home-page "https://metacpan.org/release/Glib")
|
2018-02-24 17:49:54 -05:00
|
|
|
|
(synopsis "Perl wrappers for the GLib utility and Object libraries")
|
|
|
|
|
(description "This module provides perl access to GLib and GLib's GObject
|
|
|
|
|
libraries. GLib is a portability and utility library; GObject provides a
|
|
|
|
|
generic type system with inheritance and a powerful signal system. Together
|
|
|
|
|
these libraries are used as the foundation for many of the libraries that make
|
|
|
|
|
up the Gnome environment, and are used in many unrelated projects.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
|
|
|
|
|
2021-06-22 04:26:06 -04:00
|
|
|
|
(define-public perl-glib-object-introspection
|
|
|
|
|
(package
|
|
|
|
|
(name "perl-glib-object-introspection")
|
2023-10-27 13:41:50 -04:00
|
|
|
|
(version "0.051")
|
2021-06-22 04:26:06 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/"
|
|
|
|
|
"Glib-Object-Introspection-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
2023-10-27 13:41:50 -04:00
|
|
|
|
(base32 "12802l87mx65lswiwlc394fkb74cmsqn88n2qy119b40rhfn2sb5"))))
|
2021-06-22 04:26:06 -04:00
|
|
|
|
(build-system perl-build-system)
|
|
|
|
|
(native-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list perl-extutils-depends perl-extutils-pkgconfig))
|
2021-06-22 04:26:06 -04:00
|
|
|
|
(propagated-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list gobject-introspection perl-cairo-gobject perl-glib))
|
2021-06-22 04:26:06 -04:00
|
|
|
|
(home-page "https://metacpan.org/dist/Glib-Object-Introspection")
|
|
|
|
|
(synopsis "Dynamically create Perl language bindings")
|
|
|
|
|
(description "Glib::Object::Introspection uses the gobject-introspection and
|
|
|
|
|
libffi projects to dynamically create Perl bindings for a wide variety of
|
|
|
|
|
libraries. Examples include gtk+, webkit, libsoup and many more.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
|
|
|
|
|
2015-01-18 16:36:26 -05:00
|
|
|
|
(define telepathy-glib
|
|
|
|
|
(package
|
|
|
|
|
(name "telepathy-glib")
|
2021-12-16 22:35:23 -05:00
|
|
|
|
(version "0.24.2")
|
2015-01-18 16:36:26 -05:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append
|
2016-02-19 08:23:38 -05:00
|
|
|
|
"https://telepathy.freedesktop.org/releases/telepathy-glib/"
|
2015-01-18 16:36:26 -05:00
|
|
|
|
"telepathy-glib-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-12-16 22:35:23 -05:00
|
|
|
|
"1w3kja8j3gz2apal79bi3hq44xk5g78aphrqbw983l6df7bp98xh"))))
|
2015-01-18 16:36:26 -05:00
|
|
|
|
(build-system gnu-build-system)
|
2016-03-05 00:19:01 -05:00
|
|
|
|
(arguments
|
2019-01-26 18:16:36 -05:00
|
|
|
|
'(#:configure-flags '("--enable-vala-bindings")
|
|
|
|
|
|
|
|
|
|
;; '../tools/glib-*.py' generate files but the target dependencies are
|
|
|
|
|
;; (presumably) not fully specified in the makefile, leading to
|
|
|
|
|
;; parallel build errors like:
|
|
|
|
|
;;
|
|
|
|
|
;; EOFError: EOF read where object expected
|
|
|
|
|
;; make[2]: *** [Makefile:1906: _gen/register-dbus-glib-marshallers-body.h] Error 1
|
2019-12-21 23:19:13 -05:00
|
|
|
|
#:parallel-build? #f
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'disable-failing-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
;; None of the tests below are able to find the org.gtk.vfs.Daemon
|
|
|
|
|
;; service file provided by gvfs.
|
|
|
|
|
(substitute* "tests/dbus/Makefile.in"
|
|
|
|
|
(("test-contacts\\$\\(EXEEXT\\)") "")
|
|
|
|
|
(("test-file-transfer-channel\\$\\(EXEEXT\\)") "")
|
|
|
|
|
(("test-stream-tube\\$\\(EXEEXT\\)") ""))
|
|
|
|
|
#t)))))
|
2015-01-18 16:36:26 -05:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("glib" ,glib "bin") ; uses glib-mkenums
|
2015-11-09 20:57:14 -05:00
|
|
|
|
("gobject-introspection" ,gobject-introspection)
|
2015-01-18 16:36:26 -05:00
|
|
|
|
("pkg-config" ,pkg-config)
|
2015-11-09 20:57:14 -05:00
|
|
|
|
("python" ,python-2)
|
2016-03-05 00:19:01 -05:00
|
|
|
|
("vala" ,vala)
|
2015-11-09 20:57:14 -05:00
|
|
|
|
("xsltproc" ,libxslt)))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
;; There are all in the Requires.private field of telepathy-glib.pc.
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list dbus dbus-glib glib))
|
gnu: Use HTTPS for supported freedesktop.org home pages.
* gnu/packages/fontutils.scm (fontconfig)[home-page]: Use HTTPS.
* gnu/packages/freedesktop.scm (python-pyxdg, accountsservice)
(modem-manager, telepathy-mission-control, telepathy-mission-control)
(colord-gtk, desktop-file-utils)[home-page]: Likewise.
* gnu/packages/ghostscript.scm (libspectre)[home-page]: Likewise.
* gnu/packages/glib.scm (dbus, dbus-glib, telepathy-glib)[home-page]:
Likewise.
* gnu/packages/gnome.scm (shared-mime-info, hicolor-icon-theme)
(libxklavier, colord, upower)[home-page]: Likewise.
* gnu/packages/gstreamer.scm (orc, python-gst)[home-page]: Likewise.
* gnu/packages/libcanberra.scm (sound-theme-freedesktop)[home-page]:
Likewise.
* gnu/packages/libreoffice.scm (libexttextcat)[home-page]: Likewise.
* gnu/packages/polkit.scm (polkit-gnome, polkit-gnome)[home-page]:
Likewise.
* gnu/packages/pulseaudio.scm (pavucontrol)[home-page]: Likewise.
* gnu/packages/python.scm (python-dbus)[home-page]: Likewise.
* gnu/packages/xdisorg.scm (startup-notification)[home-page]: Likewise.
2018-02-24 07:44:26 -05:00
|
|
|
|
(home-page "https://telepathy.freedesktop.org/wiki/")
|
2015-01-18 16:36:26 -05:00
|
|
|
|
(synopsis "GLib Real-time communications framework over D-Bus")
|
|
|
|
|
(description "Telepathy is a flexible, modular communications framework
|
|
|
|
|
that enables real-time communication over D-Bus via pluggable protocol
|
|
|
|
|
backends. Telepathy is a communications service that can be accessed by
|
|
|
|
|
many applications simultaneously.
|
|
|
|
|
|
|
|
|
|
This package provides the library for GLib applications.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
2016-07-21 09:39:54 -04:00
|
|
|
|
|
|
|
|
|
(define-public dbus-c++
|
|
|
|
|
(package
|
|
|
|
|
(name "dbus-c++")
|
|
|
|
|
(version "0.9.0")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append
|
|
|
|
|
"mirror://sourceforge/dbus-cplusplus/dbus-c%2B%2B/"
|
|
|
|
|
version "/libdbus-c%2B%2B-" version ".tar.gz"))
|
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
2019-07-31 10:52:39 -04:00
|
|
|
|
(patches (search-patches "dbus-c++-gcc-compat.patch"
|
|
|
|
|
"dbus-c++-threading-mutex.patch"))
|
2016-07-21 09:39:54 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(propagated-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list dbus)) ;mentioned in the pkg-config file
|
2016-07-21 09:39:54 -04:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list efl expat glib libunwind))
|
2016-07-21 09:39:54 -04:00
|
|
|
|
(native-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list pkg-config))
|
2016-07-21 09:39:54 -04:00
|
|
|
|
(arguments
|
|
|
|
|
`(;; The 'configure' machinery fails to detect that it needs -lpthread.
|
|
|
|
|
#:configure-flags (list "LDFLAGS=-lpthread")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'configure 'add-missing-header
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "include/dbus-c++/eventloop-integration.h"
|
|
|
|
|
(("#include <errno.h>")
|
2019-07-31 10:52:39 -04:00
|
|
|
|
"#include <errno.h>\n#include <unistd.h>"))
|
|
|
|
|
#t)))))
|
2016-07-21 09:39:54 -04:00
|
|
|
|
(synopsis "D-Bus API for C++")
|
|
|
|
|
(description "This package provides D-Bus client API bindings for the C++
|
2021-03-08 22:02:38 -05:00
|
|
|
|
programming language. It also provides the @command{dbusxx-xml2cpp} and
|
|
|
|
|
@command{dbusxx-introspect} commands.")
|
2016-07-21 09:39:54 -04:00
|
|
|
|
(home-page "https://sourceforge.net/projects/dbus-cplusplus/")
|
2016-09-28 08:13:55 -04:00
|
|
|
|
(license license:lgpl2.1+)))
|
2020-10-23 08:40:20 -04:00
|
|
|
|
|
|
|
|
|
(define-public dbus-cxx
|
|
|
|
|
(package
|
|
|
|
|
(name "dbus-cxx")
|
2023-09-01 08:44:56 -04:00
|
|
|
|
(version "2.4.0")
|
2020-10-23 08:40:20 -04:00
|
|
|
|
(source (origin
|
2023-09-01 08:44:56 -04:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/dbus-cxx/dbus-cxx")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
2020-10-23 08:40:20 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-09-01 08:44:56 -04:00
|
|
|
|
"0c9q2bjs4m66zq0qysyip8fnkvvjpj46rkjcvw15nhmfhzbq16ag"))
|
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet '(delete-file-recursively "tools/libcppgenerate"))))
|
2020-10-23 08:40:20 -04:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
2023-09-01 08:44:56 -04:00
|
|
|
|
(list #:configure-flags #~(list "-DBUILD_TESTING=ON"
|
|
|
|
|
"-DENABLE_TOOLS=ON"
|
|
|
|
|
"-DENABLE_GLIB_SUPPORT=ON"
|
|
|
|
|
"-DTOOLS_BUNDLED_CPPGENERATE=OFF")
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda* (#:key tests? #:allow-other-keys)
|
|
|
|
|
(when tests?
|
|
|
|
|
;; There is no /etc/machine-id file in the build
|
|
|
|
|
;; environment.
|
|
|
|
|
(invoke "ctest" "-E" "test-machine-uuid-method")))))))
|
|
|
|
|
;; These are propagated due to being referenced in headers and pkg-config
|
|
|
|
|
;; .pc files.
|
|
|
|
|
(propagated-inputs (list glib libsigc++))
|
|
|
|
|
(inputs (list dbus expat libcppgenerate popt))
|
|
|
|
|
(native-inputs (list pkg-config))
|
2020-10-23 08:40:20 -04:00
|
|
|
|
(synopsis "C++ wrapper for dbus")
|
|
|
|
|
(description "Dbus-cxx is a C++ wrapper for dbus.\n
|
|
|
|
|
It exposes the C API to allow direct manipulation and
|
|
|
|
|
relies on sigc++ to provide an Oriented Object interface.\n
|
|
|
|
|
This package provide 2 utils:
|
|
|
|
|
@enumerate
|
|
|
|
|
@item @command{dbus-cxx-xml2cpp} to generate proxy and adapter
|
|
|
|
|
@item @command{dbus-cxx-introspect} to introspect a dbus interface
|
|
|
|
|
@end enumerate
|
|
|
|
|
|
|
|
|
|
Some codes examples can be find at:
|
|
|
|
|
@url{https://dbus-cxx.github.io/examples.html}")
|
|
|
|
|
(home-page "https://dbus-cxx.github.io/")
|
2023-09-01 08:44:56 -04:00
|
|
|
|
(license (list license:lgpl3+ license:bsd-3)))) ;dual licensed
|
2016-09-07 15:13:06 -04:00
|
|
|
|
|
2023-08-17 23:47:41 -04:00
|
|
|
|
(define-public sdbus-c++
|
|
|
|
|
;; Use the latest commit, which includes unreleased fixes to the pkg-config
|
|
|
|
|
;; file.
|
|
|
|
|
(package
|
|
|
|
|
(name "sdbus-c++")
|
2023-10-27 13:40:50 -04:00
|
|
|
|
(version "1.4.0")
|
2023-08-17 23:47:41 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/Kistler-Group/sdbus-cpp")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-10-27 13:40:50 -04:00
|
|
|
|
"111l2rl0pg9r5cdrhqpac4v22cnq41skxxfk3cng81l0n05v1sh0"))))
|
2023-08-17 23:47:41 -04:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
;; Avoid the integration test, which requires a system bus.
|
|
|
|
|
#:test-target "sdbus-c++-unit-tests"
|
|
|
|
|
#:configure-flags #~(list "-DBUILD_CODE_GEN=ON"
|
|
|
|
|
"-DBUILD_TESTS=ON"
|
|
|
|
|
;; Do not install tests.
|
|
|
|
|
"-DTESTS_INSTALL_PATH=/tmp"
|
|
|
|
|
"-DCMAKE_VERBOSE_MAKEFILE=ON")
|
|
|
|
|
#:phases #~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'do-not-install-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "tests/CMakeLists.txt"
|
|
|
|
|
(("/etc/dbus-1/system.d") "/tmp")))))))
|
|
|
|
|
(native-inputs (list googletest pkg-config))
|
|
|
|
|
(inputs (list expat))
|
|
|
|
|
(propagated-inputs (list elogind)) ;required by sdbus-c++.pc
|
|
|
|
|
(home-page "https://github.com/Kistler-Group/sdbus-cpp")
|
|
|
|
|
(synopsis "High-level C++ D-Bus library")
|
|
|
|
|
(description "@code{sdbus-c++} is a high-level C++ D-Bus library designed
|
|
|
|
|
to provide easy-to-use yet powerful API in modern C++. It adds another layer
|
|
|
|
|
of abstraction on top of @code{sd-bus}, the C D-Bus implementation by systemd.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
|
|
|
|
|
2016-09-07 15:13:06 -04:00
|
|
|
|
(define-public appstream-glib
|
|
|
|
|
(package
|
|
|
|
|
(name "appstream-glib")
|
2023-10-27 13:38:50 -04:00
|
|
|
|
(version "0.8.2")
|
2016-09-07 15:13:06 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://people.freedesktop.org/~hughsient/"
|
|
|
|
|
"appstream-glib/releases/"
|
|
|
|
|
"appstream-glib-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-10-27 13:38:50 -04:00
|
|
|
|
"15lbrmyx94cf6p6svq02yiskh31xidq092c711pqs16mml06a9bi"))))
|
2018-01-18 20:52:24 -05:00
|
|
|
|
(build-system meson-build-system)
|
2016-09-07 15:13:06 -04:00
|
|
|
|
(native-inputs
|
2023-10-27 13:39:50 -04:00
|
|
|
|
(list gettext-minimal
|
|
|
|
|
`(,glib "bin") ;for glib-compile-resources
|
|
|
|
|
gsettings-desktop-schemas ;for ‘org.gnome.system.proxy’
|
|
|
|
|
pkg-config))
|
2018-02-05 03:15:04 -05:00
|
|
|
|
(propagated-inputs
|
2023-10-27 13:39:50 -04:00
|
|
|
|
(list gcab ;for .pc file
|
|
|
|
|
gdk-pixbuf ;same
|
|
|
|
|
`(,util-linux "lib"))) ;libuuid, for .pc file
|
2016-09-07 15:13:06 -04:00
|
|
|
|
(inputs
|
2023-10-27 13:39:50 -04:00
|
|
|
|
(list curl
|
|
|
|
|
gperf
|
|
|
|
|
gtk+
|
|
|
|
|
json-glib
|
|
|
|
|
libarchive
|
|
|
|
|
glib))
|
2016-09-07 15:13:06 -04:00
|
|
|
|
(arguments
|
2023-10-27 13:39:50 -04:00
|
|
|
|
(list
|
|
|
|
|
#:configure-flags
|
|
|
|
|
#~(list "-Ddep11=false"
|
|
|
|
|
"-Dintrospection=false" ; avoid g-ir-scanner dependency
|
|
|
|
|
"-Drpm=false"
|
|
|
|
|
"-Dstemmer=false")
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'patch-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "libappstream-glib/as-self-test.c"
|
|
|
|
|
(("g_test_add_func.*as_test_store_local_appdata_func);") ""))))
|
|
|
|
|
(add-before 'check 'set-home
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Some tests want write access there.
|
|
|
|
|
(setenv "HOME" "/tmp"))))))
|
2016-09-07 15:13:06 -04:00
|
|
|
|
(home-page "https://github.com/hughsie/appstream-glib")
|
|
|
|
|
(synopsis "Library for reading and writing AppStream metadata")
|
2023-10-27 13:39:50 -04:00
|
|
|
|
(description
|
|
|
|
|
"This library provides objects and helper methods to help
|
|
|
|
|
reading and writing
|
|
|
|
|
@uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream}
|
2016-09-07 15:13:06 -04:00
|
|
|
|
metadata.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
2017-10-25 02:26:14 -04:00
|
|
|
|
|
|
|
|
|
(define perl-net-dbus
|
|
|
|
|
(package
|
|
|
|
|
(name "perl-net-dbus")
|
2021-05-19 15:39:53 -04:00
|
|
|
|
(version "1.2.0")
|
2017-10-25 02:26:14 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://cpan/authors/id/D/DA/DANBERR/Net-DBus-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2021-05-19 15:39:53 -04:00
|
|
|
|
"1g0w8i5scmh7kfy9mmvv8q326627qf38z26mvczmn8x1yjgar8g7"))))
|
2017-10-25 02:26:14 -04:00
|
|
|
|
(build-system perl-build-system)
|
|
|
|
|
(native-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list pkg-config perl-test-pod perl-test-pod-coverage))
|
2017-10-25 02:26:14 -04:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list dbus))
|
2017-10-25 02:26:14 -04:00
|
|
|
|
(propagated-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list perl-xml-twig))
|
2018-08-11 09:53:20 -04:00
|
|
|
|
(home-page "https://metacpan.org/release/Net-DBus")
|
2017-10-25 02:26:14 -04:00
|
|
|
|
(synopsis "Extension for the DBus bindings")
|
|
|
|
|
(description "@code{Net::DBus} provides a Perl XS API to the DBus
|
|
|
|
|
inter-application messaging system. The Perl API covers the core base level
|
|
|
|
|
of the DBus APIs, not concerning itself yet with the GLib or QT wrappers.")
|
|
|
|
|
(license license:perl-license)))
|
2017-10-25 02:30:58 -04:00
|
|
|
|
|
|
|
|
|
(define perl-net-dbus-glib
|
|
|
|
|
(package
|
|
|
|
|
(name "perl-net-dbus-glib")
|
|
|
|
|
(version "0.33.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://cpan/authors/id/D/DA/DANBERR/"
|
|
|
|
|
"Net-DBus-GLib-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1z4mbv8z0rad604xahijpg5szzi8qak07hbahh230z4jf96fkxvj"))))
|
|
|
|
|
(build-system perl-build-system)
|
|
|
|
|
(native-inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list pkg-config))
|
2017-10-25 02:30:58 -04:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list dbus-glib))
|
2018-08-11 09:53:20 -04:00
|
|
|
|
(home-page "https://metacpan.org/release/Net-DBus-GLib")
|
2017-10-25 02:30:58 -04:00
|
|
|
|
(synopsis "Perl extension for the DBus GLib bindings")
|
|
|
|
|
(description "This package provides an extension to the @code{Net::DBus}
|
|
|
|
|
module allowing integration with the GLib mainloop. To integrate with the
|
|
|
|
|
main loop, simply get a connection to the bus via the methods in
|
|
|
|
|
@code{Net::DBus::GLib} rather than the usual @code{Net::DBus} module. Every
|
|
|
|
|
other API remains the same.")
|
|
|
|
|
(license license:gpl2+)))
|
2019-08-19 19:12:11 -04:00
|
|
|
|
|
|
|
|
|
(define-public template-glib
|
|
|
|
|
(package
|
|
|
|
|
(name "template-glib")
|
2023-10-27 13:36:50 -04:00
|
|
|
|
(version "3.36.1")
|
2019-08-19 19:12:11 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
|
|
|
|
(version-major+minor version) "/"
|
|
|
|
|
name "-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-10-27 13:36:50 -04:00
|
|
|
|
"00x5yq1yidxxv6hmlvblpp2k0vf60s0xzyi0psplbmss70bpl5iv"))))
|
2019-08-19 19:12:11 -04:00
|
|
|
|
(build-system meson-build-system)
|
|
|
|
|
(arguments
|
2023-10-27 13:37:50 -04:00
|
|
|
|
(list #:configure-flags #~'("-D" "gtk_doc=true")))
|
|
|
|
|
(inputs (list gettext-minimal glib gobject-introspection))
|
2019-08-19 19:12:11 -04:00
|
|
|
|
(native-inputs
|
2023-10-27 13:37:50 -04:00
|
|
|
|
(list bison
|
|
|
|
|
flex
|
|
|
|
|
`(,glib "bin") ;for glib-mkenums
|
|
|
|
|
gtk-doc/stable
|
|
|
|
|
pkg-config
|
|
|
|
|
vala))
|
2019-08-19 19:12:11 -04:00
|
|
|
|
(home-page "https://gitlab.gnome.org/GNOME/template-glib")
|
|
|
|
|
(synopsis "Library for template expansion")
|
|
|
|
|
(description
|
|
|
|
|
"Template-GLib is a library to help you generate text based on a template and
|
|
|
|
|
user defined state. Template-GLib does not use a language runtime, so it is
|
|
|
|
|
safe to use from any GObject-Introspectable language.
|
|
|
|
|
|
|
|
|
|
Template-GLib allows you to access properties on GObjects as well as call
|
|
|
|
|
simple methods via GObject-Introspection.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
2019-09-26 10:40:11 -04:00
|
|
|
|
|
|
|
|
|
(define-public xdg-dbus-proxy
|
|
|
|
|
(package
|
|
|
|
|
(name "xdg-dbus-proxy")
|
2023-10-27 13:35:49 -04:00
|
|
|
|
(version "0.1.5")
|
2019-09-26 10:40:11 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://github.com/flatpak/xdg-dbus-proxy"
|
|
|
|
|
"/releases/download/" version
|
|
|
|
|
"/xdg-dbus-proxy-" version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2023-10-27 13:35:49 -04:00
|
|
|
|
"1yv10v7gpv5z0iii7p3rs2h9wx6sigldycjlkpyyal06iapwy786"))))
|
2019-09-26 10:40:11 -04:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
2021-12-13 16:15:07 -05:00
|
|
|
|
(list pkg-config
|
|
|
|
|
;; For tests.
|
|
|
|
|
dbus
|
|
|
|
|
;; These are required to build the manual.
|
|
|
|
|
docbook-xml-4.3
|
|
|
|
|
docbook-xsl
|
|
|
|
|
libxml2
|
|
|
|
|
libxslt))
|
2019-09-26 10:40:11 -04:00
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list glib))
|
2019-09-26 10:40:11 -04:00
|
|
|
|
(home-page "https://github.com/flatpak/xdg-dbus-proxy")
|
|
|
|
|
(synopsis "D-Bus connection proxy")
|
|
|
|
|
(description
|
|
|
|
|
"xdg-dbus-proxy is a filtering proxy for D-Bus connections. It can be
|
|
|
|
|
used to create D-Bus sockets inside a Linux container that forwards requests
|
|
|
|
|
to the host system, optionally with filters applied.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
2020-05-14 11:57:31 -04:00
|
|
|
|
|
|
|
|
|
(define-public dbus-test-runner
|
|
|
|
|
(package
|
|
|
|
|
(name "dbus-test-runner")
|
|
|
|
|
(version "19.04.0")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://launchpad.net/dbus-test-runner/"
|
|
|
|
|
(version-major+minor version) "/" version
|
|
|
|
|
"/+download/dbus-test-runner-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0xnbay58xn0hav208mdsg8dd176w57dcpw1q2k0g5fh9v7xk4nk4"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'configure 'fix-test-paths
|
|
|
|
|
;; add missing space
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(substitute* "Makefile.in"
|
|
|
|
|
(("#!/bin/bash") (string-append "#!" (which "bash"))))
|
|
|
|
|
(substitute* "tests/Makefile.in"
|
|
|
|
|
(("/bin/sh") (which "sh"))
|
|
|
|
|
(("#!/bin/bash") (string-append "#!" (which "bash")))
|
|
|
|
|
(("echo cat") (string-append "echo " (which "cat")))
|
|
|
|
|
(("/bin/true") (which "true")))
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
2021-12-13 11:18:24 -05:00
|
|
|
|
(list gtk+ glib dbus-glib))
|
2020-05-14 11:57:31 -04:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("glib:bin" ,glib "bin")
|
|
|
|
|
("intltool" ,intltool)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
;; following used for tests
|
|
|
|
|
("python" ,python)
|
|
|
|
|
("python-dbusmock" ,python-dbusmock)
|
|
|
|
|
("xvfb" ,xorg-server-for-tests)))
|
|
|
|
|
(home-page "https://launchpad.net/dbus-test-runner")
|
|
|
|
|
(synopsis "Run a executables under a new DBus session for testing")
|
|
|
|
|
(description "A small little utility to run a couple of executables under a
|
|
|
|
|
new DBus session for testing.")
|
|
|
|
|
(license license:gpl3)))
|