gnu: superlu-dist: Remove use of deprecated MPI1 symbols.
[jackhill/guix/guix.git] / Makefile.am
index 6556799..0590c51 100644 (file)
@@ -1,5 +1,5 @@
 # GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 # Copyright © 2013 Andreas Enge <andreas@enge.fr>
 # Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
 # Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
@@ -9,7 +9,10 @@
 # Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 # Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 # Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-# Copyright © 2018 ng0 <ng0@n0.is>
+# Copyright © 2018 Nils Gillmann <ng0@n0.is>
+# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
+# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+# Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 #
 # This file is part of GNU Guix.
 #
@@ -26,6 +29,8 @@
 # You should have received a copy of the GNU General Public License
 # along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+
 bin_SCRIPTS = scripts/guix
 
 # Handle substitution of fully-expanded Autoconf variables.
@@ -51,16 +56,17 @@ MODULES_NOT_COMPILED =                              \
   guix/man-db.scm
 
 include gnu/local.mk
+include po/doc/local.mk
 
 MODULES =                                      \
   guix/base16.scm                              \
   guix/base32.scm                              \
   guix/base64.scm                              \
+  guix/ci.scm                                  \
   guix/cpio.scm                                        \
+  guix/deprecation.scm                         \
+  guix/docker.scm                              \
   guix/records.scm                             \
-  guix/gcrypt.scm                              \
-  guix/hash.scm                                        \
-  guix/pk-crypto.scm                           \
   guix/pki.scm                                 \
   guix/progress.scm                            \
   guix/combinators.scm                         \
@@ -72,6 +78,7 @@ MODULES =                                     \
   guix/discovery.scm                           \
   guix/git-download.scm                                \
   guix/hg-download.scm                         \
+  guix/swh.scm                                 \
   guix/monads.scm                              \
   guix/monad-repl.scm                          \
   guix/gexp.scm                                        \
@@ -80,7 +87,11 @@ MODULES =                                    \
   guix/nar.scm                                 \
   guix/derivations.scm                         \
   guix/grafts.scm                              \
+  guix/inferior.scm                            \
+  guix/describe.scm                            \
+  guix/channels.scm                            \
   guix/gnu-maintenance.scm                     \
+  guix/self.scm                                        \
   guix/upstream.scm                            \
   guix/licenses.scm                            \
   guix/glob.scm                                        \
@@ -91,10 +102,13 @@ MODULES =                                  \
   guix/workers.scm                             \
   guix/zlib.scm                                        \
   guix/build-system.scm                                \
+  guix/build-system/android-ndk.scm            \
   guix/build-system/ant.scm                    \
   guix/build-system/cargo.scm                  \
+  guix/build-system/clojure.scm                        \
   guix/build-system/cmake.scm                  \
   guix/build-system/dub.scm                    \
+  guix/build-system/dune.scm                   \
   guix/build-system/emacs.scm                  \
   guix/build-system/font.scm                   \
   guix/build-system/go.scm                     \
@@ -103,6 +117,7 @@ MODULES =                                   \
   guix/build-system/asdf.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/perl.scm                   \
   guix/build-system/python.scm                 \
@@ -123,12 +138,15 @@ MODULES =                                 \
   guix/svn-download.scm                                \
   guix/i18n.scm                                        \
   guix/ui.scm                                  \
+  guix/status.scm                              \
+  guix/build/android-ndk-build-system.scm      \
   guix/build/ant-build-system.scm              \
   guix/build/download.scm                      \
   guix/build/download-nar.scm                  \
   guix/build/cargo-build-system.scm            \
   guix/build/cmake-build-system.scm            \
   guix/build/dub-build-system.scm              \
+  guix/build/dune-build-system.scm             \
   guix/build/emacs-build-system.scm            \
   guix/build/meson-build-system.scm            \
   guix/build/minify-build-system.scm           \
@@ -140,6 +158,7 @@ MODULES =                                   \
   guix/build/glib-or-gtk-build-system.scm      \
   guix/build/gnu-build-system.scm              \
   guix/build/gnu-dist.scm                      \
+  guix/build/guile-build-system.scm            \
   guix/build/perl-build-system.scm             \
   guix/build/python-build-system.scm           \
   guix/build/ocaml-build-system.scm            \
@@ -154,12 +173,14 @@ MODULES =                                 \
   guix/build/union.scm                         \
   guix/build/profiles.scm                      \
   guix/build/compile.scm                       \
-  guix/build/pull.scm                          \
   guix/build/rpath.scm                         \
   guix/build/cvs.scm                           \
   guix/build/svn.scm                           \
   guix/build/syscalls.scm                       \
   guix/build/gremlin.scm                       \
+  guix/build/debug-link.scm                    \
+  guix/build/clojure-build-system.scm          \
+  guix/build/clojure-utils.scm                 \
   guix/build/emacs-utils.scm                   \
   guix/build/java-utils.scm                    \
   guix/build/lisp-utils.scm                    \
@@ -169,15 +190,24 @@ MODULES =                                 \
   guix/build/make-bootstrap.scm                        \
   guix/search-paths.scm                                \
   guix/packages.scm                            \
-  guix/import/print.scm                                \
-  guix/import/utils.scm                                \
-  guix/import/gnu.scm                          \
-  guix/import/snix.scm                         \
   guix/import/cabal.scm                                \
+  guix/import/cpan.scm                         \
   guix/import/cran.scm                         \
-  guix/import/hackage.scm                      \
+  guix/import/crate.scm                                \
   guix/import/elpa.scm                         \
+  guix/import/gem.scm                          \
+  guix/import/github.scm                       \
+  guix/import/gnome.scm                                \
+  guix/import/gnu.scm                          \
+  guix/import/hackage.scm                      \
+  guix/import/json.scm                         \
+  guix/import/opam.scm                         \
+  guix/import/print.scm                                \
+  guix/import/pypi.scm                         \
+  guix/import/snix.scm                         \
+  guix/import/stackage.scm                     \
   guix/import/texlive.scm                      \
+  guix/import/utils.scm                                \
   guix/scripts.scm                             \
   guix/scripts/download.scm                    \
   guix/scripts/perform-download.scm            \
@@ -189,50 +219,39 @@ MODULES =                                 \
   guix/scripts/hash.scm                                \
   guix/scripts/pack.scm                                \
   guix/scripts/pull.scm                                \
+  guix/scripts/processes.scm                   \
   guix/scripts/substitute.scm                  \
   guix/scripts/authenticate.scm                        \
   guix/scripts/refresh.scm                     \
+  guix/scripts/repl.scm                                \
+  guix/scripts/describe.scm                    \
   guix/scripts/system.scm                      \
   guix/scripts/system/search.scm               \
   guix/scripts/lint.scm                                \
   guix/scripts/challenge.scm                   \
+  guix/scripts/import/crate.scm                        \
   guix/scripts/import/cran.scm                 \
+  guix/scripts/import/elpa.scm                 \
+  guix/scripts/import/gem.scm                  \
   guix/scripts/import/gnu.scm                  \
-  guix/scripts/import/nix.scm                  \
   guix/scripts/import/hackage.scm              \
-  guix/scripts/import/elpa.scm                 \
+  guix/scripts/import/json.scm                 \
+  guix/scripts/import/nix.scm                  \
+  guix/scripts/import/opam.scm                 \
+  guix/scripts/import/pypi.scm                 \
+  guix/scripts/import/stackage.scm             \
   guix/scripts/import/texlive.scm              \
   guix/scripts/environment.scm                 \
   guix/scripts/publish.scm                     \
-  guix/scripts/weather.scm                     \
   guix/scripts/edit.scm                                \
   guix/scripts/size.scm                                \
   guix/scripts/graph.scm                       \
+  guix/scripts/weather.scm                     \
   guix/scripts/container.scm                   \
   guix/scripts/container/exec.scm              \
   guix.scm                                     \
   $(GNU_SYSTEM_MODULES)
 
-if HAVE_GUILE_JSON
-
-MODULES +=                                     \
-  guix/docker.scm                              \
-  guix/import/cpan.scm                         \
-  guix/import/crate.scm                                \
-  guix/import/gem.scm                          \
-  guix/import/github.scm                       \
-  guix/import/gnome.scm                                \
-  guix/import/json.scm                         \
-  guix/import/pypi.scm                         \
-  guix/import/stackage.scm                     \
-  guix/scripts/import/crate.scm                        \
-  guix/scripts/import/gem.scm                  \
-  guix/scripts/import/json.scm                 \
-  guix/scripts/import/pypi.scm                 \
-  guix/scripts/import/stackage.scm
-
-endif
-
 if HAVE_GUILE_SSH
 
 MODULES +=                                     \
@@ -249,15 +268,27 @@ MODULES +=                                        \
 
 endif BUILD_DAEMON_OFFLOAD
 
+# Scheme implementation of the build daemon and related functionality.
+STORE_MODULES =                                        \
+  guix/store/database.scm                      \
+  guix/store/deduplication.scm
+
+MODULES += $(STORE_MODULES)
+
 # Internal modules with test suite support.
 dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
 
 # Auxiliary files for packages.
 AUX_FILES =                                            \
   gnu/packages/aux-files/emacs/guix-emacs.el           \
-  gnu/packages/aux-files/linux-libre/4.15-arm.conf     \
-  gnu/packages/aux-files/linux-libre/4.15-i686.conf    \
-  gnu/packages/aux-files/linux-libre/4.15-x86_64.conf  \
+  gnu/packages/aux-files/linux-libre/4.20-arm.conf     \
+  gnu/packages/aux-files/linux-libre/4.20-arm64.conf   \
+  gnu/packages/aux-files/linux-libre/4.20-i686.conf    \
+  gnu/packages/aux-files/linux-libre/4.20-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    \
+  gnu/packages/aux-files/linux-libre/4.19-x86_64.conf  \
   gnu/packages/aux-files/linux-libre/4.14-arm.conf     \
   gnu/packages/aux-files/linux-libre/4.14-i686.conf    \
   gnu/packages/aux-files/linux-libre/4.14-x86_64.conf  \
@@ -265,8 +296,7 @@ AUX_FILES =                                         \
   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/linux-libre/4.1-i686.conf     \
-  gnu/packages/aux-files/linux-libre/4.1-x86_64.conf
+  gnu/packages/aux-files/run-in-namespace.c
 
 # Templates, examples.
 EXAMPLES =                                     \
@@ -279,6 +309,7 @@ EXAMPLES =                                  \
 GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
 
 nobase_dist_guilemodule_DATA =                                 \
+  guix/store/schema.sql                                                \
   $(MODULES) $(MODULES_NOT_COMPILED) $(AUX_FILES) $(EXAMPLES)  \
   $(MISC_DISTRO_FILES)
 nobase_nodist_guilemodule_DATA = guix/config.scm
@@ -304,9 +335,11 @@ SCM_TESTS =                                        \
   tests/base16.scm                             \
   tests/base32.scm                             \
   tests/base64.scm                             \
+  tests/channels.scm                           \
+  tests/cpan.scm                               \
   tests/cpio.scm                               \
-  tests/hash.scm                               \
-  tests/pk-crypto.scm                          \
+  tests/crate.scm                              \
+  tests/gem.scm                                        \
   tests/pki.scm                                        \
   tests/print.scm                              \
   tests/sets.scm                               \
@@ -318,7 +351,9 @@ SCM_TESTS =                                 \
   tests/glob.scm                               \
   tests/grafts.scm                             \
   tests/ui.scm                                 \
+  tests/status.scm                             \
   tests/records.scm                            \
+  tests/processes.scm                          \
   tests/upstream.scm                           \
   tests/combinators.scm                                \
   tests/discovery.scm                          \
@@ -338,7 +373,9 @@ SCM_TESTS =                                 \
   tests/profiles.scm                           \
   tests/search-paths.scm                       \
   tests/syscalls.scm                           \
+  tests/inferior.scm                           \
   tests/gremlin.scm                            \
+  tests/debug-link.scm                         \
   tests/bournish.scm                           \
   tests/lint.scm                               \
   tests/publish.scm                            \
@@ -356,24 +393,22 @@ SCM_TESTS =                                       \
   tests/services.scm                           \
   tests/scripts-build.scm                      \
   tests/containers.scm                         \
+  tests/opam.scm                               \
   tests/pack.scm                               \
-  tests/import-utils.scm
-
-if HAVE_GUILE_JSON
-
-SCM_TESTS +=                                   \
   tests/pypi.scm                               \
-  tests/cpan.scm                               \
-  tests/gem.scm                                        \
-  tests/crate.scm
-
-endif
+  tests/import-utils.scm                       \
+  tests/store-database.scm                     \
+  tests/store-deduplication.scm
 
 SH_TESTS =                                     \
   tests/guix-build.sh                          \
+  tests/guix-build-branch.sh                   \
   tests/guix-download.sh                       \
   tests/guix-gc.sh                             \
   tests/guix-hash.sh                           \
+  tests/guix-pack.sh                           \
+  tests/guix-pack-localstatedir.sh             \
+  tests/guix-pack-relocatable.sh               \
   tests/guix-package.sh                                \
   tests/guix-package-net.sh                    \
   tests/guix-system.sh                         \
@@ -382,15 +417,9 @@ SH_TESTS =                                 \
   tests/guix-environment.sh                    \
   tests/guix-environment-container.sh          \
   tests/guix-graph.sh                          \
+  tests/guix-describe.sh                       \
   tests/guix-lint.sh
 
-if BUILD_DAEMON
-
-SH_TESTS += tests/guix-register.sh
-
-endif BUILD_DAEMON
-
-
 TESTS = $(SCM_TESTS) $(SH_TESTS)
 
 AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)" GUILE_AUTO_COMPILE=0
@@ -436,11 +465,13 @@ check-system: $(GOBJECTS)
 
 # Public key used to sign substitutes from hydra.gnu.org & co.
 dist_pkgdata_DATA =                            \
-  hydra.gnu.org.pub                            \
-  berlin.guixsd.org.pub
+  etc/substitutes/hydra.gnu.org.pub            \
+  etc/substitutes/berlin.guixsd.org.pub                \
+  etc/substitutes/ci.guix.info.pub
 
 # Bash completion file.
-dist_bashcompletion_DATA = etc/completion/bash/guix
+dist_bashcompletion_DATA = etc/completion/bash/guix    \
+  etc/completion/bash/guix-daemon
 
 # Zsh completion file.
 dist_zshcompletion_DATA = etc/completion/zsh/_guix
@@ -451,13 +482,13 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
 # SELinux policy
 dist_selinux_policy_DATA = etc/guix-daemon.cil
 
-EXTRA_DIST                                           \
+EXTRA_DIST +=                                          \
   HACKING                                              \
   ROADMAP                                              \
   TODO                                                 \
   CODE-OF-CONDUCT                                      \
   .dir-locals.el                                       \
-  bin/guix.in                                          \
+  scripts/guix.in                                      \
   etc/guix-install.sh                                  \
   build-aux/build-self.scm                             \
   build-aux/compile-all.scm                            \
@@ -465,8 +496,12 @@ EXTRA_DIST =                                               \
   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/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/test-driver.scm                            \
   build-aux/update-guix-package.scm                    \
@@ -474,8 +509,6 @@ EXTRA_DIST =                                                \
   build-aux/run-system-tests.scm                       \
   d3.v3.js                                             \
   graph.js                                             \
-  srfi/srfi-64.scm                                     \
-  srfi/srfi-64.upstream.scm                            \
   tests/test.drv                                       \
   tests/signing-key.pub                                        \
   tests/signing-key.sec                                        \
@@ -532,6 +565,13 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
 install-data-hook: set-bootstrap-executable-permissions
        touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
 
+# Assuming Guix is already installed and the daemon is up and running, this
+# rule builds from $(srcdir), creating and building derivations.
+as-derivation:
+       $(AM_V_at)echo "Building Guix in Guix..." ;             \
+       $(GUILE) --no-auto-compile                              \
+         "$(top_srcdir)/build-aux/compile-as-derivation.scm"   \
+         "$(abs_top_srcdir)"
 
 SUBDIRS = po/guix po/packages
 BUILT_SOURCES =
@@ -559,18 +599,17 @@ AM_DISTCHECK_CONFIGURE_FLAGS =                    \
   --enable-daemon                              \
   ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
 
-# The self-contained tarball.  Add 'glibc-utf8-locales' along with glibc just
-# so 'etc/profile' defines 'GUIX_LOCPATH' pointing to a valid set of locales.
+# The self-contained tarball.
 guix-binary.%.tar.xz:
        $(AM_V_GEN)GUIX_PACKAGE_PATH=                                   \
        tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz        \
-         -s "$*" --localstatedir guix glibc-utf8-locales               \
-         -e  '(@@ (gnu packages commencement) glibc-final)'` ;         \
+         -s "$*" --localstatedir --profile-name=current-guix guix` ;   \
        cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@"
 
 
 dist-hook: $(distdir)/ChangeLog gen-AUTHORS gen-tarball-version
 dist-hook: assert-no-store-file-names
+dist-hook: doc-po-update
 
 distcheck-hook: assert-binaries-available assert-final-inputs-self-contained
 
@@ -722,6 +761,7 @@ assert-no-store-file-names: $(distdir)/ChangeLog
        $(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-prettify.el                                         \
             --exclude=ChangeLog                                                \
             -E "$(storedir)/[a-z0-9]{32}-" $(distdir) ;                        \
@@ -730,7 +770,7 @@ assert-no-store-file-names: $(distdir)/ChangeLog
          exit 1 ;                                                              \
        fi
 
-# Make sure hydra.gnu.org has the important binaries.
+# 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"
@@ -760,7 +800,7 @@ 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
+.PHONY: clean-go make-go as-derivation
 .PHONY: update-guix-package update-NEWS release
 
 ## -------------- ##
@@ -778,3 +818,11 @@ AM_V_DOT_0 = @echo "  DOT     " $@;
 AM_V_HELP2MAN = $(AM_V_HELP2MAN_$(V))
 AM_V_HELP2MAN_ = $(AM_V_HELP2MAN_$(AM_DEFAULT_VERBOSITY))
 AM_V_HELP2MAN_0 = @echo "  HELP2MAN" $@;
+
+AM_V_PO4A = $(AM_V_PO4A_$(V))
+AM_V_PO4A_ = $(AM_V_PO4A_$(AM_DEFAULT_VERBOSITY))
+AM_V_PO4A_0 = @echo "  PO4A" $@;
+
+AM_V_POXREF = $(AM_V_POXREF_$(V))
+AM_V_POXREF_ = $(AM_V_POXREF_$(AM_DEFAULT_VERBOSITY))
+AM_V_POXREF_0 = @echo "  POXREF" $@;