X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/1052ae5f03de931b52c7a638c8e4f8d8d7093af3..a1f7d98a9c7380be5815fd13b519bbab145757c2:/Makefile.am diff --git a/Makefile.am b/Makefile.am index c4ccee65f1..e5363140fb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +# Copyright © 2012-2022 Ludovic Courtès # Copyright © 2013 Andreas Enge # Copyright © 2015, 2017 Alex Kost # Copyright © 2016, 2018 Mathieu Lirzin @@ -81,6 +81,7 @@ MODULES = \ guix/base64.scm \ guix/ci.scm \ guix/cpio.scm \ + guix/cpu.scm \ guix/deprecation.scm \ guix/docker.scm \ guix/records.scm \ @@ -96,9 +97,9 @@ MODULES = \ guix/discovery.scm \ guix/android-repo-download.scm \ guix/bzr-download.scm \ - guix/extracting-download.scm \ guix/git-download.scm \ guix/hg-download.scm \ + guix/hash.scm \ guix/swh.scm \ guix/monads.scm \ guix/monad-repl.scm \ @@ -128,7 +129,14 @@ MODULES = \ guix/cache.scm \ guix/cve.scm \ guix/workers.scm \ + guix/least-authority.scm \ guix/ipfs.scm \ + guix/platform.scm \ + guix/platforms/arm.scm \ + guix/platforms/mips.scm \ + guix/platforms/powerpc.scm \ + guix/platforms/riscv.scm \ + guix/platforms/x86.scm \ guix/build-system.scm \ guix/build-system/android-ndk.scm \ guix/build-system/ant.scm \ @@ -138,6 +146,7 @@ MODULES = \ guix/build-system/cmake.scm \ guix/build-system/dub.scm \ guix/build-system/dune.scm \ + guix/build-system/elm.scm \ guix/build-system/emacs.scm \ guix/build-system/font.scm \ guix/build-system/go.scm \ @@ -162,6 +171,7 @@ MODULES = \ guix/build-system/waf.scm \ guix/build-system/r.scm \ guix/build-system/rakudo.scm \ + guix/build-system/rebar.scm \ guix/build-system/ruby.scm \ guix/build-system/scons.scm \ guix/build-system/texlive.scm \ @@ -189,6 +199,7 @@ MODULES = \ guix/build/cmake-build-system.scm \ guix/build/dub-build-system.scm \ guix/build/dune-build-system.scm \ + guix/build/elm-build-system.scm \ guix/build/emacs-build-system.scm \ guix/build/meson-build-system.scm \ guix/build/minify-build-system.scm \ @@ -215,6 +226,7 @@ MODULES = \ guix/build/r-build-system.scm \ guix/build/renpy-build-system.scm \ guix/build/rakudo-build-system.scm \ + guix/build/rebar-build-system.scm \ guix/build/ruby-build-system.scm \ guix/build/scons-build-system.scm \ guix/build/texlive-build-system.scm \ @@ -254,6 +266,7 @@ MODULES = \ guix/import/cran.scm \ guix/import/crate.scm \ guix/import/egg.scm \ + guix/import/elm.scm \ guix/import/elpa.scm \ guix/import/gem.scm \ guix/import/git.scm \ @@ -262,6 +275,7 @@ MODULES = \ guix/import/gnu.scm \ guix/import/go.scm \ guix/import/hackage.scm \ + guix/import/hexpm.scm \ guix/import/json.scm \ guix/import/kde.scm \ guix/import/launchpad.scm \ @@ -296,20 +310,24 @@ MODULES = \ guix/scripts/describe.scm \ guix/scripts/style.scm \ guix/scripts/system.scm \ - guix/scripts/system/search.scm \ + guix/scripts/system/edit.scm \ guix/scripts/system/reconfigure.scm \ + guix/scripts/system/search.scm \ guix/scripts/home.scm \ + guix/scripts/home/edit.scm \ guix/scripts/home/import.scm \ guix/scripts/lint.scm \ guix/scripts/challenge.scm \ guix/scripts/import/crate.scm \ guix/scripts/import/cran.scm \ guix/scripts/import/egg.scm \ + guix/scripts/import/elm.scm \ guix/scripts/import/elpa.scm \ guix/scripts/import/gem.scm \ guix/scripts/import/gnu.scm \ guix/scripts/import/go.scm \ guix/scripts/import/hackage.scm \ + guix/scripts/import/hexpm.scm \ guix/scripts/import/json.scm \ guix/scripts/import/minetest.scm \ guix/scripts/import/opam.scm \ @@ -377,6 +395,10 @@ AUX_FILES = \ gnu/packages/aux-files/chromium/master-preferences.json \ gnu/packages/aux-files/emacs/guix-emacs.el \ gnu/packages/aux-files/guix.vim \ + gnu/packages/aux-files/linux-libre/5.18-arm.conf \ + gnu/packages/aux-files/linux-libre/5.18-arm64.conf \ + gnu/packages/aux-files/linux-libre/5.18-i686.conf \ + gnu/packages/aux-files/linux-libre/5.18-x86_64.conf \ gnu/packages/aux-files/linux-libre/5.15-arm.conf \ gnu/packages/aux-files/linux-libre/5.15-arm64.conf \ gnu/packages/aux-files/linux-libre/5.15-i686.conf \ @@ -398,11 +420,10 @@ AUX_FILES = \ gnu/packages/aux-files/linux-libre/4.14-x86_64.conf \ gnu/packages/aux-files/linux-libre/4.9-i686.conf \ gnu/packages/aux-files/linux-libre/4.9-x86_64.conf \ - gnu/packages/aux-files/linux-libre/4.4-i686.conf \ - gnu/packages/aux-files/linux-libre/4.4-x86_64.conf \ gnu/packages/aux-files/pack-audit.c \ gnu/packages/aux-files/python/sanity-check.py \ gnu/packages/aux-files/python/sitecustomize.py \ + gnu/packages/aux-files/renpy/renpy.in \ gnu/packages/aux-files/run-in-namespace.c # Templates, examples. @@ -451,6 +472,7 @@ SCM_TESTS = \ tests/boot-parameters.scm \ tests/bournish.scm \ tests/builders.scm \ + tests/build-emacs-utils.scm \ tests/build-utils.scm \ tests/cache.scm \ tests/challenge.scm \ @@ -466,6 +488,7 @@ SCM_TESTS = \ tests/derivations.scm \ tests/discovery.scm \ tests/egg.scm \ + tests/elm.scm \ tests/elpa.scm \ tests/file-systems.scm \ tests/gem.scm \ @@ -479,7 +502,10 @@ SCM_TESTS = \ tests/gremlin.scm \ tests/hackage.scm \ tests/home-import.scm \ + tests/home-services.scm \ + tests/http-client.scm \ tests/import-git.scm \ + tests/import-github.scm \ tests/import-utils.scm \ tests/inferior.scm \ tests/lint.scm \ @@ -559,6 +585,7 @@ SH_TESTS = \ tests/guix-environment.sh \ tests/guix-environment-container.sh \ tests/guix-shell.sh \ + tests/guix-shell-export-manifest.sh \ tests/guix-graph.sh \ tests/guix-describe.sh \ tests/guix-repl.sh \ @@ -640,6 +667,7 @@ EXTRA_DIST += \ etc/release-manifest.scm \ etc/source-manifest.scm \ etc/system-tests.scm \ + etc/time-travel-manifest.scm \ etc/historical-authorizations \ build-aux/build-self.scm \ build-aux/compile-all.scm \ @@ -653,16 +681,18 @@ EXTRA_DIST += \ build-aux/update-guix-package.scm \ build-aux/update-NEWS.scm \ tests/test.drv \ - tests/signing-key.pub \ - tests/signing-key.sec \ tests/cve-sample.json \ - tests/civodul.key \ - tests/rsa.key \ - tests/dsa.key \ - tests/ed25519.key \ - tests/ed25519.sec \ - tests/ed25519bis.key \ - tests/ed25519bis.sec \ + tests/keys/signing-key.pub \ + tests/keys/signing-key.sec \ + tests/keys/civodul.pub \ + tests/keys/rsa.pub \ + tests/keys/dsa.pub \ + tests/keys/ed25519.pub \ + tests/keys/ed25519.sec \ + tests/keys/ed25519-2.pub \ + tests/keys/ed25519-2.sec \ + tests/keys/ed25519-3.pub \ + tests/keys/ed25519-3.sec \ build-aux/config.rpath \ bootstrap \ doc/build.scm \ @@ -961,7 +991,7 @@ release: dist-with-updated-version all --system=$$system --fallback \ gnu/system/install.scm` ; \ if [ ! -f "$$image" ] ; then \ - echo "failed to produced Guix installation image for $$system" >&2 ; \ + echo "failed to produce Guix installation image for $$system" >&2 ; \ exit 1 ; \ fi ; \ cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" ; \ @@ -976,7 +1006,7 @@ release: dist-with-updated-version all --system=$$system --fallback \ gnu/system/examples/vm-image.tmpl` ; \ if [ ! -f "$$image" ] ; then \ - echo "failed to produced Guix VM image for $$system" >&2 ; \ + echo "failed to produce Guix VM image for $$system" >&2 ; \ exit 1 ; \ fi ; \ cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2"; \ @@ -1016,10 +1046,12 @@ assert-no-store-file-names: exit 1 ; \ fi -# Make sure important substitutes are available. +# Make sure important substitutes are available. Check only the primary +# server so that '--display-missing' doesn't print two lists. assert-binaries-available: $(GOBJECTS) $(AM_V_at)$(top_builddir)/pre-inst-env \ guix weather -m "$(top_srcdir)/etc/release-manifest.scm" \ + --substitute-urls="https://ci.guix.gnu.org" \ --display-missing # Make sure the final inputs don't refer to bootstrap tools. @@ -1055,21 +1087,35 @@ WEBLATE_REPO = https://framagit.org/tyreunom/guix-translations # form. download-po: dir=$$(mktemp -d); \ - git clone --depth 1 "$(WEBLATE_REPO)" "$$dir/translations"; \ + git clone --depth 1 "$(WEBLATE_REPO)" "$$dir/translations" && \ for domain in po/doc po/guix po/packages; do \ for po in "$$dir/translations/$$domain"/*.po; do \ translated=$$(LANG=en_US.UTF-8 msgfmt --statistics "$$po" 2>&1 | cut -f1 -d' '); \ + untranslated=$$(LANG=en_US.UTF-8 msgfmt --statistics "$$po" 2>&1 | rev | cut -f3 -d' ' | rev); \ + untranslated=$${untranslated:-0}; \ + total=$$(($$translated+$$untranslated)); \ target=$$(basename "$$po"); \ target="$$domain/$$target"; \ - if msgfmt -c "$$po" && [ "$$translated" != "0" ]; then \ + msgfmt -c "$$po"; \ + if msgfmt -c "$$po" && [ "$$translated" != "0" ] && ([ "$$domain" != "po/doc" ] || [ "$$translated" -gt $$(($$total/10)) ] || [ -f $$target ]); then \ msgfilter --no-wrap -i "$$po" cat > "$$po".tmp; \ mv "$$po".tmp "$$target"; \ echo "copied $$target."; \ else \ - echo "WARN: $$target ($$translated translated messages) was not added/updated."; \ + echo "WARN: $$target ($$translated translated messages ($$((translated/total*100))%)) was not added/updated."; \ fi; \ done; \ done; \ + for po in po/doc/*.po; do \ + translated=$$(LANG=en_US.UTF-8 msgfmt --statistics "$$po" 2>&1 | cut -f1 -d' '); \ + untranslated=$$(LANG=en_US.UTF-8 msgfmt --statistics "$$po" 2>&1 | rev | cut -f3 -d' ' | rev); \ + untranslated=$${untranslated:-0}; \ + total=$$(($$translated + $$untranslated)); \ + if [ "$$translated" -lt "$$(($$total/20))" ]; then \ + echo "WARN: $$po was removed because it is below the 5% threshold: $$((translated/total*100))%"; \ + rm $$po; \ + fi; \ + done; \ rm -rf "$$dir" .PHONY: download-po