X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/6a2e54236e1b2c428c8fd478ee0f3bd8130703fa..27783023993f9272ce422868d14529159c4a5218:/Makefile.am diff --git a/Makefile.am b/Makefile.am index bd27d0079f..d9bc30dc33 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 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès # Copyright © 2013 Andreas Enge # Copyright © 2015, 2017 Alex Kost # Copyright © 2016, 2018 Mathieu Lirzin @@ -68,6 +68,7 @@ MODULES = \ guix/cpio.scm \ guix/deprecation.scm \ guix/docker.scm \ + guix/json.scm \ guix/records.scm \ guix/pki.scm \ guix/progress.scm \ @@ -121,15 +122,18 @@ MODULES = \ guix/build-system/meson.scm \ guix/build-system/minify.scm \ guix/build-system/asdf.scm \ + guix/build-system/copy.scm \ guix/build-system/glib-or-gtk.scm \ guix/build-system/gnu.scm \ guix/build-system/guile.scm \ guix/build-system/haskell.scm \ + guix/build-system/julia.scm \ guix/build-system/linux-module.scm \ guix/build-system/node.scm \ guix/build-system/perl.scm \ guix/build-system/python.scm \ guix/build-system/ocaml.scm \ + guix/build-system/qt.scm \ guix/build-system/waf.scm \ guix/build-system/r.scm \ guix/build-system/rakudo.scm \ @@ -166,9 +170,11 @@ MODULES = \ guix/build/go-build-system.scm \ guix/build/asdf-build-system.scm \ guix/build/bzr.scm \ + guix/build/copy-build-system.scm \ guix/build/git.scm \ guix/build/hg.scm \ guix/build/glib-or-gtk-build-system.scm \ + guix/build/gnu-bootstrap.scm \ guix/build/gnu-build-system.scm \ guix/build/gnu-dist.scm \ guix/build/guile-build-system.scm \ @@ -176,6 +182,7 @@ MODULES = \ guix/build/perl-build-system.scm \ guix/build/python-build-system.scm \ guix/build/ocaml-build-system.scm \ + guix/build/qt-build-system.scm \ guix/build/r-build-system.scm \ guix/build/rakudo-build-system.scm \ guix/build/ruby-build-system.scm \ @@ -183,6 +190,7 @@ MODULES = \ guix/build/texlive-build-system.scm \ guix/build/waf-build-system.scm \ guix/build/haskell-build-system.scm \ + guix/build/julia-build-system.scm \ guix/build/linux-module-build-system.scm \ guix/build/store-copy.scm \ guix/build/json.scm \ @@ -218,6 +226,7 @@ MODULES = \ guix/import/gnu.scm \ guix/import/hackage.scm \ guix/import/json.scm \ + guix/import/kde.scm \ guix/import/launchpad.scm \ guix/import/opam.scm \ guix/import/print.scm \ @@ -237,6 +246,7 @@ MODULES = \ guix/scripts/remove.scm \ guix/scripts/upgrade.scm \ guix/scripts/search.scm \ + guix/scripts/show.scm \ guix/scripts/gc.scm \ guix/scripts/hash.scm \ guix/scripts/pack.scm \ @@ -273,6 +283,7 @@ MODULES = \ guix/scripts/container.scm \ guix/scripts/container/exec.scm \ guix/scripts/deploy.scm \ + guix/scripts/time-machine.scm \ guix.scm \ $(GNU_SYSTEM_MODULES) @@ -302,17 +313,19 @@ STORE_MODULES = \ MODULES += $(STORE_MODULES) # Internal modules with test suite support. -dist_noinst_DATA = guix/tests.scm guix/tests/http.scm +dist_noinst_DATA = \ + guix/tests.scm \ + guix/tests/http.scm \ + guix/tests/git.scm # Auxiliary files for packages. AUX_FILES = \ gnu/packages/aux-files/chromium/master-preferences.json \ gnu/packages/aux-files/emacs/guix-emacs.el \ - gnu/packages/aux-files/linux-libre/5.2-arm.conf \ - gnu/packages/aux-files/linux-libre/5.2-arm-veyron.conf \ - gnu/packages/aux-files/linux-libre/5.2-arm64.conf \ - gnu/packages/aux-files/linux-libre/5.2-i686.conf \ - gnu/packages/aux-files/linux-libre/5.2-x86_64.conf \ + gnu/packages/aux-files/linux-libre/5.4-arm.conf \ + gnu/packages/aux-files/linux-libre/5.4-arm64.conf \ + gnu/packages/aux-files/linux-libre/5.4-i686.conf \ + gnu/packages/aux-files/linux-libre/5.4-x86_64.conf \ gnu/packages/aux-files/linux-libre/4.19-arm.conf \ gnu/packages/aux-files/linux-libre/4.19-arm64.conf \ gnu/packages/aux-files/linux-libre/4.19-i686.conf \ @@ -386,6 +399,7 @@ SCM_TESTS = \ tests/file-systems.scm \ tests/gem.scm \ tests/gexp.scm \ + tests/git.scm \ tests/glob.scm \ tests/gnu-maintenance.scm \ tests/grafts.scm \ @@ -399,6 +413,7 @@ SCM_TESTS = \ tests/modules.scm \ tests/monads.scm \ tests/nar.scm \ + tests/networking.scm \ tests/opam.scm \ tests/packages.scm \ tests/pack.scm \ @@ -413,6 +428,7 @@ SCM_TESTS = \ tests/scripts-build.scm \ tests/search-paths.scm \ tests/services.scm \ + tests/services/linux.scm \ tests/sets.scm \ tests/size.scm \ tests/snix.scm \ @@ -494,9 +510,7 @@ endif !CAN_RUN_TESTS check-system: $(GOBJECTS) $(AM_V_at)$(top_builddir)/pre-inst-env \ - $(GUILE) --no-auto-compile \ - -e '(@@ (run-system-tests) run-system-tests)' \ - $(top_srcdir)/build-aux/run-system-tests.scm + guix build -m $(top_srcdir)/etc/system-tests.scm -K # Public keys used to sign substitutes. dist_pkgdata_DATA = \ @@ -523,8 +537,12 @@ EXTRA_DIST += \ TODO \ CODE-OF-CONDUCT \ .dir-locals.el \ + .guix-channel \ scripts/guix.in \ etc/guix-install.sh \ + etc/news.scm \ + etc/release-manifest.scm \ + etc/system-tests.scm \ build-aux/build-self.scm \ build-aux/compile-all.scm \ build-aux/hydra/evaluate.scm \ @@ -534,20 +552,19 @@ EXTRA_DIST += \ build-aux/cuirass/gnu-system.scm \ build-aux/cuirass/guix-modular.scm \ build-aux/cuirass/hydra-to-cuirass.scm \ - build-aux/check-available-binaries.scm \ build-aux/check-final-inputs-self-contained.scm \ build-aux/compile-as-derivation.scm \ build-aux/generate-authors.scm \ + build-aux/git-authenticate.scm \ build-aux/test-driver.scm \ build-aux/update-guix-package.scm \ build-aux/update-NEWS.scm \ - build-aux/run-system-tests.scm \ d3.v3.js \ graph.js \ tests/test.drv \ tests/signing-key.pub \ tests/signing-key.sec \ - tests/cve-sample.xml \ + tests/cve-sample.json \ build-aux/config.rpath \ bootstrap \ doc/build.scm \ @@ -600,6 +617,18 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA install-data-hook: touch "$(DESTDIR)$(guileobjectdir)/guix/config.go" +# Commit corresponding to the 'v1.0.1' tag. +commit_v1_0_1 = d68de958b60426798ed62797ff7c96c327a672ac + +# Authenticate the current Git checkout by checking signatures on every commit +# starting from $(commit_v1_0_1). +authenticate: + $(AM_V_at)echo "Authenticating Git checkout..." ; \ + "$(top_builddir)/pre-inst-env" $(GUILE) \ + --no-auto-compile -e git-authenticate \ + "$(top_srcdir)/build-aux/git-authenticate.scm" \ + "$(commit_v1_0_1)" + # Assuming Guix is already installed and the daemon is up and running, this # rule builds from $(srcdir), creating and building derivations. as-derivation: @@ -809,9 +838,11 @@ assert-no-store-file-names: $(AM_V_at)if grep -r --exclude=*.texi --exclude=*.info \ --exclude=*.info-[0-9] --exclude=*.dot \ --exclude=*.eps --exclude-dir=bootstrap \ - --exclude=guix-manual.pot --exclude=guix-manual.*.po \ + --exclude=guix-manual.pot --exclude=guix-manual.*.po \ + --exclude=guix-cookbook.pot --exclude=guix-cookbook.*.po \ --exclude=guix-prettify.el \ --exclude=ChangeLog* \ + --exclude=binutils-boot-2.20*.patch \ -E "$(storedir)/[a-z0-9]{32}-" $(distdir) ; \ then \ echo "error: store file names embedded in the distribution" >&2 ; \ @@ -820,8 +851,9 @@ assert-no-store-file-names: # Make sure important substitutes are available. assert-binaries-available: $(GOBJECTS) - $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ - "$(top_srcdir)/build-aux/check-available-binaries.scm" + $(AM_V_at)$(top_builddir)/pre-inst-env \ + guix weather -m "$(top_srcdir)/etc/release-manifest.scm" \ + --display-missing # Make sure the final inputs don't refer to bootstrap tools. assert-final-inputs-self-contained: $(GOBJECTS) @@ -848,9 +880,42 @@ cuirass-jobs.scm: $(GOBJECTS) .PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version .PHONY: assert-no-store-file-names assert-binaries-available .PHONY: assert-final-inputs-self-contained -.PHONY: clean-go make-go as-derivation +.PHONY: clean-go make-go as-derivation authenticate .PHONY: update-guix-package update-NEWS release +# Downloading up-to-date PO files. + +# make-download-po-rule DOMAIN DIRECTORY [FILE-NAME-PREFIX] +define make-download-po-rule + +download-po.$(1): + if [ -f "$(top_srcdir)/$(2)/LINGUAS" ]; then \ + LINGUAS="`grep -v '^[[:blank:]]*#' < $(top_srcdir)/$(2)/LINGUAS`" ; \ + else \ + LINGUAS="`(cd $(top_srcdir)/$(2); \ + for i in *.po; do echo $$$$i; done) | cut -d . -f 2`" ; \ + fi ; \ + for lang in $$$$LINGUAS; do \ + if wget -nv -O "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" \ + "https://translationproject.org/latest/$(1)/$$$$lang.po" ; \ + then \ + mv "$(top_srcdir)/$(2)/$(3)$$$$lang.po"{.tmp,} ; \ + else \ + rm "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" ; \ + fi ; \ + done + +.PHONY: download-po.$(1) + +endef + +$(eval $(call make-download-po-rule,guix,po/guix)) +$(eval $(call make-download-po-rule,guix-packages,po/packages)) +$(eval $(call make-download-po-rule,guix-manual,po/doc,guix-manual.)) + +download-po: $(foreach domain,guix guix-packages guix-manual,download-po.$(domain)) +.PHONY: download-po + ## -------------- ## ## Silent rules. ## ## -------------- ##