Commit graph

86392 commits

Author SHA1 Message Date
Vagrant Cascadian af4ce7bd41
gnu: diffoscope: Update to 188.
* gnu/packages/patches/diffoscope-fix-test_item3_deflate_llvm_bitcode.patch:
  Rename patch to...
* gnu/packages/patches/diffoscope-fix-llvm-test.patch: This.
* gnu/local.mk (dist_patch_DATA): Update patch name.
* gnu/packages/diffoscope.scm (diffoscope): Update to 188.
  [source]: Update patch name.
  [arguments]: Add skip-python-tests phase.
  Add fpc-external-tool phase.
  Add use-dumppdf-py phase.
  [native-inputs]: Add fpc.
2021-10-27 08:58:42 -07:00
Florian Pelz 2efc7819ce
news: Add 'de' translation.
* etc/news.scm: Add German translation of "guix shell" entry.
2021-10-27 15:39:36 +02:00
Efraim Flashner ce6b5eb701
gnu: python-aiohttp: Sort inputs alphabetically.
* gnu/packages/python-web.scm (python-aiohttp)[native-inputs]: Sort
inputs alphabetically.
2021-10-27 16:00:22 +03:00
Efraim Flashner afbd988dde
gnu: python-aiohttp: Fix test suite.
* gnu/packages/python-web.scm (python-aiohttp)[arguments]: Adjust custom
'check phase to not load uninstalled code.
[native-inputs]: Replace python-pytest with python-pytest-6.1.
2021-10-27 15:58:32 +03:00
Guillaume Le Vaillant 55483dcb98
gnu: pdf2djvu: Update to 0.9.18.1.
* gnu/packages/djvu.scm (pdf2djvu): Update to 0.9.18.1.
  [arguments]: Add 'fix-tests' phase.
2021-10-27 13:46:48 +02:00
Efraim Flashner 138c122fef
gnu: Add python-pytest-6.1.
* gnu/packages/check.scm (python-pytest-6.1): New variable.
2021-10-27 13:09:57 +03:00
Efraim Flashner 7a0077d7f3
gnu: python-pytest-mock: Adjust package inputs.
* gnu/packages/check.scm (python-pytest-mock)[propagated-inputs]: Move
python-pytest-asyncio ...
[native-inputs]: ... to here.
(python2-pytest-mock): Adjust to ensure package remains unchanged.
2021-10-27 13:09:26 +03:00
Efraim Flashner d76e0a36f9
gnu: python-pytest-toolbox: Honor #:tests? flag.
* gnu/packages/python-check.scm (python-pytest-toolbox)[arguments]:
Adjust custom 'check phase to honor the #:tests? flag.
2021-10-27 11:01:41 +03:00
Efraim Flashner c2179c27fe
gnu: python-pytest-toolbox: Fix test suite.
* gnu/packages/python-check.scm (python-pytest-toolbox)[arguments]:
Adjust custom 'check phase to remove obsolete pytest flag.
[native-inputs]: Remove python-coverage, python-docutils, python-flake8,
python-isort, python-pyflakes, python-pygments, python-pytest-cov,
python-pytest-mock, python-pytest-sugar.
2021-10-27 10:59:33 +03:00
Tobias Geerinckx-Rice 89d8417b37
gnu: snooze: Fix installation destination.
* gnu/packages/suckless.scm (snooze)[arguments]: Remove bogus $(DESTDIR)
from #:make-flags to install in $(PREFIX).

Reported by Christopher Howard <christopher@librehacker.com>
2021-10-27 00:13:09 +02:00
Tobias Geerinckx-Rice ebc2740637
gnu: tor: Update to 0.4.6.8.
* gnu/packages/tor.scm (tor): Update to 0.4.6.8.
[fixes low-severity TROVE-2021-008]
2021-10-27 00:08:42 +02:00
Leo Famulari c6adc09473
gnu: asignify: Update to 1.1-1.08af003.
* gnu/packages/crypto.scm (asignify): Update to 1.1-1.08af003.
2021-10-26 12:34:10 -04:00
Leo Famulari 3d51fd19fa
gnu: Add b2sum.
* gnu/packages/crypto.scm (b2sum): New variable.
2021-10-26 12:06:26 -04:00
Ludovic Courtès 0a42998a50
syscalls: Gracefully handle failure to load libc's libutil.
In particular, libutil is not found when running code on a
statically-linked Guile.

Reported by mahmooz on #guix.

* guix/build/syscalls.scm (syscall->procedure): Add #:library parameter
and honor it.
(openpty, login-tty): Use 'syscall->procedure' instead of calling
'dynamic-link' directly.
2021-10-26 14:53:43 +02:00
Robin Templeton 73ae663b21
gnu: Add yt-dlp.
* gnu/packages/video.scm (yt-dlp): New variable.

Co-authored-by: Morgan Smith <Morgan.J.Smith@outlook.com>
Suggested-by: bdju <bdju@tilde.team>
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2021-10-26 14:50:06 +02:00
Mathieu Othacehe 45f7875937
gnu: Add uuu.
* gnu/packages/flashing-tools.scm (uuu): New variable.
2021-10-26 12:45:49 +00:00
Stephen Paul Weber f8e260e5a2
gnu: ruby-eventmachine: Add openssl input.
While EventMachine will build without openssl present, attempting to use it to
make any TLS-secured connections will crash at runtime, which is not very
useful.  This allows the build system to find and link OpenSSL and thus TLS will
work at runtime.

* gnu/packages/ruby.scm (ruby-eventmachine): Add openssl input.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-26 12:46:28 +02:00
Ludovic Courtès 409f538d65
shell: Suggest running '--check' once for interactive use.
* guix/scripts/shell.scm (hint-directory, hint-file, record-hint)
(hint-given?): New procedures.
(guix-shell): Record and probe the 'shell-check' hint.
2021-10-26 12:46:28 +02:00
Ludovic Courtès 9e46942c1c
environment: Add '--check'.
* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add '--check'.
* guix/scripts/environment.scm (child-shell-environment)
(validate-child-shell-environment): New procedures.
(guix-environment*): Call 'validate-child-shell-environment' when
'check?' key is in OPTS.
* doc/guix.texi (Invoking guix shell): Shorten footnote about Bash
startup files.  Document '--check' and mention startup files.
(Invoking guix environment): Document '--check'.
2021-10-26 12:46:27 +02:00
Ludovic Courtès f87371bf3e
syscalls: Add 'openpty' and 'login-tty'.
* guix/build/syscalls.scm (openpty, login-pty): New procedures.
* tests/syscalls.scm ("openpty", "openpty + login-tty"): New tests.
2021-10-26 12:46:27 +02:00
Ludovic Courtès b7b0ac8544
packages: Optimize 'package-transitive-supported-systems'.
With this change, the wall-clock time of:

  ./pre-inst-env guile -c '(use-modules (gnu) (guix)(ice-9 time)) (time (pk (fold-packages (lambda (p r)(supported-package? p)(+ 1 r)) 0)))'

goes from 3.2s to 2.0s, a 37% improvement.

* guix/packages.scm (package-transitive-supported-systems): Change
'supported-systems' to 'supported-systems-procedure', returning an
'mlambdaq' instead of the original 'mlambda'.  Add 'procs'.  Adjust body
accordingly.
2021-10-26 12:46:27 +02:00
Efraim Flashner b7a36599b4
gnu: python-aiohttp: Remove cythonized files.
* gnu/packages/python-web.scm (python-aiohttp)[source]: Add snippet to
remove generated cythonized files.
[arguments]: Add phase to generate cythonized files.
[native-inputs]: Add python-cython.
2021-10-26 11:31:51 +03:00
Efraim Flashner a41f93c39d
gnu: python-joblib: Run test suite sequentially.
* gnu/packages/python-xyz.scm (python-joblib)[arguments]: Adjust custom
'check phase to run the test suite sequentially.
2021-10-26 09:01:27 +03:00
Efraim Flashner 1aad42e24c
gnu: python-joblib: Honor #:tests? flag.
* gnu/packages/python-xyz.scm (python-joblib)[arguments]: Adjust custom
'check phase to honor the #:tests? flag.
2021-10-26 09:00:45 +03:00
Efraim Flashner ffcc5395b7
gnu: mariadb: Only enable parallel tests on x86_64-linux.
* gnu/packages/databases.scm (mariadb)[arguments]: Only enable parallel
tests when building on x86_64-linux.
2021-10-26 08:37:17 +03:00
Tobias Geerinckx-Rice d579df680e
gnu: darkhttpd: Cross-compile.
* gnu/packages/web.scm (darkhttpd)[arguments]: Use CC-FOR-TARGET.
2021-10-26 02:02:48 +02:00
Tobias Geerinckx-Rice e598e46913
gnu: darkhttpd: Update to 1.13.
* gnu/packages/web.scm (darkhttpd): Update to 1.13.
[source]: Use GIT-FETCH and GIT-FILE-NAME.
[arguments]: Don't explicitly return #t from phases.
2021-10-26 02:02:48 +02:00
Tobias Geerinckx-Rice b8fc7c2359
gnu: fcft: Update to 2.4.6.
* gnu/packages/fontutils.scm (fcft): Update to 2.4.6.
2021-10-26 02:02:48 +02:00
Leo Famulari de3bf035b4
gnu: OpenEXR 2: Move the snippet into a build phase.
This snippet was just working around a quirk of the Guix build environment.

* gnu/packages/graphics.scm (openexr-2)[origin]: Remove snippet.
[arguments]: Add a 'patch-test-directory' phase.
2021-10-25 19:24:02 -04:00
Leo Famulari 547009ff0a
gnu: OpenEXR: Move the snippet into a build phase.
This snippet was just working around a quirk of the Guix build environment.

* gnu/packages/graphics.scm (openexr)[origin]: Remove snippet.
[arguments]: Add a 'patch-test-directory' phase.
2021-10-25 19:23:59 -04:00
Ludovic Courtès b0735c79b0
gnu: p11-kit: Update home page.
* gnu/packages/tls.scm (p11-kit)[home-page]: Update.
2021-10-25 21:03:15 +02:00
John Kehayias f52694e1d5
gnu: xdg-desktop-portal-gtk: Propagate xdg-desktop-portal.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-gtk)[inputs]: Fix the
runtime need for xdg-desktop-portal and XDG_DESKTOP_PORTAL_DIR being written
twice. Move xdg-desktop-portal to ...
[propagated-inputs]: ... here.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 21:01:21 +02:00
John Kehayias 9c4244cc73
gnu: flatpak: Add patch to fix paths.
* gnu/packages/package-management.scm (flatpak)[source]: Add patch.
* gnu/packages/patches/flatpak-fix-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 21:01:21 +02:00
John Kehayias d407c107f3
gnu: flatpak: Fix certificate error from p11-kit.
* gnu/packages/package-management.scm (flatpak)[inputs]: Add p11-kit-next.
[arguments]: Add new 'p11-kit-fix phase to patch source to use p11-kit-next
input instead of an implicit p11-kit from dependencies.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 21:01:20 +02:00
John Kehayias 73a795e77c
gnu: flatpak: Update to 1.12.1.
* gnu/packages/package-management.scm (flatpak): Update to 1.12.1.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 21:01:20 +02:00
Ludovic Courtès b4d29851e4
gnu: p11-kit@0.24.0: Use certificates from /etc/ssl/certs.
Fixes <https://issues.guix.gnu.org/49957>.

Flatpak has a soft dependency on p11-kit, which was configured without
knowledge of the system-wide CA certificate store.  This caused some
flatpak apps to fail with ERR_CERT_AUTHORITY_INVALID errors.

Reported by Andrew Whatson <whatson@gmail.com>.

* gnu/packages/tls.scm (p11-kit-next)[arguments]: New field.

Co-authored-by: Andrew Whatson <whatson@gmail.com>
Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
2021-10-25 21:01:17 +02:00
John Kehayias 811b62d8c8
gnu: Add p11-kit 0.24.0.
* gnu/packages/tls.scm (p11-kit-next): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 21:00:46 +02:00
John Kehayias 7c5a4025f5
gnu: xdg-desktop-portal-gtk: Update to 1.10.0.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-gtk): Update to 1.10.0.
[arguments]: Adjust configure-flags for Gnome backends in new
version (defaults to disabled in this version)

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 20:32:14 +02:00
John Kehayias 419a778e46
gnu: xdg-desktop-portal: Update to 1.10.1.
* gnu/packages/freedesktop.scm (xdg-desktop-portal): Update to 1.10.1.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 20:32:03 +02:00
John Kehayias 2be79191e0
gnu: libportal: Update to 0.4.
* gnu/packages/freedesktop.scm (libportal): Update to 0.4.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 20:31:43 +02:00
Ludovic Courtès 4aa41a37f0
news: Add entry about "guix shell".
* etc/news.scm: Add entry.
2021-10-25 20:11:25 +02:00
Ludovic Courtès 9730692d9f
shell: Maintain a profile cache.
shell: Maintain a profile cache.

With this change, running "guix shell" (no arguments) is equivalent to:

  guix environment -r ~/.cache/guix/profiles/some-root -l guix.scm

This is the cache miss.  On cache hit, it's equivalent to:

  guix environment -p ~/.cache/guix/profiles/some-root

... which can run in 0.1s.

* guix/scripts/shell.scm (options-with-caching): New procedure.
(parse-args): Use it.
(%profile-cache-directory): New variable.
(profile-cache-key, profile-cached-gc-root): New procedures.
(show-help, %options): Add '--rebuild-cache'.
(guix-shell)[cache-entries, entry-expiration]: New procedures.
Add call to 'maybe-remove-expired-cache-entries'.
* doc/guix.texi (Invoking guix shell): Document '--rebuild-cache'.
2021-10-25 19:02:33 +02:00
Ludovic Courtès 2cb0b3709a
cache: Gracefully handle non-existent cache.
* guix/cache.scm (maybe-remove-expired-cache-entries): Ignore ENOENT
when writing EXPIRY-FILE.
2021-10-25 19:02:33 +02:00
Ludovic Courtès 3c96158438
environment: Autoload some modules.
This further speeds up the 'guix environment -p PROFILE' case.

* guix/scripts/environment.scm: Autoload a bunch of modules.
2021-10-25 19:02:33 +02:00
Ludovic Courtès 99499a2037
environment: Do not connect to the daemon when '--profile' is used.
This further speeds up the 'guix environment -p PROFILE' case.

* guix/scripts/environment.scm (guix-environment*)[store-needed?]: New
variable.
[with-store/maybe]: New macro.
Use it instead of 'with-store', and remove 'with-build-handler' form.
2021-10-25 19:02:33 +02:00
Ludovic Courtès 648a6eb03f
environment: Skip derivation computation when '--profile' is used.
* guix/scripts/environment.scm (guix-environment*): Bypass calls to
'package-derivation' and to 'manifest->derivation' when PROFILE is
true.
2021-10-25 19:02:33 +02:00
Ludovic Courtès 10208952ea
environment: Add tests for '--profile'.
This is a followup to a643deac2d.

* tests/guix-environment-container.sh, tests/guix-environment.sh: Add
tests for '--profile'.
2021-10-25 19:02:32 +02:00
Ludovic Courtès 746584e0ca
shell: By default load the local 'manifest.scm' or 'guix.scm' file.
* guix/scripts/shell.scm (parse-args): Add call to 'auto-detect-manifest'.
(authorized-directory-file, authorized-shell-directory?)
(find-file-in-parent-directories, auto-detect-manifest): New procedures.
* tests/guix-shell.sh: Add test.
* doc/guix.texi (Invoking guix shell): Document it.
2021-10-25 19:02:23 +02:00
Ludovic Courtès 80edb7df65
Add 'guix shell'.
* guix/scripts/shell.scm, tests/guix-shell.sh: New files.
* Makefile.am (MODULES): Add 'shell.scm'.
(SH_TESTS): Add 'tests/guix-shell.sh'.
* guix/scripts/environment.scm (show-environment-options-help): New
procedure.
(show-help): Use it.
(guix-environment*): New procedure.
(guix-environment): Use it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Features): Refer to "guix shell"
(Invoking guix package): Likewise.
(Development): Likewise.
(Invoking guix shell): New node.
(Invoking guix environment): Add deprecation warning.
(Debugging Build Failures): Use 'guix shell' in examples.
(Invoking guix container): Refer to 'guix shell'.
(Invoking guix processes, Virtualization Services): Adjust examples to
use 'guix shell'.
* doc/contributing.texi (Building from Git): Refer to 'guix shell'.
* etc/completion/bash/guix: Handle "shell".
2021-10-25 18:58:18 +02:00
Ludovic Courtès 23f99f1a29
profiles: Add 'package->development-manifest'.
* guix/profiles.scm (package->development-manifest): New procedure.
* guix/scripts/environment.scm (input->manifest-entry)
(package-environment-inputs): Remove.
* guix/scripts/environment.scm (options/resolve-packages): Use
'package->development-manifest' instead of 'package-environment-inputs'.
* tests/profiles.scm ("package->development-manifest"): New test.
2021-10-25 15:29:42 +02:00