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'.
* 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.
* gnu/packages/suckless.scm (snooze)[arguments]: Remove bogus $(DESTDIR)
from #:make-flags to install in $(PREFIX).
Reported by Christopher Howard <christopher@librehacker.com>
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.
* 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>
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>
* guix/scripts/shell.scm (hint-directory, hint-file, record-hint)
(hint-given?): New procedures.
(guix-shell): Record and probe the 'shell-check' hint.
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.
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.
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.
* 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>
* 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>
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>
* 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>
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'.
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.