guix-play/guix/build
Maxim Cournoyer d5f8b50365
pack: Move common build code to (guix build pack).
The rationale is to reduce the number of derivations built per pack to ideally
one, to minimize storage requirements.  The number of derivations had gone up
with 68380db4 ("pack: Extract populate-profile-root from
self-contained-tarball/builder.") as a side effect to improving code reuse.

* guix/scripts/pack.scm (guix): Add commentary comment.
(populate-profile-root, self-contained-tarball/builder): Extract to...
* guix/build/pack.scm (populate-profile-root): ... this, and...
(build-self-contained-tarball): ... that, adjusting for use on the build side.
(assert-utf8-locale): New procedure.
(self-contained-tarball, debian-archive, rpm-archive): Adjust accordingly.

Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2023-07-18 16:56:06 -04:00
..
maven guix: maven: Fix java parser. 2022-02-05 20:16:32 +01:00
agda-build-system.scm build-system: New agda-build-system. 2023-06-04 10:59:34 +02:00
android-ndk-build-system.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
android-repo.scm
ant-build-system.scm build-system/ant: Avoid usage of (guix build syscalls). 2022-11-11 18:09:58 +01:00
asdf-build-system.scm guix: Leave some of guix/build/* unchanged. 2023-03-13 15:17:24 +01:00
bournish.scm
bzr.scm gnu: bazaar: Obsolete with breezy. 2022-05-31 14:54:02 -04:00
cargo-build-system.scm gnu: rust: Update to 1.67. 2023-05-07 19:28:57 +03:00
cargo-utils.scm
chicken-build-system.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
clojure-build-system.scm build-system/clojure: Avoid usage of (guix build sycalls). 2022-11-11 18:09:58 +01:00
clojure-utils.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
cmake-build-system.scm
compile.scm
copy-build-system.scm
cvs.scm
debug-link.scm debug-link: Protect against dangling symlinks. 2023-01-17 16:05:20 +01:00
download-nar.scm guix: Improve download-nar. 2023-03-16 18:37:01 +00:00
download.scm download: Do not wrap TLS port on GnuTLS >= 3.7.7. 2022-08-03 17:43:29 +02:00
dub-build-system.scm build-system/dub: Avoid usage of (guix build syscalls). 2022-11-11 18:09:58 +01:00
dune-build-system.scm guix: dune-build-system: Do not use `test-target' argument. 2023-01-15 15:57:49 +01:00
elm-build-system.scm guix: Leave some of guix/build/* unchanged. 2023-03-13 15:17:24 +01:00
emacs-build-system.scm build-system: emacs: Use native compilation. 2022-09-11 15:46:32 +02:00
emacs-utils.scm guix: emacs-utils: Support disabling native-compilation. 2022-10-14 20:41:33 +02:00
font-build-system.scm build: font-build-system: Do not return #t from phases. 2022-05-16 14:17:01 +05:30
git.scm guix: git: Set initial branch name for git-fetch. 2023-07-05 18:57:29 +03:00
glib-or-gtk-build-system.scm build/glib-or-gtk: Avoid duplicate entries in gdk-pixbuf loaders cache. 2023-04-14 15:35:36 -04:00
gnu-bootstrap.scm gnu-bootstrap: Allow multiple module directories. 2022-03-19 13:33:06 -06:00
gnu-build-system.scm build: gnu-build-system: Remove source from native inputs. 2022-12-07 09:47:08 -05:00
gnu-dist.scm build-system/gnu: Remove 'install-license-files' from '%dist-phases'. 2023-03-10 14:49:56 +01:00
go-build-system.scm
graft.scm guix: build: Avoid using magic literals in the code for hash length. 2022-09-02 17:04:46 +02:00
gremlin.scm
guile-build-system.scm guix: Leave some of guix/build/* unchanged. 2023-03-13 15:17:24 +01:00
haskell-build-system.scm build: haskell-build-system: Build static executables by default. 2023-02-26 10:26:16 +01:00
hg.scm
java-utils.scm build-system/ant: Avoid usage of (guix build syscalls). 2022-11-11 18:09:58 +01:00
json.scm
julia-build-system.scm build: julia-build-system: Fix corner-case for parallel tests. 2022-02-24 12:20:32 +02:00
kconfig.scm kconfig: Streamline comment in 'modify-defconfig'. 2022-12-20 21:19:33 -05:00
linux-module-build-system.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
lisp-utils.scm guix: Leave some of guix/build/* unchanged. 2023-03-13 15:17:24 +01:00
make-bootstrap.scm guix: Leave some of guix/build/* unchanged. 2023-03-13 15:17:24 +01:00
maven-build-system.scm
meson-build-system.scm build: meson: Explicitly invoke "meson setup" instead of just "meson". 2023-04-09 12:55:46 -04:00
meson-configuration.scm
minetest-build-system.scm
minify-build-system.scm
node-build-system.scm guix: node-build-system: Delete from peerDependencies too. 2023-06-22 12:54:19 +02:00
ocaml-build-system.scm
pack.scm pack: Move common build code to (guix build pack). 2023-07-18 16:56:06 -04:00
perl-build-system.scm
po.scm po: Do not auto-translate cross-references to other manuals. 2023-04-12 08:29:18 -04:00
profiles.scm profiles: Implicitly set GUIX_EXTENSIONS_PATH. 2022-09-07 11:30:31 +03:00
pyproject-build-system.scm build-system/pyproject: Always run tests verbosely for supported backends. 2022-10-27 21:30:03 +02:00
python-build-system.scm python-build-system: Fix typo in module-level comment paragraph. 2022-06-22 13:53:55 -04:00
qt-build-system.scm
qt-utils.scm Merge branch 'master' into core-updates. 2023-04-14 17:15:08 -04:00
r-build-system.scm
rakudo-build-system.scm
rebar-build-system.scm build-system: Add 'rebar-build-system'. 2022-06-15 10:17:25 +02:00
renpy-build-system.scm guix: Modernize renpy-build-system. 2022-06-17 18:49:06 +02:00
ruby-build-system.scm
scons-build-system.scm
store-copy.scm build: Fix typo in file-size docstring. 2022-02-07 16:22:37 -05:00
svn.scm svn-download: Do not expand keywords. 2023-06-11 18:13:44 +02:00
syscalls.scm syscalls: 'getxattr' throws upon error. 2023-03-27 18:48:52 +02:00
texlive-build-system.scm guix: texlive-build-system: Add #:link-scripts argument. 2023-07-18 18:15:05 +02:00
tree-sitter-build-system.scm build-system: Add tree-sitter-build-system. 2023-02-12 11:32:20 +04:00
union.scm guix: build: Factor out default collision-resolver. 2022-09-02 17:04:46 +02:00
utils.scm guix: build: Avoid using magic literals in the code for hash length. 2022-09-02 17:04:46 +02:00
waf-build-system.scm guix: Leave some of guix/build/* unchanged. 2023-03-13 15:17:24 +01:00