X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/d13ed52da216ece35af8e4f4ae413eb05912794b..abf032c13117bf2074de89082a8ef98b5cc08fad:/Makefile.am diff --git a/Makefile.am b/Makefile.am index 9803ba5dc7..17ad236655 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 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès # Copyright © 2013 Andreas Enge # Copyright © 2015, 2017 Alex Kost # Copyright © 2016, 2018 Mathieu Lirzin @@ -14,6 +14,7 @@ # Copyright © 2018 Oleg Pykhalov # Copyright © 2018 Alex Vong # Copyright © 2019 Efraim Flashner +# Copyright © 2021 Chris Marusich # # This file is part of GNU Guix. # @@ -103,6 +104,7 @@ MODULES = \ guix/profiles.scm \ guix/serialization.scm \ guix/nar.scm \ + guix/narinfo.scm \ guix/derivations.scm \ guix/grafts.scm \ guix/repl.scm \ @@ -113,6 +115,7 @@ MODULES = \ guix/channels.scm \ guix/gnu-maintenance.scm \ guix/self.scm \ + guix/substitutes.scm \ guix/upstream.scm \ guix/licenses.scm \ guix/lint.scm \ @@ -123,6 +126,7 @@ MODULES = \ guix/cache.scm \ guix/cve.scm \ guix/workers.scm \ + guix/ipfs.scm \ guix/build-system.scm \ guix/build-system/android-ndk.scm \ guix/build-system/ant.scm \ @@ -149,6 +153,7 @@ MODULES = \ guix/build-system/node.scm \ guix/build-system/perl.scm \ guix/build-system/python.scm \ + guix/build-system/renpy.scm \ guix/build-system/ocaml.scm \ guix/build-system/qt.scm \ guix/build-system/waf.scm \ @@ -204,6 +209,7 @@ MODULES = \ guix/build/ocaml-build-system.scm \ guix/build/qt-build-system.scm \ guix/build/r-build-system.scm \ + guix/build/renpy-build-system.scm \ guix/build/rakudo-build-system.scm \ guix/build/ruby-build-system.scm \ guix/build/scons-build-system.scm \ @@ -247,6 +253,7 @@ MODULES = \ guix/import/github.scm \ guix/import/gnome.scm \ guix/import/gnu.scm \ + guix/import/go.scm \ guix/import/hackage.scm \ guix/import/json.scm \ guix/import/kde.scm \ @@ -290,6 +297,7 @@ MODULES = \ 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/json.scm \ guix/scripts/import/nix.scm \ @@ -356,10 +364,15 @@ dist_noinst_DATA = \ 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.9-arm.conf \ - gnu/packages/aux-files/linux-libre/5.9-arm64.conf \ - gnu/packages/aux-files/linux-libre/5.9-i686.conf \ - gnu/packages/aux-files/linux-libre/5.9-x86_64.conf \ + gnu/packages/aux-files/guix.vim \ + gnu/packages/aux-files/linux-libre/5.11-arm.conf \ + gnu/packages/aux-files/linux-libre/5.11-arm64.conf \ + gnu/packages/aux-files/linux-libre/5.11-i686.conf \ + gnu/packages/aux-files/linux-libre/5.11-x86_64.conf \ + gnu/packages/aux-files/linux-libre/5.10-arm.conf \ + gnu/packages/aux-files/linux-libre/5.10-arm64.conf \ + gnu/packages/aux-files/linux-libre/5.10-i686.conf \ + gnu/packages/aux-files/linux-libre/5.10-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 \ @@ -392,6 +405,8 @@ EXAMPLES = \ GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go) nobase_dist_guilemodule_DATA = \ + guix/d3.v3.js \ + guix/graph.js \ guix/store/schema.sql \ $(MODULES) $(MODULES_NOT_COMPILED) $(AUX_FILES) $(EXAMPLES) \ $(MISC_DISTRO_FILES) @@ -444,6 +459,7 @@ SCM_TESTS = \ tests/git-authenticate.scm \ tests/glob.scm \ tests/gnu-maintenance.scm \ + tests/go.scm \ tests/grafts.scm \ tests/graph.scm \ tests/gremlin.scm \ @@ -455,7 +471,6 @@ SCM_TESTS = \ tests/monads.scm \ tests/nar.scm \ tests/networking.scm \ - tests/offload.scm \ tests/opam.scm \ tests/openpgp.scm \ tests/packages.scm \ @@ -470,6 +485,7 @@ SCM_TESTS = \ tests/scripts.scm \ tests/search-paths.scm \ tests/services.scm \ + tests/services/file-sharing.scm \ tests/services/linux.scm \ tests/sets.scm \ tests/size.scm \ @@ -492,6 +508,12 @@ SCM_TESTS = \ tests/uuid.scm \ tests/workers.scm +if BUILD_DAEMON_OFFLOAD +SCM_TESTS += tests/offload.scm +else +EXTRA_DIST += tests/offload.scm +endif + SH_TESTS = \ tests/guix-build.sh \ tests/guix-build-branch.sh \ @@ -591,14 +613,7 @@ EXTRA_DIST += \ etc/historical-authorizations \ build-aux/build-self.scm \ build-aux/compile-all.scm \ - build-aux/hydra/evaluate.scm \ - build-aux/hydra/gnu-system.scm \ - build-aux/hydra/guix.scm \ - build-aux/hydra/guix-modular.scm \ - build-aux/cuirass/gnu-system.scm \ - build-aux/cuirass/guix-modular.scm \ build-aux/cuirass/hurd-manifest.scm \ - build-aux/cuirass/hydra-to-cuirass.scm \ build-aux/check-final-inputs-self-contained.scm \ build-aux/check-channel-news.scm \ build-aux/compile-as-derivation.scm \ @@ -606,8 +621,6 @@ EXTRA_DIST += \ build-aux/test-driver.scm \ build-aux/update-guix-package.scm \ build-aux/update-NEWS.scm \ - d3.v3.js \ - graph.js \ tests/test.drv \ tests/signing-key.pub \ tests/signing-key.sec \ @@ -717,7 +730,6 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ --localstatedir="$$dc_install_base/var" \ --with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \ --with-libgcrypt-libdir="$(LIBGCRYPT_LIBDIR)" \ - --with-nix-prefix="$(NIX_PREFIX)" \ --enable-daemon \ ac_cv_guix_test_root="$(GUIX_TEST_ROOT)" @@ -789,7 +801,8 @@ SOURCE_TARBALLS = \ $(foreach ext,tar.gz,$(PACKAGE_FULL_TARNAME).$(ext)) # Systems supported by Guix. -SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux +SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux \ + powerpc64le-linux # Guix binary tarballs. BINARY_TARBALLS = \ @@ -941,28 +954,18 @@ check-channel-news: $(GOBJECTS) $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ "$(top_srcdir)/build-aux/check-channel-news.scm" -# Compute the Hydra jobs and write them in the target file. -hydra-jobs.scm: $(GOBJECTS) - $(AM_V_at)$(MKDIR_P) "`dirname "$@"`" - $(AM_V_GEN)$(top_builddir)/pre-inst-env "$(GUILE)" \ - "$(top_srcdir)/build-aux/hydra/evaluate.scm" \ - "$(top_srcdir)/build-aux/hydra/gnu-system.scm" > "$@.tmp" - $(AM_V_at)mv "$@.tmp" "$@" - -# Compute the Cuirass jobs and write them in the target file. -cuirass-jobs.scm: $(GOBJECTS) - $(AM_V_at)$(MKDIR_P) "`dirname "$@"`" +# Compute the Cuirass jobs. +cuirass-jobs: $(GOBJECTS) + rm -rf "$@" + $(AM_V_at)$(MKDIR_P) "$@" $(AM_V_GEN)$(top_builddir)/pre-inst-env "$(GUILE)" \ - "$(top_srcdir)/build-aux/hydra/evaluate.scm" \ - "$(top_srcdir)/build-aux/cuirass/gnu-system.scm" \ - cuirass > "$@.tmp" - $(AM_V_at)mv "$@.tmp" "$@" + "$(top_srcdir)/build-aux/cuirass/evaluate.scm" "$@" .PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version .PHONY: assert-no-store-file-names assert-binaries-available .PHONY: assert-final-inputs-self-contained check-channel-news .PHONY: clean-go make-go as-derivation authenticate -.PHONY: update-guix-package update-NEWS release +.PHONY: update-guix-package update-NEWS cuirass-jobs release # Downloading up-to-date PO files. @@ -978,9 +981,12 @@ download-po.$(1): fi ; \ for lang in $$$$LINGUAS; do \ if wget -nv -O "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" \ - "https://translationproject.org/latest/$(1)/$$$$lang.po" ; \ + "https://translate.fedoraproject.org/api/translations/guix/$(1)/$$$$lang/file/" ; \ then \ - mv "$(top_srcdir)/$(2)/$(3)$$$$lang.po"{.tmp,} ; \ + msgfilter --no-wrap -i "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" \ + cat > "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp2" ; \ + rm "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" ; \ + mv "$(top_srcdir)/$(2)/$(3)$$$$lang.po"{.tmp2,} ; \ else \ rm "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" ; \ fi ; \ @@ -990,13 +996,49 @@ download-po.$(1): endef +# Checking po files for issues. This is useful to run after downloading new +# po files. + +# make-check-po-rule DOMAIN DIRECTORY [FILE-NAME-PREFIX] +define make-check-po-rule + +check-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 [ -f "$(top_srcdir)/$(2)/$(3)$$$$lang.po" ]; \ + then \ + if ! msgfmt -c "$(top_srcdir)/$(2)/$(3)$$$$lang.po" ; \ + then \ + exit 1 ; \ + fi ; \ + fi ; \ + done + +.PHONY: check-po.$(1) + +endef + +$(eval $(call make-download-po-rule,documentation-cookbook,po/doc,guix-cookbook.)) +$(eval $(call make-download-po-rule,documentation-manual,po/doc,guix-manual.)) $(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.)) +$(eval $(call make-download-po-rule,packages,po/packages)) -download-po: $(foreach domain,guix guix-packages guix-manual,download-po.$(domain)) +$(eval $(call make-check-po-rule,documentation-cookbook,po/doc,guix-cookbook.)) +$(eval $(call make-check-po-rule,documentation-manual,po/doc,guix-manual.)) +$(eval $(call make-check-po-rule,guix,po/guix)) +$(eval $(call make-check-po-rule,packages,po/packages)) + +download-po: $(foreach domain,guix packages documentation-manual documentation-cookbook,download-po.$(domain)) .PHONY: download-po +check-po: $(foreach domain,guix packages documentation-manual documentation-cookbook,check-po.$(domain)) +.PHONY: check-po + ## -------------- ## ## Silent rules. ## ## -------------- ##