me
/
guix
Archived
1
0
Fork 0
Commit Graph

98282 Commits (b66f8aa1541c00533b16485a577dbc82fc791bfb)

Author SHA1 Message Date
Maxim Cournoyer 8649ac5eaa
services: jami-configuration: Rename 'jamid' field to 'libjami'.
* gnu/services/telephony.scm (gnu):
(jami-configuration)[jamid]: Rename field to...
[libjami]: ... this.
(jami-configuration->command-line-arguments): Adjust accordingly.
(jami-shepherd-services): Likewise.
2022-06-10 23:52:34 -04:00
Maxim Cournoyer 8994e13b9f
least-authority: Fix typo.
* guix/least-authority.scm (least-authority-wrapper): Fix typo in doc.
2022-06-10 23:52:34 -04:00
Maxim Cournoyer 85b4dabd94
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-06-10 23:52:33 -04:00
Tobias Geerinckx-Rice b8edfdb008
gnu: qtox: Update to 1.17.6.
* gnu/packages/messaging.scm (qtox): Update to 1.17.6.
2022-06-05 02:00:01 +02:00
Tobias Geerinckx-Rice ddd265b033
gnu: galera: Update to 26.4.12.
* gnu/packages/databases.scm (galera): Update to 26.4.12.
2022-06-05 02:00:01 +02:00
Tobias Geerinckx-Rice 2bcc6d5b1d
gnu: xsecurelock: Remove input labels.
* gnu/packages/xdisorg.scm (xsecurelock)[inputs]:
Remove input labels.
2022-06-05 02:00:00 +02:00
Tobias Geerinckx-Rice 1023bd85cc
gnu: Add nmon.
* gnu/packages/admin.scm (nmon): New public variable.
2022-06-05 02:00:00 +02:00
Tobias Geerinckx-Rice 2ea908b0a5
gnu: xsecurelock: Update setuid example in description.
* gnu/packages/xorg.scm (xsecurelock)[description]: Update example code.
2022-06-05 02:00:00 +02:00
Tobias Geerinckx-Rice 8c2c5c2c9c
gnu: oneko: Edit description.
* 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.
2022-06-05 02:00:00 +02:00
Tobias Geerinckx-Rice b6854fb26f
gnu: papirus-icon-theme: Remove input labels.
* gnu/packages/gnome-xyz.scm (papirus-icon-theme)[native-inputs]:
Remove input labels.
2022-06-05 02:00:00 +02:00
Tobias Geerinckx-Rice a7255dd13f
gnu: oneko: Remove trailing #t from phases.
* gnu/packages/toys.scm (oneko)[source]: Don't explicitly return #t from snippet…
[arguments]: …nor from phases.
2022-06-05 02:00:00 +02:00
Tobias Geerinckx-Rice 5fc41bb758
gnu: papirus-icon-theme: Update to 20220508.
* gnu/packages/gnome-xyz.scm (papirus-icon-theme): Update to 20220508.
2022-06-05 02:00:00 +02:00
Jelle Licht e71f35df74
gnu: node: Fix cross-compilation.
* gnu/packages/node.scm (node)[phases]{configure}: Unwind the stack before
invoking the exception handler.
{patch-hardcoded-program-references}: Use search-input-file where appropriate.
2022-06-06 15:38:23 +02:00
Jelle Licht 6b96ef08b9
gnu: node-lts: Update to 14.19.3.
* gnu/packages/node.scm (node-lts): Update to 14.19.3.
[arguments]: Disable test that requires networking.
[native-inputs]: Replace icu4c-67 with icu4c-70.
[inputs]: Replace icu4c-67 with icu4c-70.
2022-06-06 15:38:18 +02:00
Ricardo Wurmus e6df9f92f5
gnu: python-rope: Update to 1.1.1.
* gnu/packages/python-xyz.scm (python-rope): Update to 1.1.1.
[arguments]: Add build phase to disable broken test.
[native-inputs]: Add python-pytest and python-pytest-timeout.
[description]: Remove explicit mention of Python 2.
2022-06-06 15:31:18 +02:00
Lars-Dominik Braun 143141726e
import: hackage: Filter upper/mixed case dependencies too.
* guix/import/hackage.scm (filter-dependencies): Convert OWN-NAMES
to lowercase before filtering.
(hackage-module->sexp): Remove #f from OWN-NAMES, which is used for
unnamed (default) libraries.
* tests/hackage.scm (test-cabal-internal-library-ignored): Add mismatched
uppercase letters.
2022-06-06 13:26:51 +02:00
Lars-Dominik Braun dedfcaa8e2
import: hackage: Filter internal libraries from inputs and native-inputs.
Fixes <https://issues.guix.gnu.org/54760>.

* guix/import/hackage.scm (filter-dependencies): Support multiple
OWN-NAMES.
(hackage-module->sexp): Filter OWN-NAMES from HACKAGE-DEPENDENCIES and
HACKAGE-NATIVE-DEPENDENCIES.
* tests/hackage.scm (test-cabal-internal-library-ignored): New variable.
("hackage->guix-package test internal libraries are ignored"): New testcase.
2022-06-06 13:26:45 +02:00
Lars-Dominik Braun c3fbaee345
import: cabal: Support library names
* guix/import/cabal.scm (make-cabal-parser): Add name to section.
(is-lib): Add optional name to regular expression.
(lex-rx-res): Support selecting different substring.
(lex-lib): Match 2nd substring from IS-LIB.
(lex-line): Adapt to changes for lex-lib.
(cabal-library): Add name field and export CABAL-LIBRARY-NAME.
(eval): Remove special case for 'library, which is not required any more.
(make-cabal-section): Move special case for LIBRARY.
* tests/hackage.scm (test-read-cabal-library-name): New variable.
("read-cabal test 1"): Adapt testcase to changed internal structure.
("read-cabal test: library name"): New testcase.
2022-06-06 13:26:45 +02:00
Lars-Dominik Braun f4763ec37d
import: cabal: Document failing syntax through tests.
* tests/hackage.scm (test-read-cabal-brackets-newline): New variable.
(test-cabal-no-final-newline): Likewise.
("hackage->guix-package test without final newline",
"read-cabal test: property brackets on new line"): New tests.
2022-06-06 13:26:45 +02:00
Lars-Dominik Braun e3337f35af
import: cabal: Allow curly bracket before else statement.
* guix/import/cabal.scm (is-else): Turn into procedure.
(lex-line): Move IS-ELSE…
(lex-word): …here.
* tests/hackage.scm (test-cabal-elif-brackets): Extend testcase.
2022-06-06 13:26:45 +02:00
Lars-Dominik Braun 001e0bac99
import: cabal: Allow properties without space between key and value.
* guix/import/cabal.scm (lex-word): Add colon to delimiters.
* tests/hackage.scm (test-cabal-property-no-space): New variable.
("hackage->guix-package test properties without space"): New test.
2022-06-06 13:26:45 +02:00
Lars-Dominik Braun 0972feaff1
import: cabal: Allow curly brackets in more positions.
* guix/import/cabal.scm (is-layout-property): Do not expect end of line.
(lex-layout-property): Check for newline.
(lex-property): Stop reading on closing curly bracket.
* tests/hackage.scm (test-read-cabal-2): New variable.
("read-cabal test: if brackets on the same line"): New test.
2022-06-06 13:26:45 +02:00
Lars-Dominik Braun 2c5d18e421
import: cabal: Support elif statement.
Fixes <https://issues.guix.gnu.org/54752>.

* guix/import/cabal.scm (make-cabal-parser): Replace if-then-else grammar case with elif-else, modify if-then accordingly.
(is-elif): New procedure.
(lex-elif): Likewise.
(is-id): Add elif keyword.
(lex-word): Add test for elif.
* tests/hackage.scm (test-cabal-if): New variale.
(test-cabal-else): Likewise.
(test-cabal-elif): Likewise.
(test-cabal-elif-brackets): Likewise.
(match-ghc-elif): Likewise.
("hackage->guix-package test lonely if statement",
"hackage->guix-package test else statement",
"hackage->guix-package test elif statement",
"hackage->guix-package test elif statement with brackets"): New tests.
2022-06-06 13:26:09 +02:00
Vagrant Cascadian 0c6123f8aa
gnu: aqbanking: Do not embed build date.
* gnu/packages/gnucash.scm (aqbanking)[arguments]: Add
  'use-version-instead-of-date phase.
2022-06-05 22:56:09 -07:00
Vagrant Cascadian ae1d8d6a6f
gnu: timescaledb: Do not embed running kernel version.
* gnu/packages/databases.scm (timescaledb)[arguments]: Add
  'remove-kernel-version phase.
2022-06-05 21:37:27 -07:00
Vagrant Cascadian ce6d8ca443
gnu: ncftp: Build reproducibly.
* gnu/packages/patches/ncftp-reproducible.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add patch.
* gnu/packages/ftp.scm (ncftp): Add patch.
2022-06-05 20:27:37 -07:00
Vagrant Cascadian 41cf573f0a
gnu: sendmail: Remove timestamps.
* gnu/packages/mail.scm (sendmail)[arguments]: Add 'remove-build-timestamps
  phase.
2022-06-05 17:31:35 -07:00
Vagrant Cascadian 89ab76b810
gnu: autogen: Use reproducible date for man pages.
* gnu/packages/autogen.scm (autogen)[arguments]: Add 'set-man-page-date phase.
2022-06-05 17:10:13 -07:00
Vagrant Cascadian 14783af536
gnu: rhino: Remove build timestamps.
* gnu/packages/javascript.scm (rhino)[arguments]: Add 'remove-build-dates
  phase.
2022-06-05 17:10:10 -07:00
Vagrant Cascadian 7f85e7ce49
gnu: transmission: Do not embed kernel version in user agent.
* gnu/packages/bittorrent.scm (transmission)[arguments]: Add
  'remove-kernel-version phase.
2022-06-05 17:10:07 -07:00
Liliana Marie Prikler 52cb6e6310
gnu: python-flake8: Update to 3.9.2.
* gnu/packages/python-xyz.scm (python-flake8): Update to 3.9.2.
2022-06-05 23:56:59 +02:00
Luis Felipe ff8c7be8d1
gnu: emacs-elm-mode: Update to 0.22.0.
This version fixes compilation on Emacs 28.1 (see
https://github.com/jcollard/elm-mode/issues/186).

*  gnu/packages/emacs-xyz.scm (emacs-elm-mode): Update to 0.22.0.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-05 23:35:31 +02:00
Timotej Lazar 1c537569ed
services: guix-data-service: Increase timeout for service start.
The guix-data-service system test fails on a slower machine with a one-minute
time limit.

* gnu/services/guix.scm (guix-data-service): Double the #:pid-file-timeout.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-05 23:35:31 +02:00
Kiran Shila 29f62a7f5a
services: pam-limits: Add sudo and sshd.
* gnu/services/base.scm (pam-limits-service-type): Add "sudo" and "sshd"
to the list.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-05 23:35:31 +02:00
Brian Kubisiak ce1276073b
gnu: Add gitlint.
* gnu/packages/version-control.scm (gitlint): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-05 23:35:30 +02:00
Brian Kubisiak 5fd2868ef8
gnu: python-sh: Update to 1.14.2.
* gnu/packages/python-xyz.scm (python-sh): Update to 1.14.2.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-05 23:35:30 +02:00
Roman Riabenko 544a886ae1
gnu: wpa-supplicant: Install DBus service file.
* gnu/packages/admin.scm (wpa-supplicant)[arguments]: In
'install-dbus-conf' phase, install DBus service file for
dbus-system-services-builder to find.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-05 23:35:30 +02:00
Ludovic Courtès f697dd94c4
tests: childhurd: Make sure "guix build -d" works.
* gnu/tests/virtualization.scm (run-childhurd-test)
["guix-daemon up and running"]: New test.
2022-06-05 23:35:30 +02:00
Ludovic Courtès 1fc4d821eb
tests: childhurd: Generalize command execution over SSH.
* gnu/tests/virtualization.scm (run-childhurd-test)[run-uname-over-ssh]:
Rename to...
[run-command-over-ssh]: ... this.  Add 'command' parameter and honor it.
["SSH up and running"]: Adjust accordingly.
2022-06-05 23:35:30 +02:00
Ludovic Courtès 8ccf5f518d
gnu: commencement: Remove unnecessary uses of 'bootstrap-origin'.
* gnu/packages/commencement.scm (gnumach-headers-boot0): Remove
unnecessary 'package-with-bootstrap-guile'.
(hurd-source-boot0): Remove unnecessary 'bootstrap-origin'.
2022-06-05 23:35:30 +02:00
Ludovic Courtès cd626983af
gnu: commencement: Fetch bootstrap tarballs from ftp.gnu.org too.
As a side effect, this ensures those tarballs are eventually archived by
Software Heritage.

* gnu/packages/commencement.scm (tcc-boot0)[source]: Add "mirror://gnu"
URL.
(gnumach-headers-boot0)[source]: Likewise.
(hurd-source-boot0): Likewise.
2022-06-05 23:35:29 +02:00
Foo Chuan Wei 2dae3cbecc
gnu: Add apricots.
* gnu/packages/games.scm (apricots): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-06-05 21:27:53 +02:00
Foo Chuan Wei 4269094fd0
gnu: worklog: Remove duplicated word in description.
* gnu/packages/task-management.scm (worklog)[description]: Remove
  duplicated word.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-06-05 21:27:53 +02:00
Tobias Kortkamp 1bfb76da2a
gnu: emacs-ox-gemini: Update to latest commit.
* gnu/packages/emacs-xyz.scm (emacs-ox-gemini): Update to latest commit.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-06-05 21:27:53 +02:00
Pavel Shlyak 4d47c2c723
gitignore: Add .DS_Store.
Ignore MacOS specific file: https://en.wikipedia.org/wiki/.DS_Store

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-06-05 21:27:53 +02:00
jgart 54d2664339
gnu: python-pyflakes: Update to 2.4.0.
* gnu/packages/python-xyz.scm (python-pyflakes): Update to 2.4.0.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-06-05 21:27:53 +02:00
Artyom V. Poptsov ddb7e35bc4
gnu: Add python-musical-scales
* gnu/packages/python-xyz.scm (python-musical-scales): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-06-05 21:27:52 +02:00
Tobias Geerinckx-Rice 7c52cad046
pull: Fail if cache directory ownership is suspect.
New users frequently run ‘sudo guix pull’ which breaks subsequent
unprivileged ‘guix pull’s until manually fixed with chmod -R.

* guix/scripts/pull.scm (guix-pull): Fail if the cache directory (or
its innermost extant parent) is not owned by the user pulling the Guix,
with a hint about ‘sudo -i’.
2022-06-05 02:00:00 +02:00
Tobias Geerinckx-Rice 34c7c922f5
gnu: c-blosc: Remove input labels.
* gnu/packages/compression.scm (c-blosc)[inputs]:
Remove input labels.
2022-06-05 02:00:00 +02:00
Tobias Geerinckx-Rice 2d80b869f0
gnu: c-blosc: Remove bundled libraries from source.
* gnu/packages/compression.scm (c-blosc)[source]: Add snippet.
2022-06-05 02:00:00 +02:00