gnu: mingw: Add mingw-w64 reproducibility patches.
[jackhill/guix/guix.git] / Makefile.am
index 97f1ff5..344ecdb 100644 (file)
@@ -1,5 +1,5 @@
 # GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 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>
@@ -122,6 +122,7 @@ 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                  \
@@ -169,6 +170,7 @@ 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      \
@@ -319,16 +321,10 @@ 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.3-arm.conf      \
-  gnu/packages/aux-files/linux-libre/5.3-arm-veyron.conf       \
-  gnu/packages/aux-files/linux-libre/5.3-arm64.conf    \
-  gnu/packages/aux-files/linux-libre/5.3-i686.conf     \
-  gnu/packages/aux-files/linux-libre/5.3-x86_64.conf   \
-  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    \
@@ -431,6 +427,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                               \
@@ -512,9 +509,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 =                            \
@@ -545,6 +540,8 @@ EXTRA_DIST +=                                               \
   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                         \
@@ -554,14 +551,13 @@ 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                                       \
@@ -620,6 +616,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:
@@ -842,8 +850,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)
@@ -870,7 +879,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 as-derivation
+.PHONY: clean-go make-go as-derivation authenticate
 .PHONY: update-guix-package update-NEWS release
 
 # Downloading up-to-date PO files.