aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/config
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2019-04-22 17:12:32 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2019-04-22 17:45:00 +0100
commitb835c158f3cf3b6525e734c0f0468d000b19005a (patch)
tree396e31493cd66fb80a93739bc0355d44bd924374 /reproduce/software/config
parente670140b509d4940ab6435b02cc73d8cfeac821f (diff)
High-level software now specified in TARGETS.mk
Until now, to specify which high-level software you want the project to contain, it was necessary to go into the `high-level.mk' Makefile that is complicated and can create bugs. With this commit, a new `reproduce/software/config/installation/TARGETS.mk' file has been created that is easily/cleanly in charge of documenting the final high-level software that must be built for the project. Also, until now, FFTW was set as a dependency of Numpy while we couldn't actually get Numpy to use it! It was just there for future reference and to justify its build rule. But now that many software won't be built and there is no problem with having rules even though a project might not use them, it has been removed.
Diffstat (limited to 'reproduce/software/config')
-rw-r--r--reproduce/software/config/installation/TARGETS.mk41
-rw-r--r--reproduce/software/config/installation/versions.mk117
2 files changed, 117 insertions, 41 deletions
diff --git a/reproduce/software/config/installation/TARGETS.mk b/reproduce/software/config/installation/TARGETS.mk
new file mode 100644
index 0000000..4b1ff2e
--- /dev/null
+++ b/reproduce/software/config/installation/TARGETS.mk
@@ -0,0 +1,41 @@
+# Necessary high-level software to build in this project.
+#
+# Copyright (C) 2018-2019 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice and
+# this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+
+
+
+
+# AVAILABLE SOFTWARE
+# ------------------
+#
+# All software that are currently available for installation can be seen in
+# the following file.
+#
+# reproduce/software/config/installation/versions.mk
+#
+# Please add any software that you need for your project in the respective
+# part below (using its name in `versions.mk', but without the `-version'
+# part). Just note that if a program/library is a dependency of another,
+# you don't need to include it here (it will be installed before the
+# higher-level software anyway).
+#
+# Note that many low-level software will be installed before those that are
+# installed in this step. They are clearly distinguished from the
+# higher-level (optional) software in `versions.mk'. These low-level
+# software MUST NOT be added here.
+
+
+
+
+
+# Programs and libraries.
+top-level-programs = gnuastro
+
+# Python libraries/modules.
+top-level-python = astropy
diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk
index 5761165..cfa7f81 100644
--- a/reproduce/software/config/installation/versions.mk
+++ b/reproduce/software/config/installation/versions.mk
@@ -16,40 +16,27 @@
# A copy of the GNU General Public License is available at
# <http://www.gnu.org/licenses/>.
-# C/C++ programs and libraries.
-astrometrynet-version = 0.77
-atlas-version = 3.10.3
+
+
+
+
+# Basic/low-level programs and libraires (installed in any case)
+# --------------------------------------------------------------
bash-version = 5.0
binutils-version = 2.31.1
-cairo-version = 1.16.0
-cdsclient-version = 3.84
-cfitsio-version = 3.45
-cmake-version = 3.14.2
coreutils-version = 8.31
curl-version = 7.63.0
diffutils-version = 3.7
-fftw-version = 3.3.8
file-version = 5.36
findutils-version = 4.6.0.199-e3fc
-flock-version = 0.2.3
-freetype-version = 2.9
gawk-version = 5.0.0
gcc-version = 8.3.0
-ghostscript-version = 9.26
git-version = 2.21.0
gmp-version = 6.1.2
-gnuastro-version = 0.8
grep-version = 3.3
-gsl-version = 2.5
gzip-version = 1.10
-hdf5-version = 1.10.5
isl-version = 0.18
libbsd-version = 0.9.1
-libffi-version = 3.2.1
-libjpeg-version = v9b
-libtiff-version = 4.0.10
-libtool-version = 2.4.6
-libxml2-version = 2.9.9
lzip-version = 1.20
m4-version = 1.4.18
make-version = 4.2.90
@@ -57,20 +44,11 @@ metastore-version = 1.1.2-23-fa9170b
mpfr-version = 4.0.2
mpc-version = 1.1.0
ncurses-version = 6.1
-netpbm-version = 10.47.72
-openblas-version = 0.3.5
-openmpi-version = 4.0.1
openssl-version = 1.1.1a
patchelf-version = 0.9
-pixman-version = 0.38.0
pkgconfig-version = 0.29.2
-python-version = 3.7.3
readline-version = 8.0
-scamp-version = 2.6.7
sed-version = 4.7
-sextractor-version = 2.25.0
-swarp-version = 2.38.0
-swig-version = 3.0.12
tar-version = 1.32
unzip-version = 6.0
wget-version = 1.20.3
@@ -79,24 +57,57 @@ xz-version = 5.2.4
zip-version = 3.0
zlib-version = 1.2.11
-# Special libraries
-# -----------------
+
+
+
+
+# Optional/high-level programs and libraries
+# ------------------------------------------
#
-# When updating the version of these libraries, please look into the build
-# rule first: In one way or another, the version string becomes necessary
-# during their build and must be accounted for. In particular:
-# `libpng' is downgraded because `netpbm' requires `libpng' version < 1.5
-bzip2-version = 1.0.6
-lapack-version = 3.8.0
-libgit2-version = 0.26.0
-libpng-version = 1.4.22
-wcslib-version = 6.2
+# These are programs and libraries that are optional, The ones in
+# `reproduce/software/config/installation/TARGETS.mk' will be built as part
+# of a project. To specify a software there, just remove the `-version'
+# suffix from the list below.
+astrometrynet-version = 0.77
+atlas-version = 3.10.3
+cairo-version = 1.16.0
+cdsclient-version = 3.84
+cfitsio-version = 3.45
+cmake-version = 3.14.2
+fftw-version = 3.3.8
+flock-version = 0.2.3
+freetype-version = 2.9
+ghostscript-version = 9.26
+gnuastro-version = 0.9
+gsl-version = 2.5
+hdf5-version = 1.10.5
+libffi-version = 3.2.1
+libjpeg-version = v9b
+libtiff-version = 4.0.10
+libtool-version = 2.4.6
+libxml2-version = 2.9.9
+netpbm-version = 10.47.72
+openblas-version = 0.3.5
+openmpi-version = 4.0.1
+pixman-version = 0.38.0
+python-version = 3.7.3
+scamp-version = 2.6.7
+sextractor-version = 2.25.0
+swarp-version = 2.38.0
+swig-version = 3.0.12
+
+
+
+
# Python packages
# ---------------
#
-# IMPORTANT: Fix url in `reproduce/src/make/dependencies.mk'
-# if changing the version
+# Similar to optional programs and libraries above.
+#
+# IMPORTANT: If you intend to change the version of any of the Python
+# modules/libraries below, please fix the hash strings of the respective
+# URL in `reproduce/software/make/python.mk'.
asn1crypto-version = 0.24.0
astroquery-version = 0.3.9
astropy-version = 3.1.1
@@ -132,3 +143,27 @@ soupsieve-version = 1.8
urllib3-version = 1.24.1
virtualenv-version = 16.4.0
webencodings-version = 0.5.1
+
+
+
+
+
+# Special programs and libraries
+# ------------------------------
+#
+# When updating the version of these libraries, please look into the build
+# rule first: In one way or another, the version string becomes necessary
+# during their build and must be accounted for.
+#
+# Special notes:
+# - `libpng' is downgraded: the current installation of `netpbm' requires
+# a version less than 1.5.
+
+# Basic/low-level
+bzip2-version = 1.0.6
+
+# Optional/high-level
+lapack-version = 3.8.0
+libgit2-version = 0.26.0
+libpng-version = 1.4.22
+wcslib-version = 6.2