mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-16 03:45:24 -05:00
4ff12d1de7
Fixes <https://issues.guix.gnu.org/55499>. Reported by Ricardo Wurmus <rekado@elephly.net>. With this change, the manifest file created for: guix install r r-seurat r-cistopic r-monocle3 r-cicero-monocle3 r-assertthat goes from 5.7M to 176K. Likewise, on this profile, wall-clock time of: GUIX_PROFILING=gc guix package -I goes from 0.7s to 0.1s, with heap usage going from 55M to 9M. * guix/profiles.scm (manifest->gexp)[optional]: New procedure. [entry->gexp]: Turn into a monadic procedure. Return a 'repeated' sexp if ENTRY was already visited before. Adjust caller accordingly. Bump manifest version. (sexp->manifest)[sexp->manifest-entry]: Turn into a monadic procedure. Add case for 'repeated' nodes. Add each entry to the current state vhash. Add clause for version 4 manifests. [sexp->manifest-entry/v3]: New procedure, with former 'sexp->manifest-entry' code. * tests/profiles.scm ("deduplication of repeated entries"): New test. * guix/build/profiles.scm (manifest-sexp->inputs+search-paths)[let-fields]: New macro. Use it. Expect version 4. Add clause for 'repeated' nodes. |
||
---|---|---|
.. | ||
build | ||
build-system | ||
import | ||
platforms | ||
scripts | ||
store | ||
tests | ||
android-repo-download.scm | ||
avahi.scm | ||
base16.scm | ||
base32.scm | ||
base64.scm | ||
build-system.scm | ||
bzr-download.scm | ||
cache.scm | ||
channels.scm | ||
ci.scm | ||
colors.scm | ||
combinators.scm | ||
config.scm.in | ||
cpio.scm | ||
cpu.scm | ||
cve.scm | ||
cvs-download.scm | ||
d3.v3.js | ||
deprecation.scm | ||
derivations.scm | ||
describe.scm | ||
diagnostics.scm | ||
discovery.scm | ||
docker.scm | ||
download.scm | ||
elf.scm | ||
ftp-client.scm | ||
gexp.scm | ||
git-authenticate.scm | ||
git-download.scm | ||
git.scm | ||
glob.scm | ||
gnu-maintenance.scm | ||
gnupg.scm | ||
grafts.scm | ||
graph.js | ||
graph.scm | ||
hash.scm | ||
hg-download.scm | ||
http-client.scm | ||
i18n.scm | ||
inferior.scm | ||
ipfs.scm | ||
least-authority.scm | ||
licenses.scm | ||
lint.scm | ||
man-db.scm | ||
memoization.scm | ||
modules.scm | ||
monad-repl.scm | ||
monads.scm | ||
nar.scm | ||
narinfo.scm | ||
openpgp.scm | ||
packages.scm | ||
pki.scm | ||
platform.scm | ||
profiles.scm | ||
profiling.scm | ||
progress.scm | ||
quirks.scm | ||
records.scm | ||
remote.scm | ||
repl.scm | ||
scripts.scm | ||
search-paths.scm | ||
self.scm | ||
serialization.scm | ||
sets.scm | ||
ssh.scm | ||
status.scm | ||
store.scm | ||
substitutes.scm | ||
svn-download.scm | ||
swh.scm | ||
tests.scm | ||
transformations.scm | ||
ui.scm | ||
upstream.scm | ||
utils.scm | ||
workers.scm |