gnu: Update mit-krb5 to version 1.14.4.
[jackhill/guix/guix.git] / Makefile.am
index d0c1826..9d62f48 100644 (file)
@@ -38,10 +38,13 @@ MODULES =                                   \
   guix/hash.scm                                        \
   guix/pk-crypto.scm                           \
   guix/pki.scm                                 \
+  guix/combinators.scm                         \
   guix/utils.scm                               \
   guix/sets.scm                                        \
+  guix/modules.scm                             \
   guix/download.scm                            \
   guix/git-download.scm                                \
+  guix/hg-download.scm                         \
   guix/monads.scm                              \
   guix/monad-repl.scm                          \
   guix/gexp.scm                                        \
@@ -55,10 +58,12 @@ MODULES =                                   \
   guix/licenses.scm                            \
   guix/graph.scm                               \
   guix/cve.scm                                 \
+  guix/zlib.scm                                        \
   guix/build-system.scm                                \
   guix/build-system/ant.scm                    \
   guix/build-system/cmake.scm                  \
   guix/build-system/emacs.scm                  \
+  guix/build-system/asdf.scm                   \
   guix/build-system/glib-or-gtk.scm            \
   guix/build-system/gnu.scm                    \
   guix/build-system/haskell.scm                        \
@@ -80,7 +85,9 @@ MODULES =                                     \
   guix/build/download.scm                      \
   guix/build/cmake-build-system.scm            \
   guix/build/emacs-build-system.scm            \
+  guix/build/asdf-build-system.scm             \
   guix/build/git.scm                           \
+  guix/build/hg.scm                            \
   guix/build/glib-or-gtk-build-system.scm      \
   guix/build/gnu-build-system.scm              \
   guix/build/gnu-dist.scm                      \
@@ -98,10 +105,13 @@ MODULES =                                  \
   guix/build/rpath.scm                         \
   guix/build/cvs.scm                           \
   guix/build/svn.scm                           \
+  guix/build/syscalls.scm                       \
   guix/build/gremlin.scm                       \
   guix/build/emacs-utils.scm                   \
+  guix/build/lisp-utils.scm                    \
   guix/build/graft.scm                         \
   guix/build/bournish.scm                      \
+  guix/build/qt-utils.scm                      \
   guix/search-paths.scm                                \
   guix/packages.scm                            \
   guix/import/utils.scm                                \
@@ -113,6 +123,7 @@ MODULES =                                   \
   guix/import/elpa.scm                         \
   guix/scripts.scm                             \
   guix/scripts/download.scm                    \
+  guix/scripts/perform-download.scm            \
   guix/scripts/build.scm                       \
   guix/scripts/archive.scm                     \
   guix/scripts/import.scm                      \
@@ -154,13 +165,6 @@ MODULES +=                                 \
 
 endif
 
-if BUILD_SYSCALLS_MODULE
-
-MODULES +=                                     \
-  guix/build/syscalls.scm
-
-endif
-
 if BUILD_DAEMON_OFFLOAD
 
 MODULES +=                                     \
@@ -168,13 +172,13 @@ MODULES +=                                        \
 
 endif BUILD_DAEMON_OFFLOAD
 
-# Internal module with test suite support.
-dist_noinst_DATA = guix/tests.scm
+# Internal modules with test suite support.
+dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
 
 # Linux-Libre configurations.
 KCONFIGS =                                     \
-  gnu/packages/linux-libre-4.5-i686.conf       \
-  gnu/packages/linux-libre-4.5-x86_64.conf     \
+  gnu/packages/linux-libre-4.8-i686.conf       \
+  gnu/packages/linux-libre-4.8-x86_64.conf     \
   gnu/packages/linux-libre-4.4-i686.conf       \
   gnu/packages/linux-libre-4.4-x86_64.conf     \
   gnu/packages/linux-libre-4.1-i686.conf       \
@@ -186,7 +190,7 @@ EXAMPLES =                                  \
   gnu/system/examples/desktop.tmpl             \
   gnu/system/examples/lightweight-desktop.tmpl
 
-GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go guix/tests.go
+GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
 
 nobase_dist_guilemodule_DATA =                  \
   $(MODULES) $(KCONFIGS) $(EXAMPLES)            \
@@ -208,6 +212,12 @@ endif INSTALL_SRFI_37
 # Handy way to remove the .go files without removing all the rest.
 clean-go:
        -$(RM) -f $(GOBJECTS)
+       @find . -name '*.go' -print | \
+         if test -t 1; then \
+           xargs -r echo -e "\033[31mwarning:\033[0m stray .go files:"; \
+         else \
+           xargs -r echo "warning: stray .go files:"; \
+         fi
 
 
 # Test extensions; has to be unconditional.
@@ -223,6 +233,7 @@ SCM_TESTS =                                 \
   tests/pk-crypto.scm                          \
   tests/pki.scm                                        \
   tests/sets.scm                               \
+  tests/modules.scm                            \
   tests/gnu-maintenance.scm                    \
   tests/substitute.scm                         \
   tests/builders.scm                           \
@@ -231,6 +242,7 @@ SCM_TESTS =                                 \
   tests/ui.scm                                 \
   tests/records.scm                            \
   tests/upstream.scm                           \
+  tests/combinators.scm                                \
   tests/utils.scm                              \
   tests/build-utils.scm                                \
   tests/packages.scm                           \
@@ -246,6 +258,7 @@ SCM_TESTS =                                 \
   tests/profiles.scm                           \
   tests/syscalls.scm                           \
   tests/gremlin.scm                            \
+  tests/bournish.scm                           \
   tests/lint.scm                               \
   tests/publish.scm                            \
   tests/scripts.scm                            \
@@ -253,6 +266,7 @@ SCM_TESTS =                                 \
   tests/graph.scm                              \
   tests/challenge.scm                          \
   tests/cve.scm                                        \
+  tests/zlib.scm                               \
   tests/file-systems.scm                       \
   tests/system.scm                             \
   tests/services.scm                           \
@@ -295,8 +309,11 @@ TESTS = $(SCM_TESTS) $(SH_TESTS)
 
 AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)" GUILE_AUTO_COMPILE=0
 
-SCM_LOG_DRIVER = $(top_builddir)/test-env $(GUILE) --no-auto-compile \
-                   -e main $(top_srcdir)/build-aux/test-driver.scm
+SCM_LOG_DRIVER =                               \
+  $(top_builddir)/test-env --quiet-stderr      \
+  $(GUILE) --no-auto-compile -e main           \
+      $(top_srcdir)/build-aux/test-driver.scm
+
 AM_SCM_LOG_DRIVER_FLAGS = --brief=yes
 
 SH_LOG_COMPILER = $(top_builddir)/test-env $(SHELL)
@@ -325,12 +342,21 @@ check-local:
 
 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
+
 # Public key used to sign substitutes from hydra.gnu.org.
 dist_pkgdata_DATA = hydra.gnu.org.pub
 
 # Bash completion file.
 dist_bashcompletion_DATA = etc/completion/bash/guix
 
+# Zsh completion file.
+dist_zshcompletion_DATA = etc/completion/zsh/_guix
+
 EXTRA_DIST =                                           \
   HACKING                                              \
   ROADMAP                                              \
@@ -349,6 +375,7 @@ EXTRA_DIST =                                                \
   build-aux/make-binary-tarball.scm                    \
   build-aux/generate-authors.scm                       \
   build-aux/test-driver.scm                            \
+  build-aux/run-system-tests.scm                       \
   srfi/srfi-37.scm.in                                  \
   srfi/srfi-64.scm                                     \
   srfi/srfi-64.upstream.scm                            \
@@ -368,13 +395,6 @@ EXTRA_DIST +=                                      \
 
 endif !BUILD_DAEMON_OFFLOAD
 
-if !BUILD_SYSCALLS_MODULE
-
-EXTRA_DIST +=                                  \
-  guix/build/syscalls.scm
-
-endif !BUILD_SYSCALLS_MODULE
-
 
 CLEANFILES =                                   \
   $(GOBJECTS)                                  \
@@ -385,11 +405,13 @@ CLEANFILES =                                      \
 # there that are newer than the local .scm files (for instance because the
 # user ran 'make install' recently).  When that happens, we end up loading
 # those previously-installed .go files, which may be stale, thereby breaking
-# the whole thing.
+# the whole thing.  Likewise, set 'XDG_CACHE_HOME' to avoid loading possibly
+# stale files from ~/.cache/guile/ccache.
 %.go: make-go ; @:
-make-go: $(MODULES) guix/config.scm guix/tests.scm
+make-go: $(MODULES) guix/config.scm $(dist_noinst_DATA)
        $(AM_V_at)echo "Compiling Scheme modules..." ;                  \
        unset GUILE_LOAD_COMPILED_PATH ;                                \
+       XDG_CACHE_HOME=/nowhere                                         \
        host=$(host) srcdir="$(top_srcdir)"                             \
        $(top_builddir)/pre-inst-env                                    \
        $(GUILE) -L "$(top_builddir)" -L "$(top_srcdir)"                \
@@ -474,7 +496,10 @@ gen-AUTHORS:
 # Make sure we're not shipping a file that embeds a local /gnu/store file name.
 assert-no-store-file-names:
        $(AM_V_at)if grep -r --exclude=*.texi --exclude=*.info                  \
-            "$(storedir)/[a-z0-9]{32}-" $(distdir) ;                           \
+            --exclude=*.info-[0-9] --exclude=*.dot                             \
+            --exclude=*.eps --exclude-dir=bootstrap                            \
+            --exclude=guix-prettify.el                                         \
+            -E "$(storedir)/[a-z0-9]{32}-" $(distdir) ;                        \
        then                                                                    \
          echo "error: store file names embedded in the distribution" >&2 ;     \
          exit 1 ;                                                              \
@@ -496,7 +521,7 @@ hydra-jobs.scm: $(GOBJECTS)
        $(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"
-       $(AT_V_at)mv "$@.tmp" "$@"
+       $(AM_V_at)mv "$@.tmp" "$@"
 
 .PHONY: sync-descriptions gen-ChangeLog gen-AUTHORS clean-go make-go
 .PHONY: assert-no-store-file-names assert-binaries-available