aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPjotr Prins2018-07-14 13:10:41 +0200
committerPjotr Prins2018-07-14 13:10:41 +0200
commitd42329ed84e99f9ab351af291c42dbd06ca9cb59 (patch)
treeb7b32a259c0808a2891932f8d0a653b59adbb90b
parent3f120a438bd9ce981a43058f47bb2bb05f86fc1e (diff)
downloadpangemma-d42329ed84e99f9ab351af291c42dbd06ca9cb59.tar.gz
Guix: add more build information to the final binary
-rw-r--r--INSTALL.md11
-rw-r--r--Makefile3
-rw-r--r--VERSION2
-rwxr-xr-xscripts/gen_version_info.sh4
-rw-r--r--src/gemma.cpp1
-rw-r--r--src/version.h7
6 files changed, 18 insertions, 10 deletions
diff --git a/INSTALL.md b/INSTALL.md
index 2415c36..84ee942 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -65,10 +65,11 @@ Note that this is an advanced configuration option at this stage. GNU
Guix will make it easier in the future to deal with shared
graphs. Contact Pjotr Prins if you are really interested.
-The following two links provide the reproducible build system that we for working on GEMMA:
+The following two links capture and provide the reproducible build
+system that we use for development of GEMMA:
- https://gitlab.com/genenetwork/guix-bioinformatics/tree/f7a4bbf655bb255df46228f04cc191c1f08f198b
- https://gitlab.com/genenetwork/guix/tree/686f5b9a8cdb66e81140b03a42644579e7eb1f9a
+1. https://gitlab.com/genenetwork/guix-bioinformatics/tree/99718d253ec9ed8ed836f0a348381a7cd83d4b9f
+2. https://gitlab.com/genenetwork/guix/tree/686f5b9a8cdb66e81140b03a42644579e7eb1f9a
Check the tree out, build Guix from source and run something like
@@ -88,12 +89,14 @@ and build by setting GUIX to profile
make GUIX=~/opt/gemma-dev-env
make GUIX=~/opt/gemma-dev-env check
-The following generates the graph for the full *build* system of GEMMA
+The following generates the graph for the full current *build* system of GEMMA
env GUIX_PACKAGE_PATH=../guix-bioinformatics/ ./pre-inst-env guix graph gemma-dev-env |dot -Gsize="10,10" -Gratio=0.7 -Tsvg -Nfontsize=48 > dag.svg
![Current Guix dependency graph](.guix.dag.svg)
+To zoom in download the SVG file and display it in your browser.
+
Another way to view the runtime graph is to use
ldd gemma
diff --git a/Makefile b/Makefile
index 6401228..775a40e 100644
--- a/Makefile
+++ b/Makefile
@@ -84,6 +84,7 @@ else
OPENBLAS_INCLUDE_PATH = .
EIGEN_INCLUDE_PATH = $(GUIX)/include/eigen3
RPATH = -Xlinker --rpath=$(GUIX)/lib
+ PROFILE =$(realpath $(GUIX))
endif
endif
@@ -184,7 +185,7 @@ OBJS = $(SOURCES:.cpp=.o)
all: $(OUTPUT)
./src/version.h: ./VERSION
- $(VGEN) > src/version.h
+ $(VGEN) $(PROFILE) > src/version.h
$(OUTPUT): $(OBJS)
$(CPP) $(CPPFLAGS) $(OBJS) $(LIBS) -o $(OUTPUT)
diff --git a/VERSION b/VERSION
index 6c6213d..4ab938a 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.98-pre1
+0.98-pre2
diff --git a/scripts/gen_version_info.sh b/scripts/gen_version_info.sh
index 8a9e38d..9be81c6 100755
--- a/scripts/gen_version_info.sh
+++ b/scripts/gen_version_info.sh
@@ -3,10 +3,12 @@
# Script to generate the version info of GEMMA and its environment
# in ./src/version.h
-DATE=$(date "+%Y/%m/%d")
+DATE=$(date "+%Y-%m-%d")
YEAR=$(date "+%Y")
+PROFILE=$1
echo // version.h generated by GEMMA $0
echo \#define GEMMA_VERSION \"$(cat ./VERSION)\"
echo \#define GEMMA_DATE \"$DATE\"
echo \#define GEMMA_YEAR \"$YEAR\"
+echo \#define GEMMA_PROFILE \"$PROFILE\"
diff --git a/src/gemma.cpp b/src/gemma.cpp
index 758aa24..4c7799a 100644
--- a/src/gemma.cpp
+++ b/src/gemma.cpp
@@ -3106,6 +3106,7 @@ void GEMMA::WriteLog(int argc, char **argv, PARAM &cPar) {
outfile << "##" << endl;
outfile << "## GEMMA Version = " << version << " (" << date << ")" << endl;
+ outfile << "## Build profile = " << GEMMA_PROFILE << endl ;
outfile << "## GSL Version = " << GSL_VERSION << endl;
outfile << "## Eigen Version = " << EIGEN_WORLD_VERSION << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION << endl;
#ifdef OPENBLAS
diff --git a/src/version.h b/src/version.h
index 3f6f38f..518a9f3 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,4 +1,5 @@
-// version.h generated by GEMMA ./scripts/gen_version_info.sh
-#define GEMMA_VERSION "0.98-pre1"
-#define GEMMA_DATE "2018/02/10"
+// version.h generated by GEMMA scripts/gen_version_info.sh
+#define GEMMA_VERSION "0.98-pre2"
+#define GEMMA_DATE "2018-07-14"
#define GEMMA_YEAR "2018"
+#define GEMMA_PROFILE "/gnu/store/9ahrb1swr06kjm2gr2zg0fsyvps3xqgz-profile"