Commit graph

98099 commits

Author SHA1 Message Date
Karl Hallsby
618f665a5f
bootloader: grub: Add removable grub-efi bootloader option.
For single-disk installs (external USBs) and for amnesiac UEFIs, Guix is not
found using its default Grub EFI bootloader location of
/boot/efi/EFI/Guix/grubx64.efi means the Guix install will not be found.

To handle this, we can place the bootloader file in the UEFI specification
location, overwriting any other OS that may have placed a file there. This
location is namely /boot/efi/EFI/BOOT/BOOTX64.efi. Grub has explicit support
for this location/situation with the `--removable` flag.

* gnu/bootloader/grub.scm (install-grub-efi-removable)
(grub-efi-removable-bootloader): New variables.
* doc/guix.texi (Bootloader Configuration): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-06 22:43:30 +02:00
Arun Isaac
e614cf2907
gnu: guile-xapian: Update to 0.2.0.
* gnu/packages/guile-xyz.scm (guile-xapian): Update to 0.2.0.
[source]: Remove modules and snippet setting LD_LIBRARY_PATH.
2022-06-07 01:20:53 +05:30
Efraim Flashner
b995c1bd10
gnu: python-flake8: Allow building with newer python-pyflakes.
* gnu/packages/python-xyz.scm (python-flake8)[source]: Add snippet to
remove upper bound on dependency python-pyflakes version.
2022-06-06 22:18:36 +03:00
Maxim Cournoyer
b9c8c3585b
gnu: Add python-labjack.
* gnu/packages/python-xyz.scm (python-labjack): New variable.
2022-06-06 13:32:34 -04:00
Maxim Cournoyer
1c7d5b1c82
gnu: Add python-exodriver.
* gnu/packages/python-xyz.scm (python-exodriver): New variable.
2022-06-06 13:27:39 -04:00
Maxim Cournoyer
1d0d46b1c7
system: Fix typo, add doc.
* gnu/system.scm (operating-system-kernel-arguments): Fix typo in doc.
(boot-parameters->menu-entry): Add doc.
2022-06-06 11:29:51 -04:00
Tobias Geerinckx-Rice
898511205c
gnu: irssi: Edit description.
* gnu/packages/irc.scm (irssi)[synopsis, description]: Expound.
2022-06-05 02:00:00 +02:00
Julien Lepiller
1643402950
gnu: offlate: Update to 0.6.1.
* gnu/packages/python-xyz.scm (offlate): Update to 0.6.1.
2022-06-11 22:55:26 +02:00
Tobias Geerinckx-Rice
c23d4871a6
gnu: irssi: Update to 1.4.1.
* gnu/packages/irc.scm (irssi): Update to 1.4.1.
[arguments]: Remove unmaintained "--with-bot".
2022-06-05 02:00:08 +02:00
Tobias Geerinckx-Rice
c794df8490
gnu: python-pyodbc-c: Fix metadata.
It appears to have been copied from python-pyodbc, a different project.

* gnu/packages/databases.scm (python-pyodbc-c)[synopsis, description]:
Describe this project instead, and how it differs.
[home-page]: Point elsewhere.
2022-06-05 02:00:08 +02:00
Tobias Geerinckx-Rice
89c7a2c891
gnu: python-pyodbc-c: Update to 3.1.5.
* gnu/packages/databases.scm (python-pyodbc-c): Update to 3.1.5.
2022-06-05 02:00:08 +02:00
Tobias Geerinckx-Rice
289b521584
gnu: python-pyodbc-c: Don't use unstable tarball.
* gnu/packages/databases.scm (python-pyodbc-c)[source]: Use GIT-FETCH and
GIT-FILE-NAME.
2022-06-05 02:00:08 +02:00
Tobias Geerinckx-Rice
64b12a1abf
gnu: python-pyodbc: Update to 4.0.32.
* gnu/packages/databases.scm (python-pyodbc): Update to 4.0.32.
2022-06-05 02:00:08 +02:00
Tobias Geerinckx-Rice
07edc13f04
gnu: python-pyodbc: Document the test situation.
* gnu/packages/databases.scm (python-pyodbc)[arguments]: Replace
counterfactual comment with one that isn't.  Add a custom 'check phase,
which doesn't run.
2022-06-05 02:00:08 +02:00
Tobias Geerinckx-Rice
f0fa2b25ba
gnu: python-pyodbc: Remove precompiled .pyc files from source.
* gnu/packages/databases.scm (python-pyodbc)[source]: Add a snippet.
Remove no-op file-name.
2022-06-05 02:00:07 +02:00
Haider Mirza
2d7548f0cf
gnu: Add emacs-org-auto-tangle.
* gnu/packages/emacs-xyz.scm (emacs-org-auto-tangle): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-06-11 09:19:34 +02:00
Josselin Poiret
a99015c878
system: Align zram priority with swap-space spec to clarify.
Fixes <https://issues.guix.gnu.org/54783>.

* gnu/services/linux.scm (zram-device-configuration)
[priority]: Adapt to use #f or an integer from 0 to 32767.  Add sanitizer to
warn for the change and delay the field.
(zram-device-configuration->udev-string): Adapt as above.
* doc/guix.texi (Zram Device Service): Remove double copyright line.
Change priority description to refer to the Swap Space one, and suggest not
leaving the default #f on to properly use zram.

Reported-by: Stefan Baums <baums@stefanbaums.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-06-11 00:57:13 -04:00
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