aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-17 04:43:08 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-17 04:43:08 +0000
commitb15818ddc06d499bac1bac5640682d40901e9588 (patch)
treea9b9831f6654551defb76c730806972ebbee0b92
parentd0d7eed20b43fd13a4fcb1e37eb4cabcd7a47a91 (diff)
TeX Live also built within the pipeline (no extra packages yet)
TeX Live is now also downloaded and built by the reproduction pipeline. Currently on the basic (TeX and LaTeX) source is built but no extra packages, so the PDF building will fail. We'll add them in the next commit.
-rwxr-xr-xconfigure6
-rw-r--r--reproduce/config/pipeline/dependency-versions.mk2
-rw-r--r--reproduce/config/pipeline/texlive.conf29
-rw-r--r--reproduce/src/make/dependencies-build-rules.mk2
-rw-r--r--reproduce/src/make/dependencies.mk24
-rw-r--r--reproduce/src/make/initialize.mk11
-rw-r--r--reproduce/src/make/paper.mk4
7 files changed, 63 insertions, 15 deletions
diff --git a/configure b/configure
index 76b6879..5f21e04 100755
--- a/configure
+++ b/configure
@@ -452,7 +452,7 @@ fi
# Inform the user that the build process is starting
# -------------------------------------------------
-tsec=10
+tsec=0
cat <<EOF
-------------------------
@@ -477,7 +477,7 @@ sleep $tsec
# Build Basic dependencies
# ------------------------
make -f reproduce/src/make/dependencies-basic.mk \
- static_build=$static_build #-j2
+ static_build=$static_build -j2
@@ -491,7 +491,7 @@ make -f reproduce/src/make/dependencies-basic.mk \
# script. Bash and Make were the tools we need to run Makefiles, so we had
# to build them in this script. But after this, we can rely on Makefiles.
./.local/bin/make -f reproduce/src/make/dependencies.mk \
- static_build=$static_build #-j8
+ static_build=$static_build -j8
diff --git a/reproduce/config/pipeline/dependency-versions.mk b/reproduce/config/pipeline/dependency-versions.mk
index 9f8d99a..c123f55 100644
--- a/reproduce/config/pipeline/dependency-versions.mk
+++ b/reproduce/config/pipeline/dependency-versions.mk
@@ -9,7 +9,7 @@ coreutils-version = 8.30
gawk-version = 4.2.1
ghostscript-version = 9.25
git-version = 2.19.1
-gnuastro-version = 0.7.62-13b0
+gnuastro-version = 0.7.63-39ab
grep-version = 3.1
gzip-version = 1.9.10-051e
libtool-version = 2.4.6
diff --git a/reproduce/config/pipeline/texlive.conf b/reproduce/config/pipeline/texlive.conf
new file mode 100644
index 0000000..3aa5db5
--- /dev/null
+++ b/reproduce/config/pipeline/texlive.conf
@@ -0,0 +1,29 @@
+# Basic profile for build. Values to set:
+#
+# installdir: Install directory
+# topdir: Top pipeline directory
+selected_scheme scheme-basic
+TEXDIR @installdir@/texlive/2018
+TEXMFCONFIG @topdir@/.texlive2018/texmf-config
+TEXMFLOCAL @installdir@/texlive/texmf-local
+TEXMFSYSCONFIG @installdir@/texlive/2018/texmf-config
+TEXMFSYSVAR @installdir@/texlive/2018/texmf-var
+TEXMFVAR @topdir@/.texlive2018/texmf-var
+instopt_adjustpath 0
+instopt_adjustrepo 1
+instopt_letter 0
+instopt_portable 0
+instopt_write18_restricted 1
+tlpdbopt_autobackup 1
+tlpdbopt_backupdir @installdir@/texlive/2018/backups
+tlpdbopt_create_formats 1
+tlpdbopt_desktop_integration 1
+tlpdbopt_file_assocs 1
+tlpdbopt_generate_updmap 0
+tlpdbopt_install_docfiles 1
+tlpdbopt_install_srcfiles 1
+tlpdbopt_post_code 1
+tlpdbopt_sys_bin @installdir@/bin
+tlpdbopt_sys_info @installdir@/share/info
+tlpdbopt_sys_man @installdir@/share/man
+tlpdbopt_w32_multi_user 1
diff --git a/reproduce/src/make/dependencies-build-rules.mk b/reproduce/src/make/dependencies-build-rules.mk
index 99e0b25..e0d91ef 100644
--- a/reproduce/src/make/dependencies-build-rules.mk
+++ b/reproduce/src/make/dependencies-build-rules.mk
@@ -48,7 +48,7 @@
# 4: Extra configuration options.
# 5: Extra options/arguments to pass to Make.
# 6: Step to run between `make' and `make install': usually `make check'.
-gbuild = if [ x$(static_build) = xyes ] && $(3)x = staticx ]; then \
+gbuild = if [ x$(static_build) = xyes ] && [ $(3)x = staticx ]; then \
export LDFLAGS="$$LDFLAGS -static"; \
fi; \
check="$(6)"; \
diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk
index f24fafc..70b0a9e 100644
--- a/reproduce/src/make/dependencies.mk
+++ b/reproduce/src/make/dependencies.mk
@@ -42,7 +42,7 @@ ildir = $(BDIR)/dependencies/installed/lib
# Define the top-level programs to build (installed in `.local/bin', so for
# Coreutils, only one of its executables is enough).
-top-level-programs = ls gawk gs grep libtool sed git astnoisechisel
+top-level-programs = ls gawk gs grep libtool sed git tex astnoisechisel
all: $(foreach p, $(top-level-programs), $(ibdir)/$(p))
# Other basic environment settings.
@@ -239,4 +239,24 @@ $(ibdir)/astnoisechisel: $(tdir)/gnuastro-$(gnuastro-version).tar.lz \
$(ildir)/libgit2.a \
$(call gbuild,$(subst $(tdir)/,,$<), gnuastro-$(gnuastro-version), \
- static, , -j8, make check -j8)
+ static, --enable-static=yes --enable-shared=no, -j8, \
+ make check -j8)
+
+$(ibdir)/tex:
+
+ # First we'll download the tarball. Note that since the most recent
+ # installer is downloaded by day, the installer's version is hard
+ # to configure at this stage.
+ #wget -O$(tdir)/install-tl-unx.tar.gz \
+ # http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
+
+ # Unpack, enter the directory and run the installer.
+ topdir=$$(pwd)
+ cd $(ddir)
+ tar xf $(tdir)/install-tl-unx.tar.gz
+ cd install-tl-*
+ sed -e's|@installdir[@]|$(idir)|g' -e's|@topdir[@]|'"$$topdir"'|g' \
+ $$topdir/reproduce/config/pipeline/texlive.conf > texlive.conf
+ ./install-tl --profile=texlive.conf
+ cd ..
+ rm -rf install-tl-*
diff --git a/reproduce/src/make/initialize.mk b/reproduce/src/make/initialize.mk
index 5c0aac5..943efdd 100644
--- a/reproduce/src/make/initialize.mk
+++ b/reproduce/src/make/initialize.mk
@@ -55,7 +55,7 @@ pconfdir = reproduce/config/pipeline
# built programs).
sys-path := $(PATH)
sys-rm := $(shell which rm)
-
+curdir := $(shell echo $$(pwd))
# High level environment
@@ -71,11 +71,11 @@ sys-rm := $(shell which rm)
# build here.
.ONESHELL:
.SHELLFLAGS = -ec
-LD_LIBRARY_PATH := .local/lib
-PATH := .local/bin
-LDFLAGS := -L.local/lib
SHELL := .local/bin/bash
-CPPFLAGS := -I.local/include
+LD_LIBRARY_PATH := $(curdir)/.local/lib
+LDFLAGS := -L$(curdir)/.local/lib
+CPPFLAGS := -I$(curdir)/.local/include
+PATH := $(curdir)/.local/bin:$(shell ls -d $$(pwd)/.local/texlive/2018/bin/*)
@@ -211,7 +211,6 @@ $(mtexdir)/initialize.tex: | $(mtexdir)
$(call pvcheck, xz, $(xz-version), XZ Utils, xzversion)
# Bzip2 prints its version in standard error, not standard output!
- echo "here0"
echo "" | bzip2 --version &> $@_bzip2_ver;
v=$$(awk 'NR==1 && /'$(bzip2-version)'/{print "y"; exit 0}' \
$@_bzip2_ver); \
diff --git a/reproduce/src/make/paper.mk b/reproduce/src/make/paper.mk
index eaa1948..aec29c7 100644
--- a/reproduce/src/make/paper.mk
+++ b/reproduce/src/make/paper.mk
@@ -39,7 +39,7 @@ $(texbdir)/paper.bbl: tex/references.tex \
| $(tikzdir) $(texbdir) tex/pipeline.tex
# To find LaTeX (which currently isn't internally installed).
- PATH=$(sys-path)
+ #PATH=$(sys-path)
# We'll run LaTeX first to generate the `.bcf' file (necessary for
# `biber') and then run `biber' to generate the `.bbl' file.
@@ -65,7 +65,7 @@ paper.pdf: tex/pipeline.tex paper.tex $(texbdir)/paper.bbl \
| $(tikzdir) $(texbdir)
# To find LaTeX (which currently isn't internally installed).
- PATH=$(sys-path)
+ #PATH=$(sys-path)
# Go into the top TeX build directory and make the paper.
p=$$(pwd)