* 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>
* guix/build/compile.scm (optimization-options)[strip-option]
[override-option]: New procedures.
Add case for "gnu/services". Change "gnu/packages" to
'-O0 -Opartial-eval'.
No packages in Guix depend on Ruby 2.3, and it was declared as end-of-life on
2019-03-31 by the upstream project.
* gnu/packages/ruby.scm (ruby-2.3): Remove variable.
* gnu/packages/fonts.scm (font-gnu-freefont)[arguments]<#:phases>:
Change ‘share/fonts’ subdirectories from ‘ttf’ and ‘otf’ back to
‘truetype’ and ‘opentype’, respectively.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>