Commit graph

84233 commits

Author SHA1 Message Date
Ludovic Courtès b19250eec6
remote: Really build things remotely when #:build-locally? is #false.
Fixes <https://issues.guix.gnu.org/46756>.
Reported by pkill9 <pkill9@runbox.com>,
Maxim Cournoyer <maxim.cournoyer@gmail.com>, and
Katherine Cox-Buday <cox.katherine.e@gmail.com>.

* guix/remote.scm (remote-eval): When BUILD-LOCALLY? is false, wrap
'build-derivations' call in 'with-build-handler'.
2021-10-28 00:44:10 +02:00
Ludovic Courtès 97d8d2ad02
gnu: guix: Update to 014f1b6.
* gnu/packages/package-management.scm (guix): Update to 014f1b6.
2021-10-28 00:44:10 +02:00
Mark H Weaver b7a0935420
gnu: icecat: Update to 91.2.0-guix0-preview1.
* gnu/packages/gnuzilla.scm (mozilla-compare-locales)
(all-mozilla-locales, %icecat-version, %icecat-build-id): Update.
(icecat-source): Update upstream source hash.  Update to latest gnuzilla
commit.  Remove the hack that provided 'rename' as 'prename'; set RENAME_CMD
environment variable instead.  Add python to PATH.  Set PYTHONPATH
appropriately.  Adapt substitutions for the reorganized 'makeicecat' script.
Run 'makeicecat' outside of the IceCat source directory.
(icecat)[inputs]: Add cairo, font-dejavu, libpng-apng, libvpx, pciutils,
hunspell, libnotify, sqlite, and zlib.  Update icu4c to version 69.
[native-inputs]: Update rust and cargo to 1.51.  Update rust-cbindgen to 0.19.
Update llvm and clang to 11.  Add m4.  Remove autoconf.
[description]: Update embedded version number to 91.
[arguments]: Remove "#:out-of-source? #t".  Add "#:validate-runpath? #f".  In
configure-flags, add "--enable-application=browser", "--enable-rust-simd",
"--enable-release", "--enable-optimize", "--enable-strip",
"--disable-elf-hack", "--with-system-png", and "--with-system-zlib".  Adjust
the set of modules.  Remove the 'link-libxul-with-libraries' and 'bootstrap'
phases.  Remove the sandbox whitelist population code from the
'fix-ffmpeg-runtime-linker' phase.  Add a new 'build-sandbox-whitelist' phase.
The new whitelist code now adds <font-dejavu>/share/fonts to the whitelist,
and also the runpaths of all libraries in the 'mesa' package.  Update the
'configure' phase to use clang-11 and llvm-11 for compilation (previously we
used gcc), to create a 'mozconfig' file and run './mach configure' (previously
we passed flags to './configure').  Update the 'build' and 'install' phases to
use './mach'.  Update and simplify the 'neutralise-store-references' phase.
Move the 'install-desktop-entry' phase to happen after 'wrap-program', whereas
previously it was run after 'configure'.  In the 'wrap-program' phase, add
libpng-apng and libnotify to LD_LIBRARY_PATH.
(mozilla-78-compare-locales, all-mozilla-78-locales, %icecat-78-version)
(icecat-78-source): New variables, containing the previous values of
mozilla-compare-locales, all-mozilla-locales, %icecat-version, and
icecat-source, respectively.
(icedove)[source]: Use 'icecat-78-source'.
* gnu/packages/patches/icecat-makeicecat.patch: Adapt to the reorganized
'makeicecat' script.
* gnu/packages/patches/icecat-78-makeicecat.patch: New file,
containing previous contents of icecat-makeicecat.patch.
* gnu/local.mk: Add icecat-78-makeicecat.patch.
2021-10-27 18:33:34 -04:00
Julien Lepiller a8c69e22ee
gnu: Add ocaml-z3.
* gnu/packages/maths.scm (ocaml-z3): New variable.
2021-10-28 00:25:59 +02:00
Julien Lepiller e2ce7fc73d
gnu: kicad: Update home page.
* gnu/packages/engineering.scm (kicad)[home-page]: Update.
2021-10-27 23:46:35 +02:00
Efraim Flashner 014f1b607f
gnu: python-deprecated: Update to 1.2.13.
* gnu/packages/python-xyz.scm (python-deprecated): Update to 1.2.13.
2021-10-27 20:09:21 +03:00
Efraim Flashner a56b000745
gnu: python-deprecated: Honor #:tests? flag.
* gnu/packages/python-xyz.scm (python-deprecated)[arguments]: Adjust
custom 'check phase to honor the #:tests? flag.
2021-10-27 20:05:15 +03:00
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
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
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
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
Ludovic Courtès fb368f4e76
packages: Add 'package-development-inputs'.
* guix/packages.scm (package-development-inputs): New procedure.
* guix/scripts/environment.scm (package-environment-inputs): Use it.
* tests/packages.scm ("package-development-inputs")
("package-development-inputs, cross-compilation"): New tests.
* doc/guix.texi (package Reference): Document it.
2021-10-25 15:29:39 +02:00
Morgan Smith e4276fc4c1
gnu: mspdebug: Update to 0.25-0.4c4d94e.
* gnu/packages/debug.scm (mspdebug): Update to 0.25-0.4c4d94e.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-10-25 14:32:59 +02:00