me
/
guix
Archived
1
0
Fork 0
This repository has been archived on 2024-08-07. You can view files and clone it, but cannot push or open issues/pull-requests.
guix/guix
Ludovic Courtès 5a7cb59648
deduplication: Detect holes and create sparse files.
This reduces disk usage of sparse files that are substituted such as
Guile object files (ELF files).  As of Guile 3.0.9, .go files are sparse
due to ELF sections being aligned on 64 KiB boundaries.

This reduces disk usage reported by “du -sh” by 9% for the ‘guix’
package, by 23% for ‘guile’, and by 35% for ‘guile-git’.

* guix/store/deduplication.scm (hole-size, find-holes): New procedures.
(tee)[seekable?]: New variable.
[read!]: Add case when SEEKABLE? is true.
* tests/store-deduplication.scm (cartesian-product): New procedure.
("copy-file/deduplicate, sparse files (holes: ~a/~a/~a)"): New test set.

Change-Id: Iad2ab7830dcb1220e2026f4a127a6c718afa8964
2024-05-25 16:44:42 +02:00
..
build build: qt-utils: Use QML_IMPORT_PATH2 for Qt 5 (fixup). 2024-04-06 11:42:56 -04:00
build-system guix: Update Bioconductor version to 3.19. 2024-05-08 12:53:14 +02:00
import import/elpa: Add proper file-name to origin. 2024-05-22 15:21:09 +08:00
platforms guix: Add xtensa-ath9k-elf platform. 2024-04-17 12:13:02 +02:00
scripts environment: Fix type error with ‘-C’ when ‘getpwuid’ fails. 2024-05-25 15:10:11 +02:00
store deduplication: Detect holes and create sparse files. 2024-05-25 16:44:42 +02:00
tests
android-repo-download.scm
avahi.scm
base16.scm
base32.scm
base64.scm
build-system.scm
bzr-download.scm download: Honor ‘GUIX_DOWNLOAD_METHODS’ environment variable. 2024-03-09 18:55:50 +01:00
cache.scm
channels.scm guix: channels: Handle single case with authenticating message. 2024-05-13 09:11:05 +01:00
ci.scm
colors.scm
combinators.scm
config.scm.in
cpio.scm
cpu.scm cpu: Enable tuning for i686-linux. 2024-03-07 13:04:27 +02:00
cve.scm
cvs-download.scm download: Honor ‘GUIX_DOWNLOAD_METHODS’ environment variable. 2024-03-09 18:55:50 +01:00
d3.v3.js
deprecation.scm
derivations.scm Autoload (gcrypt hash). 2024-04-15 22:36:42 +02:00
describe.scm describe: Try harder to find the ‘guix pull’ profile. 2024-03-19 17:02:14 +01:00
diagnostics.scm
discovery.scm Autoload (guix build syscalls). 2024-04-15 22:36:42 +02:00
docker.scm
download.scm guix: Delay loading of (gnutls). 2024-04-15 22:36:42 +02:00
elf.scm
ftp-client.scm
gexp.scm gexp: Add #:guile parameter to ‘gexp->file’ and ‘scheme-file’. 2024-04-08 00:05:48 +02:00
git-authenticate.scm
git-download.scm download: Honor ‘GUIX_DOWNLOAD_METHODS’ environment variable. 2024-03-09 18:55:50 +01:00
git.scm Autoload (gcrypt hash). 2024-04-15 22:36:42 +02:00
glob.scm
gnu-maintenance.scm
gnupg.scm
grafts.scm
graph.js
graph.scm
hash.scm
hg-download.scm download: Honor ‘GUIX_DOWNLOAD_METHODS’ environment variable. 2024-03-09 18:55:50 +01:00
http-client.scm
i18n.scm
inferior.scm
ipfs.scm
least-authority.scm
licenses.scm
lint.scm lint: archival: Trigger “Save Code Now” for VCSes other than Git. 2024-03-09 18:55:49 +01:00
man-db.scm
memoization.scm
modules.scm
monad-repl.scm
monads.scm
nar.scm Autoload (guix build syscalls). 2024-04-15 22:36:42 +02:00
narinfo.scm
openpgp.scm
packages.scm packages: ‘sanitize-inputs’ does not add labels when unnecessary. 2024-05-05 12:06:23 +02:00
pki.scm
platform.scm
profiles.scm Merge remote-tracking branch 'savannah/master' into gnome-team 2024-03-20 14:54:26 +00:00
profiling.scm
progress.scm
quirks.scm
read-print.scm
records.scm records: Do not inline the constructor. 2024-05-04 19:14:24 +02:00
remote.scm
repl.scm
rpm.scm
scripts.scm Autoload (guix build syscalls). 2024-04-15 22:36:42 +02:00
search-paths.scm
self.scm Use po4a-minimal for guix. 2024-05-13 12:01:49 +01:00
serialization.scm
sets.scm
ssh.scm ssh: ‘open-ssh-session’ displays the port number upon error. 2024-04-04 15:48:47 +02:00
status.scm
store.scm store: Add with-store/non-blocking. 2024-05-13 19:31:17 +01:00
substitutes.scm
svn-download.scm svn-download: Add dependency on tar+gzip for SWH retrieval. 2024-05-01 17:26:18 +02:00
swh.scm swh: ‘lookup-origin-revision’ handles branches pointing to directories. 2024-03-09 18:55:49 +01:00
tests.scm
transformations.scm transformations: Add support for rust. 2024-03-10 12:50:13 +02:00
ui.scm ui: Delay use of (guix build syscalls). 2024-04-15 22:36:42 +02:00
upstream.scm
utils.scm utils: Don’t re-export ‘call-with-temporary-output-file’. 2024-04-15 22:36:42 +02:00
workers.scm