aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--reproduce/software/config/installation/checksums.mk3
-rw-r--r--reproduce/software/config/installation/versions.mk3
-rw-r--r--reproduce/software/make/high-level.mk49
3 files changed, 49 insertions, 6 deletions
diff --git a/reproduce/software/config/installation/checksums.mk b/reproduce/software/config/installation/checksums.mk
index d061595..5103086 100644
--- a/reproduce/software/config/installation/checksums.mk
+++ b/reproduce/software/config/installation/checksums.mk
@@ -91,8 +91,10 @@ lapack-checksum = 17786cb7306fccdc9b4a242de7f64fc261ebe6a10b6ec55f519deb4cb673cb
libffi-checksum = 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483
libgit2-checksum = 0879c162e2e1dc00eadfbda22cd1f9d3a95b4ec2b653c108983f37c2f695140882de4d50d7cbc04ced247125a4e9fe6df16130e1267891aecdb2411d920db5c6
libjpeg-checksum = 74ea5af3545657d4ac03f8f7933913112cc2d982f0e379d0e5647f1acac21931468e53806297c30ebe180c7bcf84919a0ac20a4195afb03db03060d57904ef6c
+libnsl-checksum = a3c8f674357674b7ed4b26c05adde607f39be8d6dc9ff715448e1fcc5fc23d11fbb4ce85a6e493b79bdb0bb450dc3ffb1fb480715779f738d7bc016fae91621d
libpng-checksum = 59e8c1059013497ae616a14c3abbe239322d3873c6ded0912403fc62fb260561768230b6ab997e2cccc3b868c09f539fd13635616b9fa0dd6279a3f63ec7e074
libtiff-checksum = d213e5db09fd56b8977b187c5a756f60d6e3e998be172550c2892dbdb4b2a8e8c750202bc863fe27d0d1c577ab9de1710d15e9f6ed665aadbfd857525a81eea8
+libtirpc-checksum = 392f391f9fc1bd68d81dc44e4058831a64b32790b5c8c37338b0ab416fad2ae4d16389e632596734dba09780347918cc65c6f134e0c1afd09e81ec250785ed23
libxml2-checksum = cb7784ba4e72e942614e12e4f83f4ceb275f3d738b30e3b5c1f25edf8e9fa6789e854685974eed95b362049dbf6c8e7357e0327d64c681ed390534ac154e6810
netpbm-checksum = 064720f8a9d0a502488e1af4daecdbf3936910996507ca6f311073a0ad842346692a148eb1ddf7b717f7b108f60500246cb4b83f4d3665f5fc285a84ae1d63d6
openblas-checksum = 91b3074eb922453bf843158b4281cde65db9e8bbdd7590e75e9e6cdcb486157f7973f2936f327bb3eb4f1702ce0ba51ae6729d8d4baf2d986c50771e8f696df0
@@ -100,6 +102,7 @@ openmpi-checksum = 760716974cb6b25ad820184622e1ee7926bc6fda87db6b574f76792bc1ca9
openssh-checksum = e280fa2d56f550efd37c5d2477670326261aa8b94d991f9eb17aad90e0c6c9c939efa90fe87d33260d0f709485cb05c379f0fd1bd44fc0d5190298b6398c9982
pixman-checksum = 1b0205dbe9d9185c68813ce577a889f3c83e83fbd9955c3a72d411c3b476e6be93fc246b5b6ef4ee17e2bb8eb6fb5559e01dff7feb6a6c4c6314f980e960d690
python-checksum = c87be001f3de677f7838cc7767beefe5781d3d5e4ba39abb8dba1d77ce4a334660e27ed2dfd26bc90afcdb94b5b8a3a7aea329852557404d1c85cb2c268651db
+rpcsvc-proto-checksum = c3011d7d7ef97a4a751f6921df1a23e1dd8ac50fb0690c759d37010ed7be27968a2130e3b8872cb48d5914216f9d539096a424f1ec38a75f7ed899748151c6f4
scamp-checksum = 35034a367d2cd09dc51e727e0f23ef6234edc0d978fd71cda1e80391d86af160138cb57281f7f7f9047e35b1246a0de6b235414086a62524413ed423f498583f
scons-checksum = 0477038b014674049f12899b64584d44a85283d521b2422561e42020a5ae296a5af005684087c3ff410ed3fcbdcc5ff61998bc429eb29513f2a864138ffc4945
sextractor-checksum = 4035710f9b8a20a0bb1a3913dab2dadd8444c179bf6dee425e0e8bb66a772944ea189bfce89fd791d316a790fc4b2cb15a62633b19d1d5331b1803dec2e70af7
diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk
index 085646c..7105f59 100644
--- a/reproduce/software/config/installation/versions.mk
+++ b/reproduce/software/config/installation/versions.mk
@@ -88,14 +88,17 @@ imagemagick-version = 7.0.8-46
imfit-version = 1.6.1
libffi-version = 3.2.1
libjpeg-version = v9b
+libnsl-version = 1.2.0-4a062cf
libpng-version = 1.6.37
libtiff-version = 4.0.10
+libtirpc-version = 1.1.4
libxml2-version = 2.9.9
openblas-version = 0.3.5
openmpi-version = 4.0.1
openssh-version = 8.0p1
pixman-version = 0.38.0
python-version = 3.7.3
+rpcsvc-proto-version = 1.4
scamp-version = 2.6.7
scons-version = 3.0.5
sextractor-version = 2.25.0
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)