build: Run `tests/guix-gc.sh' last to avoid test failures.
[jackhill/guix/guix.git] / Makefile.am
index 70387ef..b55a780 100644 (file)
@@ -30,25 +30,37 @@ MODULES =                                   \
   guix/scripts/import.scm                      \
   guix/scripts/package.scm                     \
   guix/scripts/gc.scm                          \
+  guix/scripts/hash.scm                                \
   guix/scripts/pull.scm                                \
+  guix/scripts/substitute-binary.scm           \
+  guix/scripts/refresh.scm                     \
   guix/base32.scm                              \
   guix/utils.scm                               \
+  guix/serialization.scm                       \
+  guix/nar.scm                                 \
   guix/derivations.scm                         \
   guix/download.scm                            \
   guix/gnu-maintenance.scm                     \
   guix/licenses.scm                            \
   guix/build-system.scm                                \
+  guix/build-system/cmake.scm                  \
   guix/build-system/gnu.scm                    \
   guix/build-system/perl.scm                   \
+  guix/build-system/python.scm                 \
   guix/build-system/trivial.scm                        \
   guix/ftp-client.scm                          \
+  guix/web.scm                                 \
+  guix/gnupg.scm                               \
   guix/store.scm                               \
   guix/ui.scm                                  \
   guix/build/download.scm                      \
+  guix/build/cmake-build-system.scm            \
   guix/build/gnu-build-system.scm              \
   guix/build/perl-build-system.scm             \
+  guix/build/python-build-system.scm           \
   guix/build/utils.scm                         \
   guix/build/union.scm                         \
+  guix/build/rpath.scm                         \
   guix/packages.scm                            \
   guix/snix.scm                                        \
   guix.scm                                     \
@@ -58,27 +70,37 @@ MODULES =                                   \
   gnu/packages/aspell.scm                      \
   gnu/packages/attr.scm                                \
   gnu/packages/autotools.scm                   \
+  gnu/packages/avahi.scm                       \
   gnu/packages/base.scm                                \
   gnu/packages/bash.scm                                \
+  gnu/packages/bazaar.scm                      \
   gnu/packages/bdb.scm                         \
   gnu/packages/bdw-gc.scm                      \
   gnu/packages/bison.scm                       \
   gnu/packages/bootstrap.scm                   \
   gnu/packages/cdrom.scm                       \
+  gnu/packages/cflow.scm                       \
   gnu/packages/check.scm                       \
+  gnu/packages/cmake.scm                       \
   gnu/packages/compression.scm                 \
   gnu/packages/cpio.scm                                \
+  gnu/packages/cppi.scm                                \
   gnu/packages/cross-base.scm                  \
+  gnu/packages/cryptsetup.scm                          \
   gnu/packages/curl.scm                                \
   gnu/packages/cyrus-sasl.scm                  \
   gnu/packages/dejagnu.scm                     \
   gnu/packages/ddrescue.scm                    \
+  gnu/packages/dwm.scm                         \
   gnu/packages/ed.scm                          \
   gnu/packages/emacs.scm                       \
+  gnu/packages/fdisk.scm                       \
   gnu/packages/file.scm                                \
   gnu/packages/flex.scm                                \
   gnu/packages/fontutils.scm                   \
+  gnu/packages/freeipmi.scm                    \
   gnu/packages/gawk.scm                                \
+  gnu/packages/gcc.scm                         \
   gnu/packages/gdb.scm                         \
   gnu/packages/gdbm.scm                                \
   gnu/packages/gettext.scm                     \
@@ -92,20 +114,25 @@ MODULES =                                  \
   gnu/packages/groff.scm                       \
   gnu/packages/grub.scm                                \
   gnu/packages/gsasl.scm                       \
+  gnu/packages/gtk.scm                         \
   gnu/packages/guile.scm                       \
+  gnu/packages/gv.scm                          \
   gnu/packages/help2man.scm                    \
+  gnu/packages/hugs.scm                                \
   gnu/packages/icu4c.scm                       \
   gnu/packages/idutils.scm                     \
   gnu/packages/indent.scm                      \
   gnu/packages/irssi.scm                       \
   gnu/packages/ld-wrapper.scm                  \
   gnu/packages/less.scm                                \
+  gnu/packages/lesstif.scm                     \
   gnu/packages/libapr.scm                      \
   gnu/packages/libdaemon.scm                   \
   gnu/packages/libevent.scm                    \
   gnu/packages/libffi.scm                      \
   gnu/packages/libidn.scm                      \
   gnu/packages/libjpeg.scm                     \
+  gnu/packages/libphidget.scm                  \
   gnu/packages/libpng.scm                      \
   gnu/packages/libsigsegv.scm                  \
   gnu/packages/libtiff.scm                     \
@@ -116,6 +143,9 @@ MODULES =                                   \
   gnu/packages/linux-initrd.scm                        \
   gnu/packages/lout.scm                                \
   gnu/packages/lsh.scm                         \
+  gnu/packages/lsof.scm                                \
+  gnu/packages/lua.scm                         \
+  gnu/packages/lvm.scm                         \
   gnu/packages/m4.scm                          \
   gnu/packages/mailutils.scm                   \
   gnu/packages/make-bootstrap.scm              \
@@ -141,6 +171,7 @@ MODULES =                                   \
   gnu/packages/pth.scm                         \
   gnu/packages/python.scm                      \
   gnu/packages/qemu.scm                                \
+  gnu/packages/ratpoison.scm                   \
   gnu/packages/readline.scm                    \
   gnu/packages/recutils.scm                    \
   gnu/packages/rsync.scm                       \
@@ -162,6 +193,7 @@ MODULES =                                   \
   gnu/packages/tor.scm                         \
   gnu/packages/vim.scm                                 \
   gnu/packages/vpn.scm                         \
+  gnu/packages/w3m.scm                         \
   gnu/packages/wdiff.scm                       \
   gnu/packages/wget.scm                                \
   gnu/packages/which.scm                       \
@@ -184,6 +216,7 @@ dist_patch_DATA =                                           \
   gnu/packages/patches/automake-skip-amhello-tests.patch       \
   gnu/packages/patches/bigloo-gc-shebangs.patch                        \
   gnu/packages/patches/binutils-ld-new-dtags.patch             \
+  gnu/packages/patches/cmake-fix-tests.patch                   \
   gnu/packages/patches/cpio-gets-undeclared.patch              \
   gnu/packages/patches/diffutils-gets-undeclared.patch         \
   gnu/packages/patches/emacs-configure-sh.patch                        \
@@ -195,6 +228,7 @@ dist_patch_DATA =                                           \
   gnu/packages/patches/gettext-gets-undeclared.patch           \
   gnu/packages/patches/glib-tests-desktop.patch                        \
   gnu/packages/patches/glib-tests-homedir.patch                        \
+  gnu/packages/patches/glib-tests-prlimit.patch                        \
   gnu/packages/patches/glib-tests-timezone.patch               \
   gnu/packages/patches/glibc-bootstrap-system.patch            \
   gnu/packages/patches/glibc-no-ld-so-cache.patch              \
@@ -203,7 +237,7 @@ dist_patch_DATA =                                           \
   gnu/packages/patches/guile-default-utf8.patch                        \
   gnu/packages/patches/guile-linux-syscalls.patch              \
   gnu/packages/patches/guile-relocatable.patch                 \
-  gnu/packages/patches/libapr-skip-getservbyname-test.patch    \
+  gnu/packages/patches/libapr-skip-getservbyname-test.patch    \
   gnu/packages/patches/libevent-dns-tests.patch                        \
   gnu/packages/patches/libtool-skip-tests.patch                        \
   gnu/packages/patches/lsh-guile-compat.patch                  \
@@ -215,14 +249,17 @@ dist_patch_DATA =                                         \
   gnu/packages/patches/make-impure-dirs.patch                  \
   gnu/packages/patches/mcron-install.patch                     \
   gnu/packages/patches/perl-no-sys-dirs.patch                  \
+  gnu/packages/patches/python-fix-dbm.patch                    \
   gnu/packages/patches/procps-make-3.82.patch                  \
   gnu/packages/patches/qemu-multiple-smb-shares.patch          \
   gnu/packages/patches/readline-link-ncurses.patch             \
-  gnu/packages/patches/shishi-gets-undeclared.patch            \
+  gnu/packages/patches/scheme48-tests.patch                    \
   gnu/packages/patches/tar-gets-undeclared.patch               \
-  gnu/packages/patches/tcsh-fix-autotest.patch                         \
+  gnu/packages/patches/tcsh-fix-autotest.patch                 \
   gnu/packages/patches/teckit-cstdio.patch                     \
-  gnu/packages/patches/vpnc-script.patch
+  gnu/packages/patches/vpnc-script.patch                       \
+  gnu/packages/patches/w3m-fix-compile.patch                   \
+  gnu/packages/patches/xpdf-constchar.patch
 
 bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
 bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
@@ -271,7 +308,7 @@ gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz:
 
 nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
 
-TESTS =                                                \
+SCM_TESTS =                                    \
   tests/base32.scm                             \
   tests/builders.scm                           \
   tests/derivations.scm                                \
@@ -281,12 +318,18 @@ TESTS =                                           \
   tests/packages.scm                           \
   tests/snix.scm                               \
   tests/store.scm                              \
-  tests/union.scm                              \
+  tests/nar.scm                                        \
+  tests/union.scm
+
+SH_TESTS =                                     \
   tests/guix-build.sh                          \
   tests/guix-download.sh                       \
   tests/guix-gc.sh                             \
+  tests/guix-hash.sh                           \
   tests/guix-package.sh
 
+TESTS = $(SCM_TESTS) $(SH_TESTS)
+
 TEST_EXTENSIONS = .scm .sh
 
 AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)"
@@ -297,6 +340,14 @@ AM_SCM_LOG_FLAGS = --no-auto-compile -L "$(top_srcdir)"
 SH_LOG_COMPILER = $(top_builddir)/test-env $(SHELL)
 AM_SH_LOG_FLAGS = -x -e
 
+# Make sure `tests/guix-gc.sh' runs last, after all the others.  Otherwise it
+# could end up removing files from the store while they are being used by
+# other instances of the daemon.
+tests/guix-gc.log:                                                     \
+  $(patsubst %.sh,%.log,$(filter-out tests/guix-gc.sh,$(SH_TESTS)))    \
+  $(SCM_TESTS:%.scm=%.log)
+
+
 EXTRA_DIST =                                   \
   HACKING                                      \
   ROADMAP                                      \
@@ -304,6 +355,7 @@ EXTRA_DIST =                                        \
   .dir-locals.el                               \
   hydra.scm                                    \
   build-aux/download.scm                       \
+  build-aux/sync-synopses.scm                  \
   srfi/srfi-64.scm                             \
   srfi/srfi-64.upstream.scm                    \
   tests/test.drv                               \
@@ -312,12 +364,18 @@ EXTRA_DIST =                                      \
   release.nix                                  \
   $(TESTS)
 
-CLEANFILES = $(GOBJECTS) *.log
+CLEANFILES =                                   \
+  $(GOBJECTS)                                  \
+  $(SCM_TESTS:%.scm=%.log)
+
+AM_V_GUILEC = $(AM_V_GUILEC_$(V))
+AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
+AM_V_GUILEC_0 = @echo "  GUILEC" $@;
 
 # XXX: Use the C locale for when Guile lacks
 # <http://git.sv.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=e2c6bf3866d1186c60bacfbd4fe5037087ee5e3f>.
 .scm.go:
-       $(MKDIR_P) `dirname "$@"`
+       $(AM_V_GUILEC)$(MKDIR_P) `dirname "$@"` ;                       \
        LC_ALL=C                                                        \
        $(top_builddir)/pre-inst-env                                    \
        $(GUILD) compile -L "$(top_builddir)" -L "$(top_srcdir)"        \
@@ -351,3 +409,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS =                      \
   --with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)"        \
   --with-nix-prefix="$(NIX_PREFIX)"            \
   --enable-daemon
+
+dist-hook:
+       -$(top_builddir)/pre-inst-env $(GUILE)          \
+          $(top_srcdir)/build-aux/sync-synopses.scm