Age | Commit message (Collapse) | Author |
|
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'.
|
|
* gnu/packages/messaging.scm (qtox): Update to 1.17.6.
|
|
* gnu/packages/databases.scm (galera): Update to 26.4.12.
|
|
* gnu/packages/admin.scm (nmon): New public variable.
|
|
* gnu/packages/toys.scm (oneko)[description]: Use full sentences.
Name the only two species of animated character actually available.
Add an unfortunate note about Wayland.
|
|
* gnu/packages/toys.scm (oneko)[source]: Don't explicitly return #t from snippet…
[arguments]: …nor from phases.
|
|
* gnu/packages/compression.scm (c-blosc)[inputs]:
Remove input labels.
|
|
* gnu/packages/compression.scm (c-blosc)[source]: Add snippet.
|
|
* gnu/packages/compression.scm (c-blosc)[arguments]: Add "-DBUILD_STATIC=OFF" to #:configure-flags.
|
|
* gnu/packages/compression.scm (c-blosc): Update to 1.21.1.
[arguments]: Remove obsolete PREFER_EXTERNAL_SNAPPY from #:configure-flags.
|
|
* gnu/packages/networking.scm (thc-ipv6)[arguments]: Add
'use-source-date-epoch-in-manpages phase.
|
|
To build with Emacs28.
* gnu/packages/emacs-xyz.scm (emacs-dimmer): Update to 0.4.2-1-2f915b1.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Note that the previous version no longer compiled (this one does).
* gnu/packages/engineering.scm (meshlab): Update to 2022.02.
[inputs]: Remove the no longer required qtscript and
qtxmlpatterns. Add (uncomment) qhull.
[arguments]: Use G-expressions.
<#:configure-flags>: Set the rpath to fix missing libraries (presumably
new since the previous version) detected during the 'validate-runpath'
phase.
<#:phases>: Remove trailing boolean from 'go-to-source-dir' phase.
Remove the 'move-files' phase, which was made redundant by the manually
provided rpath.
[description]: Move a word and add some commas to improve the
readability. Typeset a program name in @samp{}.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/packages/shellutils.scm (direnv): Update to 2.31.0.
[arguments]: Remove trailing boolean in lambda block.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/packages/golang.scm (go-github-com-google-go-jsonnet): New
variable.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/packages/golang.scm (go-sigs-k8s-io-yaml): New variable.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.121.
(linux-libre-5.10-pristine-source, deblob-scripts-5.10): Update hashes.
|
|
* gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.46.
(linux-libre-5.15-pristine-source, deblob-scripts-5.15): Update hashes.
|
|
* gnu/packages/linux.scm (linux-libre-5.17-version): Update to 5.17.14.
(linux-libre-5.17-pristine-source, deblob-scripts-5.17): Update hashes.
|
|
* gnu/packages/parallel.scm (slurm-drmaa): Update to 1.1.3.
|
|
* gnu/packages/cran.scm (r-prereg)[propagated-inputs]: Add
texlive-amsfonts, texlive-amsmath, texlive-booktabs,
texlive-etoolbox, texlive-generic-iftex, texlive-latex-fancyhdr,
texlive-latex-fancyvrb, texlive-latex-geometry, texlive-latex-graphics,
texlive-latex-threeparttable, texlive-latex-titlesec,
texlive-latex-upquote, texlive-listings, texlive-lm, texlive-polyglossia,
texlive-titling, texlive-tools, texlive-ulem.
|
|
* gnu/packages/terminals.scm (foot): Update to 1.12.1.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
|
|
* gnu/packages/mail.scm (claws-mail): Update to 4.1.0.
|
|
* gnu/packages/mail.scm (alpine): Update to 2.26.
[source]: Remove patch.
* gnu/packages/patches/alpine-fix-privacy-policy-crash.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
|
|
* gnu/packages/mail.scm (python-notmuch):
[arguments]: Don't explicitly return #t from phase.
|
|
* gnu/packages/mail.scm (notmuch): Update to 0.36.
|
|
* gnu/packages/graph.scm (python-igraph): Update to 0.9.11.
|
|
* gnu/packages/logging.scm (multitail): Update to 6.5.2.
[arguments]: Don't explicitly return #t from phases.
[source]: Use GIT-FETCH and GIT-FILE-NAME.
[arguments]: Add SYSCONFDIR to #:make-flags.
Add a new 'fix-broken-build phase.
Sanitise the old 'patch-curses-lib phase to 'patch-curses-headers.
|
|
* gnu/packages/linux.scm (inotify-tools): Update to 3.22.6.0.
|
|
* gnu/packages/cpp.scm (reproc): Update to 14.2.4.
|
|
* gnu/packages/python-xyz.scm (python-pkginfo): Update to 1.8.3.
[arguments]: Remove 'patch-tests phase.
|
|
* gnu/packages/emacs-xyz.scm (emacs-modus-themes): Update to 2.4.1.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
* gnu/packages/emacs-xyz.scm (emacs-platformio-mode): New variable.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
* gnu/packages/package-management.scm (nar-herder): Update to 0-8.042f49e.
|
|
* gnu/packages/python-xyz.scm (python-debugpy)[arguments]: Respect
tests? in 'check phase and disable #:tests.
|
|
* gnu/packages/python-xyz.scm (python-pydevd)[arguments]: Add skipped
tests.
|
|
* gnu/packages/xorg.scm (mkfontscale): Update to 1.2.2.
|
|
* gnu/packages/xorg.scm (xauth): Update to 1.1.2.
|
|
* gnu/packages/xorg.scm (xcalc): Update to 1.1.1.
|
|
* gnu/packages/xorg.scm (xdpyinfo): Update to 1.3.3.
|
|
* gnu/packages/xorg.scm (xf86-input-libinput): Update to 1.2.1.
|
|
* gnu/packages/xorg.scm (xf86-video-amdgpu): Update to 22.0.0.
|
|
* gnu/packages/xorg.scm (xf86-video-dummy): Update to 0.4.0.
|
|
* gnu/packages/xorg.scm (xlsfonts): Update to 1.0.7.
|
|
* gnu/packages/xorg.scm (xorg-sgml-doctools): Update to 1.12.
|
|
* gnu/packages/xorg.scm (twm): Update to 1.0.12.
|
|
* gnu/packages/bioinformatics.scm (python-pybedtools): Update to 0.9.0.
[description]: Update to satisfy guix lint.
[license]: Update to expat and lgpl2.1+.
|
|
* gnu/packages/python-xyz.scm (python-miniupnpc)[arguments]: Add
'remove-kernel-version phase.
|
|
* gnu/packages/statistics.scm (readstat): Update to 1.1.8.
|
|
* gnu/packages/linux.scm (rng-tools)[inputs]:
Remove input labels.
|