From 90fc8ad3c38bbf87ca4514db456c34c2196cfce9 Mon Sep 17 00:00:00 2001
From: Mohammad Akhlaghi <mohammad@akhlaghi.org>
Date: Thu, 24 Jan 2019 10:39:05 +0000
Subject: Updated fork of metastore allows building on macOS

I recently found another fork of metastore that allows its build on macOS
systems (https://github.com/mpctx/metastore). So I forked it into my own
fork with several other corrections (mostly cosmetic!), so it is now much
better suited for this pipeline.

Raul Infante-Sainz has already tested the building of metastore on his
macOS. In a previous test, we also noticed that libbsd should not be built
on Mac systems, so it is now a conditional prerequisite to metastore.
---
 .file-metadata                                   | Bin 3774 -> 3714 bytes
 reproduce/config/pipeline/dependency-versions.mk |   2 +-
 reproduce/src/make/dependencies.mk               |  22 +++++++++++++++++++---
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/.file-metadata b/.file-metadata
index 04c25e5..392f66d 100644
Binary files a/.file-metadata and b/.file-metadata differ
diff --git a/reproduce/config/pipeline/dependency-versions.mk b/reproduce/config/pipeline/dependency-versions.mk
index e6cfcee..3e588f1 100644
--- a/reproduce/config/pipeline/dependency-versions.mk
+++ b/reproduce/config/pipeline/dependency-versions.mk
@@ -22,7 +22,7 @@ libtool-version     = 2.4.6
 libbsd-version      = 0.9.1
 lzip-version        = 1.20
 make-version        = 4.2.90
-metastore-version   = 1.1.2-21-dbc7b9b
+metastore-version   = 1.1.2-23-fa9170b
 mpfr-version        = 4.0.1
 mpc-version         = 1.1.0
 ncurses-version     = 6.1
diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk
index 1cc2b00..4610226 100644
--- a/reproduce/src/make/dependencies.mk
+++ b/reproduce/src/make/dependencies.mk
@@ -354,10 +354,26 @@ $(ibdir)/git: $(tdir)/git-$(git-version).tar.xz \
                        --without-tcltk --with-shell=$(ibdir)/bash, \
 	               V=1)
 
-# Metastore is used to keep file modification dates (and generally many
-# meta-data) within the Git history.
+# Metastore is used (through a Git hook) to restore the source modification
+# dates of files after a Git checkout. Another Git hook saves all file
+# metadata just before a commit (to allow restoration after a
+# checkout). Since this pipeline is managed in Makefiles, file modification
+# dates are critical to not having to redo the whole analysis after
+# checking out between branches.
+#
+# Note that we aren't using the standard version of Metastore, but a fork
+# of it that is maintained in this repository:
+#    https://gitlab.com/makhlaghi/metastore-fork
+#
+# Libbsd is not necessary on macOS systems, because macOS is already a
+# BSD-based distribution. But on GNU/Linux systems, it is necessary.
+ifeq ($(on_mac_os),yes)
+needlibbsd =
+else
+needlibbsd = $(ilidir)/libbsd
+endif
 $(ibdir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \
-                    $(ilidir)/libbsd                              \
+                    $(needlibbsd)                                 \
                     $(ibdir)/git
 
         # The build command below will change the current directory of this
-- 
cgit v1.2.1