aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/make/high-level.mk
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2019-08-08 16:01:35 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2019-08-08 16:03:27 +0100
commit63d382c17b5cc52c6b701120c5677e94b782824b (patch)
tree77b567a39cea5c908da2576316ecab812e0eeabd /reproduce/software/make/high-level.mk
parent8a70ece28ce0438ee9dd94827b0de349d2fce5c8 (diff)
libnsl, libtirpc and rpcsvc installed as non-used biber dependencies
These three libraries are dependencies of Biber, so we will need them later, but since we don't build biber from source now, we can't control what library it links with. With this commit, we have just added their versions, checksum, download URL and build rule incase they are useful in other software. Later, when we build Biber (and Texlive in general) from source, we'll be able to use these.
Diffstat (limited to 'reproduce/software/make/high-level.mk')
-rw-r--r--reproduce/software/make/high-level.mk49
1 files changed, 43 insertions, 6 deletions
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index a448422..96cdb23 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -148,8 +148,10 @@ tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \
install-tl-unx.tar.gz \
jpegsrc.$(libjpeg-version).tar.gz \
lapack-$(lapack-version).tar.gz \
- libpng-$(libpng-version).tar.xz \
libgit2-$(libgit2-version).tar.gz \
+ libnsl-$(libnsl-version).tar.gz \
+ libpng-$(libpng-version).tar.xz \
+ libtirpc-$(libtirpc-version).tar.bz2 \
libxml2-$(libxml2-version).tar.gz \
netpbm-$(netpbm-version).tar.gz \
openblas-$(openblas-version).tar.gz \
@@ -161,6 +163,7 @@ tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \
sextractor-$(sextractor-version).tar.lz \
swarp-$(swarp-version).tar.gz \
swig-$(swig-version).tar.gz \
+ rpcsvc-proto-$(rpcsvc-proto-version).tar.xz \
tides-$(tides-version).tar.gz \
tiff-$(libtiff-version).tar.gz \
wcslib-$(wcslib-version).tar.bz2 \
@@ -173,7 +176,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
n=$$(echo $* | sed -e's/[0-9\-]/ /g' -e's/\./ /g' \
| awk '{print $$1}' )
- # Set the top download link of the requested tarball.
+ # Set the top download link of the requested tarball.
mergenames=1
if [ $$n = astrometry ]; then c=$(astrometrynet-checksum); w=http://astrometry.net/downloads
elif [ $$n = atlas ]; then
@@ -211,11 +214,13 @@ $(tarballs): $(tdir)/%: | $(lockdir)
elif [ $$n = install ]; then c=NO-CHECK-SUM; w=http://mirror.ctan.org/systems/texlive/tlnet
elif [ $$n = jpegsrc ]; then c=$(libjpeg-checksum); w=http://ijg.org/files
elif [ $$n = lapack ]; then c=$(lapack-checksum); w=http://www.netlib.org/lapack
+ elif [ $$n = libnsl ]; then c=$(libnsl-checksum); w=http://akhlaghi.org/reproduce-software
elif [ $$n = libpng ]; then c=$(libpng-checksum); w=https://download.sourceforge.net/libpng
elif [ $$n = libgit ]; then
mergenames=0
c=$(libgit2-checksum)
w=https://github.com/libgit2/libgit2/archive/v$(libgit2-version).tar.gz
+ elif [ $$n = libtirpc ]; then c=$(libtirpc-checksum); w=https://downloads.sourceforge.net/libtirpc
elif [ $$n = libxml ]; then c=$(libxml-checksum); w=ftp://xmlsoft.org/libxml2
elif [ $$n = netpbm ]; then c=$(netpbm-checksum); w=http://akhlaghi.org/reproduce-software
elif [ $$n = openblas ]; then
@@ -229,6 +234,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
w=https://download.open-mpi.org/release/open-mpi/v$$majorver/$*
elif [ $$n = openssh ]; then c=$(openssh-checksum); w=https://artfiles.org/openbsd/OpenSSH/portable
elif [ $$n = pixman ]; then c=$(pixman-checksum); w=https://www.cairographics.org/releases
+ elif [ $$n = rpcsvc ]; then c=$(rpcsvc-proto-checksum); w=https://github.com/thkukuk/rpcsvc-proto/releases/download/v$(rpcsvc-proto-version)
elif [ $$n = scamp ]; then c=$(scamp-checksum); w=http://akhlaghi.org/reproduce-software
elif [ $$n = scons ]; then
mergenames=0
@@ -273,12 +279,15 @@ $(tarballs): $(tdir)/%: | $(lockdir)
# controlled `sha512sum' build (as part of GNU Coreutils). So we
# don't need to check its existance like `basic.mk'. But for LaTeX,
# we need to ignore a checksum (it downloads the binaries).
- if [ $$c == NO-CHECK-SUM ]; then
+ if [ x"$$c" == x"NO-CHECK-SUM" ]; then
mv "$@.unchecked" "$@"
else
checksum=$$(sha512sum "$@.unchecked" | awk '{print $$1}')
- if [ x$$checksum = x$$c ]; then mv "$@.unchecked" "$@"
- else echo "ERROR: Non-matching checksum for '$*'."; exit 1
+ if [ x"$$checksum" = x"$$c" ]; then mv "$@.unchecked" "$@"
+ else echo "ERROR: Non-matching checksum for '$*'."
+ echo "Checksum should be: $$c"
+ echo "Checksum is: $$checksum"
+ exit 1
fi
fi
@@ -447,6 +456,13 @@ $(ibidir)/libjpeg: $(tdir)/jpegsrc.$(libjpeg-version).tar.gz
$(call gbuild, $<, jpeg-9b, static) \
&& echo "Libjpeg $(libjpeg-version)" > $@
+$(ibidir)/libnsl: $(tdir)/libnsl-$(libnsl-version).tar.gz \
+ $(ibidir)/rpcsvc-proto \
+ $(ibidir)/libtirpc
+ $(call gbuild, $<, libnsl-$(libnsl-version), static, \
+ --sysconfdir=$(idir)/etc) \
+ && echo "Libnsl $(libnsl-version)" > $@
+
$(ibidir)/libpng: $(tdir)/libpng-$(libpng-version).tar.xz
$(call gbuild, $<, libpng-$(libpng-version), static) \
&& echo "Libpng $(libpng-version)" > $@
@@ -457,6 +473,11 @@ $(ibidir)/libtiff: $(tdir)/tiff-$(libtiff-version).tar.gz \
--disable-webp --disable-zstd) \
&& echo "Libtiff $(libtiff-version)" > $@
+$(ibidir)/libtirpc: $(tdir)/libtirpc-$(libtirpc-version).tar.bz2
+ $(call gbuild, $<, libtirpc-$(libtirpc-version), static, \
+ --disable-gssapi, V=1) \
+ echo "libtirpc $(libtirpc-version)" > $@
+
$(ibidir)/libxml2: $(tdir)/libxml2-$(libxml2-version).tar.gz
# The libxml2 tarball also contains Python bindings which are built and
# installed to a system directory by default. If you don't need the Python
@@ -500,6 +521,10 @@ $(ibidir)/pixman: $(tdir)/pixman-$(pixman-version).tar.gz
-j$(numthreads) V=1) \
&& echo "Pixman $(pixman-version)" > $@
+$(ibidir)/rpcsvc-proto: $(tdir)/rpcsvc-proto-$(rpcsvc-proto-version).tar.xz
+ $(call gbuild, $<, rpcsvc-proto-$(rpcsvc-proto-version), static) \
+ && echo "rpcsvc $(rpcsvc-proto-version)" > $@
+
$(ibidir)/tides: $(tdir)/tides-$(tides-version).tar.gz
$(call gbuild, $<, tides-$(tides-version), static,\
--with-gmp=$(idir) --with-mpfr=$(idir)) \
@@ -894,8 +919,20 @@ $(itidir)/texlive-ready-tlmgr: $(tdir)/install-tl-unx.tar.gz \
# To keep things modular and simple, we'll break up the installation of TeX
# Live itself (only very basic TeX and LaTeX) and the installation of its
# necessary packages into two packages.
+#
+# Note that Biber needs to link with libraries like libnsl. However, we
+# don't currently build biber from source. So we can't choose the library
+# version. But we have the source and build instructions for the `nsl'
+# library. When we later build biber from source, we can easily use them.
+#
+#ifeq ($(on_mac_os),yes)
+#forbiber =
+#else
+#forbiber = $(ibidir)/libnsl
+#endif
$(itidir)/texlive: reproduce/software/config/installation/texlive.mk \
- $(itidir)/texlive-ready-tlmgr
+ $(itidir)/texlive-ready-tlmgr \
+ $(forbiber)
# To work with TeX live installation, we'll need the internet.
@res=$$(cat $(itidir)/texlive-ready-tlmgr)