Not restoring it would cause problems when running:
guix time-machine --commit=6298c3ffd9654d3231a6f25390b056483e8f407c
or similar because the target Guix would be built with 2.2, and then
we'd erroneously go on and attempt build the profile with 2.2. This
would fail because profile dependencies such as "guile-gdbm-ffi" now
target 3.0.
* guix/channels.scm (call-with-guile): New procedure.
(with-guile): New macro.
(build-from-source): Use it instead of calling 'set-guile-for-build'
just once. This ensures that '%guile-for-build' is restored
afterwards.
* guix/build/syscalls.scm (sockaddr-in,sockaddr-in6): Rename to ...
(sockaddr-in/linux, sockaddr-in6/linux): ... this. Rename introduced bindings
as well.
(write-socket-address!/linux,read-socket-address/linux): Rename from
(write-socket-address!, read-socket-address): ... new switches between those
and ...
(write-socket-address!/hurd, read-socket-address/hurd): ... these new function.
This package is needed because Jami uses a modified version
of ffmpeg, which provides GPU hardware acceleration, automatical
adapting of bitrate and extra codecs. Because of the configure flags
list being long, it is better to keep them separated in variables,
instead of littering the package definition.
* gnu/packages/jami.scm (ffmpeg-jami, %ffmpeg-default-configure-flags,
%ffmpeg-linux-configure-flags, %ffmpeg-linux-x86-configure-flags):
New variables.
(ffmpeg-compose-configure-flags): New procedure.
(libring)[inputs]: Use ffmpeg-jami instead of ffmpeg.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This prevents Emacs from loading the autoload definitions found in its
profile, which needlessly clutters the output. It also prevents Geiser (if
installed) from blocking the script and asking the user to input the Scheme
implementation to use.
The trick for passing multiple arguments to Emacs is to use what is called a
"sesquicolon" (see https://www.emacswiki.org/emacs/EmacsScripts).
* etc/indent-code.el.in: Rename to...
* etc/indent-code.el: ...this. Adapt the shebang to use a sesquicolon, and
pass the --quick option to Emacs. Since this line is interpreted by the
shell, simply use Emacs from the PATH instead of from a hard coded location.
(main): New procedure, used as the entry point.
* configure.ac: Remove the warning about Emacs. Emacs can now be installed
any time by the user if they want to use the script.
* .gitignore: No longer ignore changes to etc/indent-code.el.
* gnu/packages/admin.scm (sudo)[arguments]: Pass "--disable-python"
when (%current-target-system) is true.
[inputs]: Remove PYTHON when (%current-target-system) is true.
* gnu/packages/networking.scm (blueman): Fixes.
[version]: Upgrade to 2.1.3.
[source]<origin>[method]: Change from url-fetch to git-fetch.
[arguments]<#:phases>['setenv]: New phase.
['patch-python-references]: New phase.
['patch-external-programs]: New phase.
['patch-pulseaudio-libraries]: New phase.
['wrap-blueman-progs]: New phase.
[native-inputs]: Add autoconf, autogen, automake and gobject-introspection.
[inputs]: Add iptables and ppp. Remove adwaita-icon-theme.
Signed-off-by: Pierre Neidhardt <mail@ambrevar.xyz>
* gnu/packages/aux-files/run-in-namespace.c (HAVE_EXEC_WITH_LOADER): New
macro.
(bind_mount): Rename to...
(mirror_directory): ... this. Add 'firmlink' argument and use it
instead of calling mkdir/open/close/mount directly.
(bind_mount, make_symlink): New functions.
(exec_in_user_namespace): Adjust accordingly.
(exec_with_loader) [HAVE_EXEC_WITH_LOADER]: New function.
(exec_performance): New function.
(engines): Add them.
* guix/scripts/pack.scm (wrapped-package)[fakechroot-library]
[audit-module]: New procedures.
[audit-source]: New variable.
[build](elf-interpreter, elf-loader-compile-flags): New procedures.
(build-wrapper): Use them.
* tests/guix-pack-relocatable.sh: Test with
'GUIX_EXECUTION_ENGINE=fakechroot'.
* doc/guix.texi (Invoking guix pack): Document the 'performance' and
'fakechroot' engines.
* gnu/packages/aux-files/pack-audit.c: New file.
* Makefile.am (AUX_FILES): Add it.
* gnu/packages/aux-files/run-in-namespace.c (original_store): New variable.
(exec_in_user_namespace, exec_with_proot, main): Use it instead of the
literal "@STORE_DIRECTORY@".
* gnu/packages/aux-files/run-in-namespace.c (struct engine): New type.
(exec_default): New function.
(engines): New variable.
(execution_engine): New function.
(main): Use it instead of calling 'exec_in_user_namespace' and
'exec_with_proot' directly.
* tests/guix-pack-relocatable.sh: Add test with 'GUIX_EXECUTION_ENGINE'.
* doc/guix.texi (Invoking guix pack): Document 'GUIX_EXECUTION_ENGINE'.
Fixes a bug whereby a bag's transitive dependencies would depend on the
global '%current-target-system' value.
Partly fixes <https://issues.guix.gnu.org/41182>.
* guix/packages.scm (bag-transitive-inputs)
(bag-transitive-build-inputs, bag-transitive-target-inputs):
Parameterize '%current-target-system'.
* tests/packages.scm ("package->bag, sensitivity to %current-target-system"):
New test.
Until now, something like:
guix pack -f docker --target=arm-linux-gnueabihf
would attempt to cross-compile tar.
* guix/scripts/pack.scm (self-contained-tarball): Pass #:target to
'gexp->derivation'.
(squashfs-image): Use #+ instead of #$ for ARCHIVER. Use 'file-append'
instead of 'string-append'. Pass #:target to 'gexp->derivation'.
(docker-image): Likewise.
Fixes <https://issues.guix.gnu.org/issue/41244>.
* gnu/packages/xfce.scm (exo)[arguments]: Add wrap-exo-compose-mail phase so
it can find URI::Escape from perl-uri.
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
* gnu/packages/virtualization.scm (qemu-minimal)[arguments]: Adjust
configure-flags so that each architecture only builds for its native
architectures.
[synopsis]: Adjust to clarify it's only for the host's architecture.
[[PGP Signed Part:No public key for 7C7AFFBEFEF2CB25 created at 2020-05-14T11:15:53+0200 using RSA]]
To test this, I made a presentation about guix git workflow in emacs:
https://www.rohleder.de/~mike/guix-workflow/
maybe, its useful for someone.
From 528ccdab63cf399012582450491be6df3d8cc431 Mon Sep 17 00:00:00 2001
From: Michael Rohleder <mike@rohleder.de>
Date: Thu, 14 May 2020 08:16:49 +0000
Subject: [PATCH] gnu: emacs-org-re-reveal: Update to 2.12.2.
* gnu/packages/emacs-xyz.scm (emacs-org-re-reveal): Update to 2.12.2.
This is a follow-up of 7f6d3f3950 and merely
a copy-and-paste of Marius Bakke's fix.
* gnu/packages/embedded.scm (gcc-arm-none-eabi-7-2018-q2-update)[arguments]:
Add phase to remove the default compiler from CPLUS_INCLUDE_PATH.
[native-inputs]: Distinguish GCC-5.
Fix error from 'udisks': “Failed to get contents of the config
dir (/etc/libblockdev/conf.d/)Error opening directory
"/etc/libblockdev/conf.d/": No such file or directory.”
* gnu/packages/disk.scm (libblockdev)[arguments]: Add phase
'patch-configuration-directory'.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
The line is too long and HTML docs are build fine without it.
* gnu/packages/freedesktop.scm (udisks)[arguments]: Remove configure
flag '--enable-gtk-doc'.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>