diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-01-21 21:18:55 +0000 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-01-21 21:20:57 +0000 |
commit | 914e101735da4451ac77e7970b1b952afd95c7f4 (patch) | |
tree | 05670d63b438bb375fa048161964b12fda696ef3 | |
parent | 15d32a7df7b2d4420bebd18b855f83606d872f30 (diff) |
Libbsd added as a dependency of Metastore
Metastore depends on `bsd/string.h' to work properly (atleast on GNU/Linux
systems). The first system I tried building with had that library, so I
didn't notice! With this commit, we also build `libbsd' as part of the
pipeline.
Also, I couldn't find libbsd's version in any of its installed headers, so
like Libjpeg, we can't actually check and will directly write our internal
version into the paper.
-rw-r--r-- | .file-metadata | bin | 4492 -> 4492 bytes | |||
-rw-r--r-- | paper.tex | 35 | ||||
-rw-r--r-- | reproduce/config/pipeline/dependency-versions.mk | 1 | ||||
-rw-r--r-- | reproduce/src/make/dependencies.mk | 13 | ||||
-rw-r--r-- | reproduce/src/make/initialize.mk | 7 |
5 files changed, 37 insertions, 19 deletions
diff --git a/.file-metadata b/.file-metadata Binary files differindex 1eb83fa..46da073 100644 --- a/.file-metadata +++ b/.file-metadata @@ -212,23 +212,24 @@ Libtool \libtoolversion, GNU Make \makeversion, GNU NCURSES \ncursesversion, GNU Readline \readlineversion, GNU Sed \sedversion, GNU Scientific Library (GSL) \gslversion, GNU Tar \tarversion, GNU Wget \wgetversion, GNU Which \whichversion, Lzip \lzipversion, GPL Ghostscript -\ghostscriptversion, Libgit2 \libgitwoversion, Libtiff \libtiffversion, -Metastore \metastoreversion, OpenSSL \opensslversion, Pkg-config -\pkgconfigversion, WCSLIB \wcslibversion, XZ Utils \xzversion, and ZLib -\zlibversion. The final paper was produced with \TeX{} Live -\texliveversion, using the following packages: \TeX{} \textexversion, EC -\texecversion, NewTX \texnewtxversion, Fontaxes \texfontaxesversion, -Keyval, \texxkeyvalversion, Etoolbox \texetoolboxversion, Xcolor -\texxcolorversion, Setspace \texsetspaceversion, Caption -\texcaptionversion, Footmisc \texfootmiscversion, Datetime -\texdatetimeversion, Fmtcount \texfmtcountversion, Titlesec -\textitlesecversion, Preprint \texpreprintversion, Ulem \texulemversion, -Bib\LaTeX{} \texbiblatexversion, Biber \texbiberversion, Logreq -\texlogreqversion, PGF/TiKZ \texpgfversion, PGFPlots \texpgfplotsversion, -FP \texfpversion, Courier \texcourierversion, \TeX-gyre \textexgyreversion, -TXFonts \textxfontsversion, Times \textimesversion. We are very grateful to -all their creators for freely providing this necessary infrastructure. This -research would not be possible without them. +\ghostscriptversion, Libbsd \libbsdversion, Libgit2 \libgitwoversion, +Libjpeg \libjpegversion, Libtiff \libtiffversion, Metastore +\metastoreversion, OpenSSL \opensslversion, Pkg-config \pkgconfigversion, +WCSLIB \wcslibversion, XZ Utils \xzversion, and ZLib \zlibversion. The +final paper was produced with \TeX{} Live \texliveversion, using the +following packages: \TeX{} \textexversion, EC \texecversion, NewTX +\texnewtxversion, Fontaxes \texfontaxesversion, Keyval, \texxkeyvalversion, +Etoolbox \texetoolboxversion, Xcolor \texxcolorversion, Setspace +\texsetspaceversion, Caption \texcaptionversion, Footmisc +\texfootmiscversion, Datetime \texdatetimeversion, Fmtcount +\texfmtcountversion, Titlesec \textitlesecversion, Preprint +\texpreprintversion, Ulem \texulemversion, Bib\LaTeX{} \texbiblatexversion, +Biber \texbiberversion, Logreq \texlogreqversion, PGF/TiKZ \texpgfversion, +PGFPlots \texpgfplotsversion, FP \texfpversion, Courier \texcourierversion, +\TeX-gyre \textexgyreversion, TXFonts \textxfontsversion, Times +\textimesversion. We are very grateful to all their creators for freely +providing this necessary infrastructure. This research would not be +possible without them. %% Tell BibLaTeX to put the bibliography list here. \printbibliography diff --git a/reproduce/config/pipeline/dependency-versions.mk b/reproduce/config/pipeline/dependency-versions.mk index 86102dd..14a9635 100644 --- a/reproduce/config/pipeline/dependency-versions.mk +++ b/reproduce/config/pipeline/dependency-versions.mk @@ -19,6 +19,7 @@ grep-version = 3.3 gzip-version = 1.10 isl-version = 0.18 libtool-version = 2.4.6 +libbsd-version = 0.9.1 lzip-version = 1.20 make-version = 4.2.90 metastore-version = 1.1.2 diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk index b42968b..128e4e5 100644 --- a/reproduce/src/make/dependencies.mk +++ b/reproduce/src/make/dependencies.mk @@ -97,6 +97,7 @@ tarballs = $(foreach t, cfitsio-$(cfitsio-version).tar.gz \ gsl-$(gsl-version).tar.gz \ install-tl-unx.tar.gz \ jpegsrc.$(libjpeg-version).tar.gz \ + libbsd-$(libbsd-version).tar.xz \ libtool-$(libtool-version).tar.xz \ libgit2-$(libgit2-version).tar.gz \ metastore-$(metastore-version).tar.gz \ @@ -132,6 +133,7 @@ $(tarballs): $(tdir)/%: elif [ $$n = gsl ]; then w=http://ftpmirror.gnu.org/gnu/gsl elif [ $$n = install ]; then w=http://mirror.ctan.org/systems/texlive/tlnet elif [ $$n = jpegsrc ]; then w=http://ijg.org/files + elif [ $$n = libbsd ]; then w=http://libbsd.freedesktop.org/releases elif [ $$n = libtool ]; then w=http://ftpmirror.gnu.org/gnu/libtool elif [ $$n = libgit ]; then mergenames=0 @@ -212,6 +214,10 @@ $(ilidir)/gsl: $(tdir)/gsl-$(gsl-version).tar.gz $(call gbuild, $<, gsl-$(gsl-version), static) \ && echo "GNU Scientific Library is built" > $@ +$(ilidir)/libbsd: $(tdir)/libbsd-$(libbsd-version).tar.xz + $(call gbuild, $<, libbsd-$(libbsd-version), static,,V=1) \ + && echo "libbsd is built" > $@ + $(ilidir)/libjpeg: $(tdir)/jpegsrc.$(libjpeg-version).tar.gz $(call gbuild, $<, jpeg-9b, static) && echo "Libjpeg is built" > $@ @@ -351,6 +357,7 @@ $(ibdir)/git: $(tdir)/git-$(git-version).tar.xz \ # Metastore is used to keep file modification dates (and generally many # meta-data) within the Git history. $(ibdir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \ + $(ilidir)/libbsd \ $(ibdir)/git # Metastore doesn't have any `./configure' script. So we'll just # call `pwd' as a place-holder for the `./configure' command. @@ -360,14 +367,18 @@ $(ibdir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \ # Write the relevant hooks into this system's Git hooks, so Git # calls metastore properly on every commit and every checkout. + cd $$current_dir if [ -f $@ ]; then - cd $$current_dir rm -f .git/hooks/pre-commit .git/hooks/post-checkout sed -e's|@BINDIR[@]|$(ibdir)|g' \ reproduce/src/bash/git-pre-commit > .git/hooks/pre-commit sed -e's|@BINDIR[@]|$(ibdir)|g' \ reproduce/src/bash/git-post-checkout > .git/hooks/post-checkout chmod +x .git/hooks/pre-commit .git/hooks/post-checkout + else + echo; echo; echo "Metastore couldn't be built on this system!" + echo "Please contact mohammad@akhlaghi.org to try fixing the problem." + echo; echo "But this is not a vital element of the pipeline. You " fi # The order of dependencies is based on how long they take to build (how diff --git a/reproduce/src/make/initialize.mk b/reproduce/src/make/initialize.mk index 7aa9f4b..da2d012 100644 --- a/reproduce/src/make/initialize.mk +++ b/reproduce/src/make/initialize.mk @@ -287,7 +287,6 @@ $(mtexdir)/initialize.tex: | $(mtexdir) $(call lvcheck, fitsio.h, $(cfitsio-version), CFITSIO, cfitsioversion) $(call lvcheck, gsl/gsl_version.h, $(gsl-version), \ GNU Scientific Library (GSL), gslversion) - ########## libjpeg not yet checked. $(call lvcheck, git2/version.h, $(libgit2-version), Libgit2, \ libgitwoversion) $(call lvcheck, openssl/opensslv.h, $(openssl-version), OpenSSL, \ @@ -302,5 +301,11 @@ $(mtexdir)/initialize.tex: | $(mtexdir) wcslibversion) $(call lvcheck, zlib.h, $(zlib-version), zlib, zlibversion) + # Problematic libraries: + # - libjpeg not yet checked. + # - libbsd has no version string in its headers. + echo "\newcommand{\\libbsdversion}{$(libbsd-version)}" >> $@ + echo "\newcommand{\\libjpegversion}{$(libjpeg-version)}" >> $@ + # TeX package versions cat $(BDIR)/dependencies/texlive-versions.tex >> $@ |