aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/make/python.mk
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-06-27 23:49:36 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-06-27 23:49:36 +0100
commit3d7d8cedfe0698e895949027906ce5ca996aad17 (patch)
tree108627d6dcb039ad340e75b1b14081524cc5a3df /reproduce/software/make/python.mk
parent57f922480d62a826b3e6030c81b85b412794fd4c (diff)
parentc151eddbcc5f4208b40dc3037a8ae8adb0ff9173 (diff)
Imported recent work in master, minor conflict fixed in paper.mk
Only two conflicts came up in the newly added comments of 'paper.mk' in the Maneage branch. It happened because in this project we don't use 'pdflatex', but 'latex' alone.
Diffstat (limited to 'reproduce/software/make/python.mk')
-rw-r--r--reproduce/software/make/python.mk929
1 files changed, 399 insertions, 530 deletions
diff --git a/reproduce/software/make/python.mk b/reproduce/software/make/python.mk
index eef8279..ccfbc72 100644
--- a/reproduce/software/make/python.mk
+++ b/reproduce/software/make/python.mk
@@ -3,8 +3,12 @@
# ------------------------------------------------------------------------
# !!!!! IMPORTANT NOTES !!!!!
#
-# This Makefile will be run by the initial `./project configure' script. It
-# is not included into the reproduction pipe after that.
+# This Makefile will be loaded into 'high-level.mk', which is called by the
+# `./project configure' script. It is not included into the project
+# afterwards.
+#
+# This Makefile contains instructions to build all the Python-related
+# software within the project.
#
# ------------------------------------------------------------------------
#
@@ -52,274 +56,52 @@ python-major-version = $(shell echo $(python-version) | awk 'BEGIN{FS="."} \
-# Tarballs
-# --------
-#
-# All the necessary tarballs are defined and prepared with this rule.
-#
-# Note that we want the tarballs to follow the convention of NAME-VERSION
-# before the `tar.XX' prefix. For those programs that don't follow this
-# convention, but include the name/version in their tarball names with
-# another format, we'll do the modification before the download so the
-# downloaded file has our desired format.
-pytarballs = $(foreach t, asn1crypto-$(asn1crypto-version).tar.gz \
- asteval-$(asteval-version).tar.gz \
- astroquery-$(astroquery-version).tar.gz \
- astropy-$(astropy-version).tar.gz \
- beautifulsoup4-$(beautifulsoup4-version).tar.gz \
- certifi-$(certifi-version).tar.gz \
- cffi-$(cffi-version).tar.gz \
- chardet-$(chardet-version).tar.gz \
- corner-$(corner-version).tar.gz \
- cryptography-$(cryptography-version).tar.gz \
- cycler-$(cycler-version).tar.gz \
- cython-$(cython-version).tar.gz \
- eigency-$(eigency-version).tar.gz \
- emcee-$(emcee-version).tar.gz \
- esutil-$(esutil-version).tar.gz \
- entrypoints-$(entrypoints-version).tar.gz \
- flake8-$(flake8-version).tar.gz \
- future-$(future-version).tar.gz \
- galsim-$(galsim-version).tar.gz \
- h5py-$(h5py-version).tar.gz \
- html5lib-$(html5lib-version).tar.gz \
- idna-$(idna-version).tar.gz \
- jeepney-$(jeepney-version).tar.gz \
- kiwisolver-$(kiwisolver-version).tar.gz \
- keyring-$(keyring-version).tar.gz \
- libffi-$(libffi-version).tar.gz \
- lmfit-$(lmfit-version).tar.gz \
- lsstdesccoord-$(lsstdesccoord-version).tar.gz \
- matplotlib-$(matplotlib-version).tar.gz \
- mpi4py-$(mpi4py-version).tar.gz \
- mpmath-$(mpmath-version).tar.gz \
- numpy-$(numpy-version).zip \
- pkgconfig-$(pypkgconfig-version).tar.gz \
- pip-$(pip-version).tar.gz \
- pexpect-$(pexpect-version).tar.gz \
- pybind11-$(pybind11-version).tar.gz \
- pycodestyle-$(pycodestyle-version).tar.gz \
- pycparser-$(pycparser-version).tar.gz \
- pyflakes-$(pyflakes-version).tar.gz \
- python-$(python-version).tar.gz \
- python-dateutil-$(python-dateutil-version).tar.gz \
- pyparsing-$(pyparsing-version).tar.gz \
- pyyaml-$(pyyaml-version).tar.gz \
- requests-$(requests-version).tar.gz \
- scipy-$(scipy-version).tar.gz \
- secretstorage-$(secretstorage-version).tar.gz \
- setuptools-$(setuptools-version).zip \
- setuptools_scm-$(setuptools_scm-version).tar.gz \
- sip_tpv-$(sip_tpv-version).tar.gz \
- six-$(six-version).tar.gz \
- soupsieve-$(soupsieve-version).tar.gz \
- sympy-$(sympy-version).tar.gz \
- uncertainties-$(uncertainties-version).tar.gz \
- urllib3-$(urllib3-version).tar.gz \
- webencodings-$(webencodings-version).tar.gz \
- virtualenv-$(virtualenv-version).tar.gz \
- , $(tdir)/$(t) )
-pytopurl=https://files.pythonhosted.org/packages
-$(pytarballs): $(tdir)/%:
-
- # Convenience variable
- # --------------------
- #
- # `n' is just for convenience and to avoid having to repeat the
- # package tarball name in the conditional to find its URL.
- #
- # For some packages (for example `python-dateutil', or those with
- # a number or dash in their name), we need special consideration
- # because the tokenization above will produce `python' as the
- # first string.
- @if [ $* = python-dateutil-$(python-dateutil-version).tar.gz ]; then
- n=dateutil
-
- # elif [ $* = strange-tarball5name-version.tar.gz ]; then
- # n=strange5-name
- else
- # Remove the version numbers and suffix from the tarball name so
- # we can search more easily only with the program name. This
- # requires the first character of the version to be a digit:
- # packages such as `foo' and `foo-3' will not be distinguished,
- # but `foo' and `foo2' will be distinguished.
- n=$$(echo $* | sed -e's/-[0-9]/ /' -e's/\./ /g' \
- | awk '{print $$1}' )
-
- fi
-
- # Set the top download link of the requested tarball. The ones
- # that have non-standard filenames (differing from our archived
- # tarball names) are treated first, then the standard ones.
- mergenames=1
- if [ $$n = cython ]; then
- mergenames=0
- c=$(cython-checksum)
- hash=36/da/fcb979fc8cb486a67a013d6aefefbb95a3e19e67e49dff8a35e014046c5e
- h=$(pytopurl)/$$hash/Cython-$(cython-version).tar.gz
- elif [ $$n = galsim ]; then
- mergenames=0
- c=$(galsim-checksum)
- hash=8f/3b/bbc7cff7590d3624d528564f08745f071e316c67fce154ad38210833c103
- h=$(pytopurl)/$$hash/GalSim-$(galsim-version).tar.gz
- elif [ $$n = lsstdesccoord ]; then
- mergenames=0
- c=$(lsstdesccoord-checksum)
- hash=9d/39/ad17697571c9aed36d20ed9ae0a135e3a734fb7f15a8605f92bf27c3b02c
- h=$(pytopurl)/$$hash/LSSTDESC.Coord-$(lsstdesccoord-version).tar.gz
- elif [ $$n = python ]; then
- mergenames=0
- c=$(python-checksum)
- h=https://www.python.org/ftp/python/$(python-version)/Python-$(python-version).tgz
- elif [ $$n = pyyaml ]; then
- mergenames=0
- c=$(pyyaml-checksum)
- hash=9f/2c/9417b5c774792634834e730932745bc09a7d36754ca00acf1ccd1ac2594d
- h=$(pytopurl)/$$hash/PyYAML-$(pyyaml-version).tar.gz
- elif [ $$n = libffi ]; then
- mergenames=0
- c=$(libffi-checksum)
- h=ftp://sourceware.org/pub/libffi/libffi-$(libffi-version).tar.gz
- elif [ $$n = secretstorage ]; then
- mergenames=0
- c=$(secretstorage-checksum)
- hash=a6/89/df343dbc2957a317127e7ff2983230dc5336273be34f2e1911519d85aeb5
- h=$(pytopurl)/$$hash/SecretStorage-$(secretstorage-version).tar.gz
- elif [ $$n = asn1crypto ]; then h=fc/f1/8db7daa71f414ddabfa056c4ef792e1461ff655c2ae2928a2b675bfed6b4; c=$(asn1crypto-checksum)
- elif [ $$n = asteval ]; then h=50/3f/29b7935c6dc09ee96dc347edc66c57e8ef68d595dd35b763a36a117acc8c; c=$(asteval-checksum)
- elif [ $$n = astroquery ]; then h=e2/af/a3cd3b30745832a0e81f5f13327234099aaf5d03b7979ac947a888e68e91; c=$(astroquery-checksum)
- elif [ $$n = astropy ]; then h=de/96/7feaca4b9be134128838395a9d924ea0b389ed4381702dcd9d11ae31789f; c=$(astropy-checksum)
- elif [ $$n = beautifulsoup4 ]; then h=80/f2/f6aca7f1b209bb9a7ef069d68813b091c8c3620642b568dac4eb0e507748; c=$(beautifulsoup4-checksum)
- elif [ $$n = certifi ]; then h=55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed; c=$(certifi-checksum)
- elif [ $$n = cffi ]; then h=64/7c/27367b38e6cc3e1f49f193deb761fe75cda9f95da37b67b422e62281fcac; c=$(cffi-checksum)
- elif [ $$n = chardet ]; then h=fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d; c=$(chardet-checksum)
- elif [ $$n = corner ]; then h=65/af/a7ba022f2d5787f51db91b5550cbe8e8c40a6eebd8f15119e743a09a9c19; c=$(corner-checksum)
- elif [ $$n = cryptography ]; then h=07/ca/bc827c5e55918ad223d59d299fff92f3563476c3b00d0a9157d9c0217449; c=$(cryptography-checksum)
- elif [ $$n = cycler ]; then h=c2/4b/137dea450d6e1e3d474e1d873cd1d4f7d3beed7e0dc973b06e8e10d32488; c=$(cycler-checksum)
- elif [ $$n = eigency ]; then h=fb/6e/bc4359fbfb0bb0b588ec328251b0d0836bdd7c0a4c568959ea06df023e18; c=$(eigency-checksum)
- elif [ $$n = emcee ]; then h=f0/c0/cd433f2aedeef9b1e5ed7d236c82564f7518fe7fe2238fa141ea9ce08e73; c=$(emcee-checksum)
- elif [ $$n = entrypoints ]; then h=b4/ef/063484f1f9ba3081e920ec9972c96664e2edb9fdc3d8669b0e3b8fc0ad7c; c=$(entrypoints-checksum)
- elif [ $$n = esutil ]; then h=5b/91/77e38282fd3d47b55e351544ab179eb209b309a8d2d40f8cdb6241beda00; c=$(esutil-checksum)
- elif [ $$n = flake8 ]; then h=8d/a7/99222c9200af533c1ecb1120d99adbd1c033b57296ac5cb39d121db007a8; c=$(flake8-checksum)
- elif [ $$n = future ]; then h=3f/bf/57733d44afd0cf67580658507bd11d3ec629612d5e0e432beb4b8f6fbb04; c=$(future-checksum)
- elif [ $$n = h5py ]; then h=43/27/a6e7dcb8ae20a4dbf3725321058923fec262b6f7835179d78ccc8d98deec; c=$(h5py-checksum)
- elif [ $$n = html5lib ]; then h=85/3e/cf449cf1b5004e87510b9368e7a5f1acd8831c2d6691edd3c62a0823f98f; c=$(html5lib-checksum)
- elif [ $$n = idna ]; then h=ad/13/eb56951b6f7950cadb579ca166e448ba77f9d24efc03edd7e55fa57d04b7; c=$(idna-checksum)
- elif [ $$n = jeepney ]; then h=16/1d/74adf3b164a8d19a60d0fcf706a751ffa2a1eaa8e5bbb1b6705c92a05263; c=$(jeepney-checksum)
- elif [ $$n = keyring ]; then h=15/88/c6ce9509438bc02d54cf214923cfba814412f90c31c95028af852b19f9b2; c=$(keyring-checksum)
- elif [ $$n = kiwisolver ]; then h=31/60/494fcce70d60a598c32ee00e71542e52e27c978e5f8219fae0d4ac6e2864; c=$(kiwisolver-checksum)
- elif [ $$n = lmfit ]; then h=59/6e/117794cf85b7345361877e49245870490ae438f1981dea3c6af1316b30e7; c=$(lmfit-checksum)
- elif [ $$n = matplotlib ]; then h=12/d1/7b12cd79c791348cb0c78ce6e7d16bd72992f13c9f1e8e43d2725a6d8adf; c=$(matplotlib-checksum)
- elif [ $$n = mpi4py ]; then h=04/f5/a615603ce4ab7f40b65dba63759455e3da610d9a155d4d4cece1d8fd6706; c=$(mpi4py-checksum)
- elif [ $$n = mpmath ]; then h=ca/63/3384ebb3b51af9610086b23ea976e6d27d6d97bf140a76a365bd77a3eb32; c=$(mpmath-checksum)
- elif [ $$n = numpy ]; then h=ac/36/325b27ef698684c38b1fe2e546e2e7ef9cecd7037bcdb35c87efec4356af; c=$(numpy-checksum)
- elif [ $$n = pexpect ]; then h=1c/b1/362a0d4235496cb42c33d1d8732b5e2c607b0129ad5fdd76f5a583b9fcb3; c=$(pexpect-checksum)
- elif [ $$n = pip ]; then h=4c/4d/88bc9413da11702cbbace3ccc51350ae099bb351febae8acc85fec34f9af; c=$(pip-checksum)
- elif [ $$n = pkgconfig ]; then h=6e/a9/ff67ef67217dfdf2aca847685fe789f82b931a6957a3deac861297585db6; c=$(pypkgconfig-checksum)
- elif [ $$n = pybind11 ]; then h=aa/91/deb6743e79e22ab01502296570b39b8404f10cc507a6692d612a7fee8d51; c=$(pybind11-checksum)
- elif [ $$n = pycodestyle ]; then h=1c/d1/41294da5915f4cae7f4b388cea6c2cd0d6cd53039788635f6875dfe8c72f; c=$(pycodestyle-checksum)
- elif [ $$n = pycparser ]; then h=68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a; c=$(pycparser-checksum)
- elif [ $$n = pyflakes ]; then h=52/64/87303747635c2988fcaef18af54bfdec925b6ea3b80bcd28aaca5ba41c9e; c=$(pyflakes-checksum)
- elif [ $$n = pyparsing ]; then h=b9/b8/6b32b3e84014148dcd60dd05795e35c2e7f4b72f918616c61fdce83d27fc; c=$(pyparsing-checksum)
- elif [ $$n = dateutil ]; then h=ad/99/5b2e99737edeb28c71bcbec5b5dda19d0d9ef3ca3e92e3e925e7c0bb364c; c=$(python-dateutil-checksum)
- elif [ $$n = requests ]; then h=52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38; c=$(requests-checksum)
- elif [ $$n = scipy ]; then h=ee/5b/5afcd1c46f97b3c2ac3489dbc95d6ca28eacf8e3634e51f495da68d97f0f; c=$(scipy-checksum)
- elif [ $$n = secretstorage ]; then h=a6/89/df343dbc2957a317127e7ff2983230dc5336273be34f2e1911519d85aeb5; c=$(secretstorage-checksum)
- elif [ $$n = setuptools ]; then h=11/0a/7f13ef5cd932a107cd4c0f3ebc9d831d9b78e1a0e8c98a098ca17b1d7d97; c=$(setuptools-checksum)
- elif [ $$n = setuptools_scm ]; then h=83/44/53cad68ce686585d12222e6769682c4bdb9686808d2739671f9175e2938b; c=$(setuptools_scm-checksum)
- elif [ $$n = six ]; then h=dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca; c=$(six-checksum)
- elif [ $$n = sip_tpv ]; then h=27/93/a973aab2a3bf0c12cb385611819710921e13b090304c6bd015026cf9c502; c=$(sip_tpv-checksum)
- elif [ $$n = soupsieve ]; then h=0c/52/e9088bb9b96e2d39fc3b33fcda5b4fde9d71473536ac660a1ca9a0958a2f; c=$(soupsieve-checksum)
- elif [ $$n = sympy ]; then h=54/2e/6adb11fe599d4cfb7e8833753350ac51aa2c0603c226b36f9051cc9d2425; c=$(sympy-checksum)
- elif [ $$n = uncertainties ]; then h=2a/c2/babbe5b16141859dd799ed31c03987100a7b6d0ca7c0ed4429c96ce60fdf; c=$(uncertainties-checksum)
- elif [ $$n = urllib3 ]; then h=b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1; c=$(urllib3-checksum)
- elif [ $$n = virtualenv ]; then h=51/aa/c395a6e6eaaedfa5a04723b6446a1df783b16cca6fec66e671cede514688; c=$(virtualenv-checksum)
- elif [ $$n = webencodings ]; then h=0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47; c=$(webencodings-checksum)
-# elif [ $$n = strange5-name ]; then h=XXXXX; c=$(XXXXX-checksum)
- else
- echo; echo; echo;
- echo "'$$n' not recognized as a dependency name to download."
- echo; echo; echo;
- exit 1
- fi
-
- # Download the requested tarball. Note that some packages may not
- # follow our naming convention (where the package name is merged
- # with its version number). In such cases, `w' will be the full
- # address, not just the top directory address. But since we are
- # storing all the tarballs in one directory, we want it to have
- # the same naming convention, so we'll download it to a temporary
- # name, then rename that.
- rm -f "$@.unchecked"
- if [ -f $(DEPENDENCIES-DIR)/$* ]; then
- cp $(DEPENDENCIES-DIR)/$* "$@.unchecked"
- else
- if [ $$mergenames = 1 ]; then tarballurl=$(pytopurl)/$$h/"$*"
- else tarballurl=$$h
- fi
-
- # Download using the script specially defined for this job.
- touch $(lockdir)/download
- downloader="wget --no-use-server-timestamps -O"
- $(downloadwrapper) "$$downloader" $(lockdir)/download \
- $$tarballurl "$@.unchecked" "$(backupservers)"
- fi
-
- # Make sure this is the expected tarball. Note that we now have a
- # controlled `sha512sum' build (as part of GNU Coreutils). So we
- # don't need to check its existance like `basic.mk'.
- checksum=$$(sha512sum "$@.unchecked" | awk '{print $$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
-
-
-
-
-
# Necessary programs and libraries
# --------------------------------
#
# While this Makefile is for Python programs, in some cases, we need
# certain programs (like Python itself), or libraries for the modules.
-$(ibidir)/libffi: $(tdir)/libffi-$(libffi-version).tar.gz
+$(ibidir)/libffi-$(libffi-version):
+ # Prepare the source.
+ tarball=libffi-$(libffi-version).tar.gz
+ $(call import-source, $(libffi-url), $(libffi-checksum))
+
+ # Build libffi.
+ $(call gbuild, libffi-$(libffi-version), , \
+ CFLAGS="-DNO_JAVA_RAW_API=1")
# On some Fedora systems, libffi installs in `lib64', not
# `lib'. This will cause problems when building setuptools
# later. To fix this problem, we'll first check if this has indeed
# happened (it exists under `lib64', but not under `lib'). If so,
# we'll put a copy of the installed libffi libraries in `lib'.
- $(call gbuild, libffi-$(libffi-version), , \
- CFLAGS="-DNO_JAVA_RAW_API=1") \
- && if [ -f $(idir)/lib64/libffi.a ] \
- && ! [ -f $(idir)/lib/libffi.a ]; then \
- cp $(idir)/lib64/libffi* $(ildir)/; \
- fi \
- && echo "Libffi $(libffi-version)" > $@
-
-$(ibidir)/python: $(ibidir)/libffi \
- $(tdir)/python-$(python-version).tar.gz
+ if [ -f $(idir)/lib64/libffi.a ] && ! [ -f $(idir)/lib/libffi.a ]; then
+ cp $(idir)/lib64/libffi* $(ildir)/
+ fi
+ echo "Libffi $(libffi-version)" > $@
+
+$(ibidir)/python-$(python-version): $(ibidir)/libffi-$(libffi-version)
+
+ # Download the source.
+ tarball=python-$(python-version).tar.gz
+ $(call import-source, $(python-url), $(python-checksum))
+
# On Mac systems, the build complains about `clang' specific
# features, so we can't use our own GCC build here.
- if [ x$(on_mac_os) = xyes ]; then \
- export CC=clang; \
- export CXX=clang++; \
- fi; \
+ if [ x$(on_mac_os) = xyes ]; then
+ export CC=clang
+ export CXX=clang++
+ fi
$(call gbuild, Python-$(python-version),, \
--without-ensurepip \
--with-system-ffi \
- --enable-shared) \
- && ln -sf $(ildir)/python$(python-major-version) $(ildir)/python \
- && ln -sf $(ibdir)/python$(python-major-version) $(ibdir)/python \
- && ln -sf $(iidir)/python$(python-major-version)m $(iidir)/python$(python-major-version) \
- && rm -rf $(ipydir) \
- && mkdir $(ipydir) \
- && echo "Python $(python-version)" > $@
+ --enable-shared, -j$(numthreads))
+ ln -sf $(ildir)/python$(python-major-version) $(ildir)/python
+ ln -sf $(ibdir)/python$(python-major-version) $(ibdir)/python
+ ln -sf $(iidir)/python$(python-major-version)m $(iidir)/python$(python-major-version)
+ rm -rf $(ipydir)
+ mkdir $(ipydir)
+ echo "Python $(python-version)" > $@
@@ -343,22 +125,22 @@ $(ibidir)/python: $(ibidir)/libffi \
# pyhook_before: optional steps before running `python setup.py build'
# pyhook_after: optional steps after running `python setup.py install'
pybuild = cd $(ddir); rm -rf $(2); \
- if ! $(1) $(word 1,$(filter $(tdir)/%,$^)); then \
- echo; echo "Tar error"; exit 1; \
- fi; \
- cd $(2); \
- if [ "x$(strip $(3))" != x ]; then \
- sed -e 's|@LIBDIR[@]|'"$(ildir)"'|' \
- -e 's|@INCDIR[@]|'"$(idir)/include"'|' \
- $(3) > site.cfg; \
- fi; \
- if type pyhook_before &>/dev/null; then pyhook_before; fi \
- && python setup.py build \
- && python setup.py install \
- && if type pyhook_after &>/dev/null; then pyhook_after; fi \
- && cd .. \
- && rm -rf $(2) \
- && echo "$(4)" > $@
+ if ! $(1) $(tdir)/$$tarball; then \
+ echo; echo "Tar error"; exit 1; \
+ fi; \
+ cd $(2); \
+ if [ "x$(strip $(3))" != x ]; then \
+ sed -e 's|@LIBDIR[@]|'"$(ildir)"'|' \
+ -e 's|@INCDIR[@]|'"$(idir)/include"'|' \
+ $(3) > site.cfg; \
+ fi; \
+ if type pyhook_before &>/dev/null; then pyhook_before; fi; \
+ python setup.py build; \
+ python setup.py install; \
+ if type pyhook_after &>/dev/null; then pyhook_after; fi; \
+ cd ..; \
+ rm -rf $(2); \
+ echo "$(4)" > $@
@@ -368,31 +150,40 @@ pybuild = cd $(ddir); rm -rf $(2); \
# ---------------
#
# All the necessary Python modules go here.
-$(ipydir)/asn1crypto: $(ipydir)/setuptools \
- $(tdir)/asn1crypto-$(asn1crypto-version).tar.gz
+$(ipydir)/asn1crypto-$(asn1crypto-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=asn1crypto-$(asn1crypto-version).tar.gz
+ $(call import-source, $(asn1crypto-url), $(asn1crypto-checksum))
$(call pybuild, tar xf, asn1crypto-$(asn1crypto-version), , \
Asn1crypto $(asn1crypto-version))
-$(ipydir)/asteval: $(ipydir)/numpy \
- $(tdir)/asteval-$(asteval-version).tar.gz
+$(ipydir)/asteval-$(asteval-version): $(ipydir)/numpy-$(numpy-version)
+ tarball=asteval-$(asteval-version).tar.gz
+ $(call import-source, $(asteval-url), $(asteval-checksum))
$(call pybuild, tar xf, asteval-$(asteval-version), , \
ASTEVAL $(asteval-version))
-$(ipydir)/astroquery: $(ipydir)/astropy \
- $(ipydir)/keyring \
- $(ipydir)/requests \
- $(tdir)/astroquery-$(astroquery-version).tar.gz
- $(call pybuild, tar xf, astroquery-$(astroquery-version), ,\
+$(ipydir)/astroquery-$(astroquery-version): \
+ $(ipydir)/astropy-$(astropy-version) \
+ $(ipydir)/keyring-$(keyring-version) \
+ $(ipydir)/requests-$(requests-version)
+ tarball=astroquery-$(astroquery-version).tar.gz
+ $(call import-source, $(astroquery-url), $(astroquery-checksum))
+ $(call pybuild, tar xf, astroquery-$(astroquery-version), , \
Astroquery $(astroquery-version))
-$(ipydir)/astropy: $(ipydir)/h5py \
- $(ibidir)/expat \
- $(ipydir)/scipy \
- $(ipydir)/numpy \
- $(ipydir)/pyyaml \
- $(ipydir)/html5lib \
- $(ipydir)/beautifulsoup4 \
- $(tdir)/astropy-$(astropy-version).tar.gz
+$(ipydir)/astropy-$(astropy-version): \
+ $(ipydir)/h5py-$(h5py-version) \
+ $(ibidir)/expat-$(expat-version) \
+ $(ipydir)/scipy-$(scipy-version) \
+ $(ipydir)/numpy-$(numpy-version) \
+ $(ipydir)/pyyaml-$(pyyaml-version) \
+ $(ipydir)/html5lib-$(html5lib-version) \
+ $(ipydir)/beautifulsoup4-$(beautifulsoup4-version)
+
+ # Download the source.
+ tarball=astropy-$(astropy-version).tar.gz
+ $(call import-source, $(astropy-url), $(astropy-checksum))
+
# Currently, when the Expat library is already built in a project
# (for example as a dependency of another program), Astropy's
# internal building of Expat will conflict with the project's. So
@@ -404,107 +195,133 @@ $(ipydir)/astropy: $(ipydir)/h5py \
echo "[build]" >> setup.cfg
echo "use_system_expat=1" >> setup.cfg
}
- $(call pybuild, tar xf, astropy-$(astropy-version)) \
- && cp $(dtexdir)/astropy.tex $(ictdir)/ \
- && echo "Astropy $(astropy-version) \citep{astropy2013,astropy2018}" > $@
-
-$(ipydir)/beautifulsoup4: $(ipydir)/soupsieve \
- $(tdir)/beautifulsoup4-$(beautifulsoup4-version).tar.gz
- $(call pybuild, tar xf, beautifulsoup4-$(beautifulsoup4-version), ,\
+ $(call pybuild, tar xf, astropy-$(astropy-version))
+ cp $(dtexdir)/astropy.tex $(ictdir)/
+ echo "Astropy $(astropy-version) \citep{astropy2013,astropy2018}" > $@
+
+$(ipydir)/beautifulsoup4-$(beautifulsoup4-version): \
+ $(ipydir)/soupsieve-$(soupsieve-version)
+ tarball=beautifulsoup4-$(beautifulsoup4-version).tar.gz
+ $(call import-source, $(beautifulsoup4-url), $(beautifulsoup4-checksum))
+ $(call pybuild, tar xf, beautifulsoup4-$(beautifulsoup4-version), , \
BeautifulSoup $(beautifulsoup4-version))
-$(ipydir)/certifi: $(ipydir)/setuptools \
- $(tdir)/certifi-$(certifi-version).tar.gz
- $(call pybuild, tar xf, certifi-$(certifi-version), ,\
+$(ipydir)/certifi-$(certifi-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=certifi-$(certifi-version).tar.gz
+ $(call import-source, $(certifi-url), $(certifi-checksum))
+ $(call pybuild, tar xf, certifi-$(certifi-version), , \
Certifi $(certifi-version))
-$(ipydir)/cffi: $(ibidir)/libffi \
- $(ipydir)/pycparser \
- $(tdir)/cffi-$(cffi-version).tar.gz
- $(call pybuild, tar xf, cffi-$(cffi-version), ,\
- cffi $(cffi-version))
-
-$(ipydir)/chardet: $(ipydir)/setuptools \
- $(tdir)/chardet-$(chardet-version).tar.gz
- $(call pybuild, tar xf, chardet-$(chardet-version), ,\
+$(ipydir)/cffi-$(cffi-version): \
+ $(ibidir)/libffi-$(libffi-version) \
+ $(ipydir)/pycparser-$(pycparser-version)
+ tarball=cffi-$(cffi-version).tar.gz
+ $(call import-source, $(cffi-url), $(cffi-checksum))
+ $(call pybuild, tar xf, cffi-$(cffi-version), ,cffi $(cffi-version))
+
+$(ipydir)/chardet-$(chardet-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=chardet-$(chardet-version).tar.gz
+ $(call import-source, $(chardet-url), $(chardet-checksum))
+ $(call pybuild, tar xf, chardet-$(chardet-version), , \
Chardet $(chardet-version))
-$(ipydir)/corner: $(ipydir)/matplotlib \
- $(tdir)/corner-$(corner-version).tar.gz
- $(call pybuild, tar xf, corner-$(corner-version), ,\
- Corner $(corner-version)) \
- && cp $(dtexdir)/corner.tex $(ictdir)/ \
- && echo "Corner $(corner-version) \citep{corner}" > $@
-
-$(ipydir)/cryptography: $(ipydir)/cffi \
- $(ipydir)/asn1crypto \
- $(tdir)/cryptography-$(cryptography-version).tar.gz
- $(call pybuild, tar xf, cryptography-$(cryptography-version), ,\
+$(ipydir)/corner-$(corner-version): $(ipydir)/matplotlib-$(matplotlib-version)
+ tarball=corner-$(corner-version).tar.gz
+ $(call import-source, $(corner-url), $(corner-checksum))
+ $(call pybuild, tar xf, corner-$(corner-version), , \
+ Corner $(corner-version))
+ cp $(dtexdir)/corner.tex $(ictdir)/
+ echo "Corner $(corner-version) \citep{corner}" > $@
+
+$(ipydir)/cryptography-$(cryptography-version): \
+ $(ipydir)/cffi-$(cffi-version) \
+ $(ipydir)/asn1crypto-$(asn1crypto-version)
+ tarball=cryptography-$(cryptography-version).tar.gz
+ $(call import-source, $(cryptography-url), $(cryptography-checksum))
+ $(call pybuild, tar xf, cryptography-$(cryptography-version), , \
Cryptography $(cryptography-version))
-$(ipydir)/cycler: $(ipydir)/six \
- $(tdir)/cycler-$(cycler-version).tar.gz
- $(call pybuild, tar xf, cycler-$(cycler-version), ,\
+$(ipydir)/cycler-$(cycler-version): $(ipydir)/six-$(six-version)
+ tarball=cycler-$(cycler-version).tar.gz
+ $(call import-source, $(cycler-url), $(cycler-checksum))
+ $(call pybuild, tar xf, cycler-$(cycler-version), , \
Cycler $(cycler-version))
-$(ipydir)/cython: $(ipydir)/setuptools \
- $(tdir)/cython-$(cython-version).tar.gz
- $(call pybuild, tar xf, Cython-$(cython-version)) \
- && cp $(dtexdir)/cython.tex $(ictdir)/ \
- && echo "Cython $(cython-version) \citep{cython2011}" > $@
-
-$(ipydir)/esutil: $(ipydir)/numpy \
- $(tdir)/esutil-$(esutil-version).tar.gz
- $(call pybuild, tar xf, esutil-$(esutil-version), ,\
+$(ipydir)/cython-$(cython-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=cython-$(cython-version).tar.gz
+ $(call import-source, $(cython-url), $(cython-checksum))
+ $(call pybuild, tar xf, Cython-$(cython-version))
+ cp $(dtexdir)/cython.tex $(ictdir)/
+ echo "Cython $(cython-version) \citep{cython2011}" > $@
+
+$(ipydir)/esutil-$(esutil-version): $(ipydir)/numpy-$(numpy-version)
+ tarball=esutil-$(esutil-version).tar.gz
+ $(call import-source, $(esutil-url), $(esutil-checksum))
+ $(call pybuild, tar xf, esutil-$(esutil-version), , \
esutil $(esutil-version))
-$(ipydir)/eigency: $(ibidir)/eigen \
- $(tdir)/eigency-$(eigency-version).tar.gz
- $(call pybuild, tar xf, eigency-$(eigency-version), ,\
+$(ipydir)/eigency-$(eigency-version): \
+ $(ipydir)/numpy-$(numpy-version) \
+ $(ibidir)/eigen-$(eigen-version) \
+ $(ipydir)/cython-$(cython-version)
+ tarball=eigency-$(eigency-version).tar.gz
+ $(call import-source, $(eigency-url), $(eigency-checksum))
+ $(call pybuild, tar xf, eigency-$(eigency-version), , \
eigency $(eigency-version))
-$(ipydir)/emcee: $(ipydir)/numpy \
- $(ipydir)/setuptools_scm \
- $(tdir)/emcee-$(emcee-version).tar.gz
- $(call pybuild, tar xf, emcee-$(emcee-version), ,\
+$(ipydir)/emcee-$(emcee-version): \
+ $(ipydir)/numpy-$(numpy-version) \
+ $(ipydir)/setuptools_scm-$(setuptools_scm-version)
+ tarball=emcee-$(emcee-version).tar.gz
+ $(call import-source, $(emcee-url), $(emcee-checksum))
+ $(call pybuild, tar xf, emcee-$(emcee-version), , \
emcee $(emcee-version))
-$(ipydir)/entrypoints: $(ipydir)/setuptools \
- $(tdir)/entrypoints-$(entrypoints-version).tar.gz
- $(call pybuild, tar xf, entrypoints-$(entrypoints-version), ,\
+$(ipydir)/entrypoints-$(entrypoints-version): \
+ $(ipydir)/setuptools-$(setuptools-version)
+ tarball=entrypoints-$(entrypoints-version).tar.gz
+ $(call import-source, $(entrypoints-url), $(entrypoints-checksum))
+ $(call pybuild, tar xf, entrypoints-$(entrypoints-version), , \
EntryPoints $(entrypoints-version))
-$(ipydir)/flake8: $(ipydir)/pyflakes \
- $(ipydir)/pycodestyle \
- $(tdir)/flake8-$(flake8-version).tar.gz
- $(call pybuild, tar xf, flake8-$(flake8-version), ,\
+$(ipydir)/flake8-$(flake8-version): \
+ $(ipydir)/pyflakes-$(pyflakes-version) \
+ $(ipydir)/pycodestyle-$(pycodestyle-version)
+ tarball=flake8-$(flake8-version).tar.gz
+ $(call import-source, $(flake8-url), $(flake8-checksum))
+ $(call pybuild, tar xf, flake8-$(flake8-version), , \
Flake8 $(flake8-version))
-$(ipydir)/future: $(ipydir)/setuptools \
- $(tdir)/future-$(future-version).tar.gz
- $(call pybuild, tar xf, future-$(future-version), ,\
+$(ipydir)/future-$(future-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=future-$(future-version).tar.gz
+ $(call import-source, $(future-url), $(future-checksum))
+ $(call pybuild, tar xf, future-$(future-version), , \
Future $(future-version))
-$(ipydir)/galsim: $(ipydir)/future \
- $(ipydir)/astropy \
- $(ipydir)/eigency \
- $(ipydir)/pybind11 \
- $(ipydir)/lsstdesccoord \
- $(tdir)/galsim-$(galsim-version).tar.gz
- $(call pybuild, tar xf, GalSim-$(galsim-version)) \
- && cp $(dtexdir)/galsim.tex $(ictdir)/ \
- && echo "Galsim $(galsim-version) \citep{galsim}" > $@
-
-$(ipydir)/h5py: $(ipydir)/six \
- $(ibidir)/hdf5 \
- $(ipydir)/numpy \
- $(ipydir)/cython \
- $(ipydir)/mpi4py \
- $(ipydir)/pypkgconfig \
- $(tdir)/h5py-$(h5py-version).tar.gz
- export HDF5_MPI=ON; \
- export HDF5_DIR=$(ildir); \
- $(call pybuild, tar xf, h5py-$(h5py-version), ,\
+$(ipydir)/galsim-$(galsim-version): \
+ $(ipydir)/future-$(future-version) \
+ $(ipydir)/astropy-$(astropy-version) \
+ $(ipydir)/eigency-$(eigency-version) \
+ $(ipydir)/pybind11-$(pybind11-version) \
+ $(ipydir)/lsstdesccoord-$(lsstdesccoord-version)
+ tarball=galsim-$(galsim-version).tar.gz
+ $(call import-source, $(galsim-url), $(galsim-checksum))
+ $(call pybuild, tar xf, GalSim-$(galsim-version))
+ cp $(dtexdir)/galsim.tex $(ictdir)/
+ echo "Galsim $(galsim-version) \citep{galsim}" > $@
+
+$(ipydir)/h5py-$(h5py-version): \
+ $(ipydir)/six-$(six-version) \
+ $(ibidir)/hdf5-$(hdf5-version) \
+ $(ipydir)/numpy-$(numpy-version) \
+ $(ipydir)/cython-$(cython-version) \
+ $(ipydir)/mpi4py-$(mpi4py-version) \
+ $(ipydir)/pypkgconfig-$(pypkgconfig-version)
+ export HDF5_MPI=ON
+ export HDF5_DIR=$(ildir)
+ tarball=h5py-$(h5py-version).tar.gz
+ $(call import-source, $(h5py-url), $(h5py-checksum))
+ $(call pybuild, tar xf, h5py-$(h5py-version), , \
h5py $(h5py-version))
# `healpy' is actually installed as part of the HEALPix package. It will be
@@ -514,231 +331,283 @@ $(ipydir)/h5py: $(ipydir)/six \
# and just ask for `healpy'. To avoid confusion in such cases, we'll just
# set `healpy' to be dependent on `healpix' and not download any tarball
# for it, or write anything in the final target.
-$(ipydir)/healpy: $(ibidir)/healpix
+$(ipydir)/healpy-$(healpy-version): $(ibidir)/healpix-$(healpy-version)
touch $@
-$(ipydir)/html5lib: $(ipydir)/six \
- $(ipydir)/webencodings \
- $(tdir)/html5lib-$(html5lib-version).tar.gz
- $(call pybuild, tar xf, html5lib-$(html5lib-version), ,\
+$(ipydir)/html5lib-$(html5lib-version): \
+ $(ipydir)/six-$(six-version) \
+ $(ipydir)/webencodings-$(webencodings-version)
+ tarball=html5lib-$(html5lib-version).tar.gz
+ $(call import-source, $(html5lib-url), $(html5lib-checksum))
+ $(call pybuild, tar xf, html5lib-$(html5lib-version), , \
HTML5lib $(html5lib-version))
-$(ipydir)/idna: $(ipydir)/setuptools \
- $(tdir)/idna-$(idna-version).tar.gz
- $(call pybuild, tar xf, idna-$(idna-version), ,\
+$(ipydir)/idna-$(idna-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=idna-$(idna-version).tar.gz
+ $(call import-source, $(idna-url), $(idna-checksum))
+ $(call pybuild, tar xf, idna-$(idna-version), , \
idna $(idna-version))
-$(ipydir)/jeepney: $(ipydir)/setuptools \
- $(tdir)/jeepney-$(jeepney-version).tar.gz
- $(call pybuild, tar xf, jeepney-$(jeepney-version), ,\
+$(ipydir)/jeepney-$(jeepney-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=jeepney-$(jeepney-version).tar.gz
+ $(call import-source, $(jeepney-url), $(jeepney-checksum))
+ $(call pybuild, tar xf, jeepney-$(jeepney-version), , \
Jeepney $(jeepney-version))
-$(ipydir)/keyring: $(ipydir)/entrypoints \
- $(ipydir)/secretstorage \
- $(ipydir)/setuptools_scm \
- $(tdir)/keyring-$(keyring-version).tar.gz
- $(call pybuild, tar xf, keyring-$(keyring-version), ,\
+$(ipydir)/keyring-$(keyring-version): \
+ $(ipydir)/entrypoints-$(entrypoints-version) \
+ $(ipydir)/secretstorage-$(secretstorage-version) \
+ $(ipydir)/setuptools_scm-$(setuptools_scm-version)
+ tarball=keyring-$(keyring-version).tar.gz
+ $(call import-source, $(keyring-url), $(keyring-checksum))
+ $(call pybuild, tar xf, keyring-$(keyring-version), , \
Keyring $(keyring-version))
-$(ipydir)/kiwisolver: $(ipydir)/setuptools \
- $(tdir)/kiwisolver-$(kiwisolver-version).tar.gz
- $(call pybuild, tar xf, kiwisolver-$(kiwisolver-version), ,\
+$(ipydir)/kiwisolver-$(kiwisolver-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=kiwisolver-$(kiwisolver-version).tar.gz
+ $(call import-source, $(kiwisolver-url), $(kiwisolver-checksum))
+ $(call pybuild, tar xf, kiwisolver-$(kiwisolver-version), , \
Kiwisolver $(kiwisolver-version))
-$(ipydir)/lmfit: $(ipydir)/six \
- $(ipydir)/scipy \
- $(ipydir)/emcee \
- $(ipydir)/corner \
- $(ipydir)/asteval \
- $(ipydir)/matplotlib \
- $(ipydir)/uncertainties \
- $(tdir)/lmfit-$(lmfit-version).tar.gz
- $(call pybuild, tar xf, lmfit-$(lmfit-version), ,\
+$(ipydir)/lmfit-$(lmfit-version): \
+ $(ipydir)/six-$(six-version) \
+ $(ipydir)/scipy-$(scipy-version) \
+ $(ipydir)/emcee-$(emcee-version) \
+ $(ipydir)/corner-$(corner-version) \
+ $(ipydir)/asteval-$(asteval-version) \
+ $(ipydir)/matplotlib-$(matplotlib-version) \
+ $(ipydir)/uncertainties-$(uncertainties-version)
+ tarball=lmfit-$(lmfit-version).tar.gz
+ $(call import-source, $(lmfit-url), $(lmfit-checksum))
+ $(call pybuild, tar xf, lmfit-$(lmfit-version), , \
LMFIT $(lmfit-version))
-$(ipydir)/lsstdesccoord: $(ipydir)/setuptools \
- $(tdir)/lsstdesccoord-$(lsstdesccoord-version).tar.gz
- $(call pybuild, tar xf, LSSTDESC.Coord-$(lsstdesccoord-version), ,\
+$(ipydir)/lsstdesccoord-$(lsstdesccoord-version): \
+ $(ipydir)/setuptools-$(setuptools-version)
+ tarball=lsstdesccoord-$(lsstdesccoord-version).tar.gz
+ $(call import-source, $(lsstdesccoord-url), $(lsstdesccoord-checksum))
+ $(call pybuild, tar xf, LSSTDESC.Coord-$(lsstdesccoord-version), , \
LSSTDESC.Coord $(lsstdesccoord-version))
-$(ipydir)/matplotlib: $(ipydir)/numpy \
- $(ipydir)/cycler \
- $(itidir)/texlive \
- $(ibidir)/freetype \
- $(ipydir)/pyparsing \
- $(ipydir)/kiwisolver \
- $(ibidir)/ghostscript \
- $(ibidir)/imagemagick \
- $(ipydir)/python-dateutil \
- $(tdir)/matplotlib-$(matplotlib-version).tar.gz
+$(ipydir)/matplotlib-$(matplotlib-version): \
+ $(itidir)/texlive \
+ $(ipydir)/numpy-$(numpy-version) \
+ $(ipydir)/cycler-$(cycler-version) \
+ $(ibidir)/freetype-$(freetype-version) \
+ $(ipydir)/pyparsing-$(pyparsing-version) \
+ $(ipydir)/kiwisolver-$(kiwisolver-version) \
+ $(ibidir)/ghostscript-$(ghostscript-version) \
+ $(ibidir)/imagemagick-$(imagemagick-version) \
+ $(ipydir)/python-dateutil-$(python-dateutil-version)
+
+ # Download the source.
+ tarball=matplotlib-$(matplotlib-version).tar.gz
+ $(call import-source, $(matplotlib-url), $(matplotlib-checksum))
+
# On Mac systems, the build complains about `clang' specific
# features, so we can't use our own GCC build here.
- if [ x$(on_mac_os) = xyes ]; then \
- export CC=clang; \
- export CXX=clang++; \
- fi; \
- $(call pybuild, tar xf, matplotlib-$(matplotlib-version)) \
- && cp $(dtexdir)/matplotlib.tex $(ictdir)/ \
- && echo "Matplotlib $(matplotlib-version) \citep{matplotlib2007}" > $@
-
-$(ipydir)/mpi4py: $(ibidir)/openmpi \
- $(ipydir)/setuptools \
- $(tdir)/mpi4py-$(mpi4py-version).tar.gz
- $(call pybuild, tar xf, mpi4py-$(mpi4py-version)) \
- && cp $(dtexdir)/mpi4py.tex $(ictdir)/ \
- && echo "mpi4py $(mpi4py-version) \citep{mpi4py2011}" > $@
-
-$(ipydir)/mpmath: $(ipydir)/setuptools \
- $(tdir)/mpmath-$(mpmath-version).tar.gz
- $(call pybuild, tar xf, mpmath-$(mpmath-version), ,\
+ if [ x$(on_mac_os) = xyes ]; then
+ export CC=clang
+ export CXX=clang++
+ fi
+ $(call pybuild, tar xf, matplotlib-$(matplotlib-version))
+ cp $(dtexdir)/matplotlib.tex $(ictdir)/
+ echo "Matplotlib $(matplotlib-version) \citep{matplotlib2007}" > $@
+
+$(ipydir)/mpi4py-$(mpi4py-version): \
+ $(ibidir)/openmpi-$(openmpi-version) \
+ $(ipydir)/setuptools-$(setuptools-version)
+ tarball=mpi4py-$(mpi4py-version).tar.gz
+ $(call import-source, $(mpi4py-url), $(mpi4py-checksum))
+ $(call pybuild, tar xf, mpi4py-$(mpi4py-version))
+ cp $(dtexdir)/mpi4py.tex $(ictdir)/
+ echo "mpi4py $(mpi4py-version) \citep{mpi4py2011}" > $@
+
+$(ipydir)/mpmath-$(mpmath-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=mpmath-$(mpmath-version).tar.gz
+ $(call import-source, $(mpmath-url), $(mpmath-checksum))
+ $(call pybuild, tar xf, mpmath-$(mpmath-version), , \
mpmath $(mpmath-version))
-$(ipydir)/numpy: $(ibidir)/unzip \
- $(ibidir)/openblas \
- $(ipydir)/setuptools \
- $(tdir)/numpy-$(numpy-version).zip
- if [ x$(on_mac_os) = xyes ]; then \
- export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"; \
- else \
- export LDFLAGS="$(LDFLAGS) -shared"; \
- fi; \
- export CFLAGS="--std=c99 $$CFLAGS"; \
- conf="$$(pwd)/reproduce/software/config/numpy-scipy.cfg"; \
+$(ipydir)/numpy-$(numpy-version): \
+ $(ibidir)/unzip-$(unzip-version) \
+ $(ibidir)/openblas-$(openblas-version) \
+ $(ipydir)/setuptools-$(setuptools-version)
+ tarball=numpy-$(numpy-version).zip
+ $(call import-source, $(numpy-url), $(numpy-checksum))
+ if [ x$(on_mac_os) = xyes ]; then
+ export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"
+ else
+ export LDFLAGS="$(LDFLAGS) -shared"
+ fi
+ export CFLAGS="--std=c99 $$CFLAGS"
+ conf="$$(pwd)/reproduce/software/config/numpy-scipy.cfg"
$(call pybuild, unzip, numpy-$(numpy-version),$$conf, \
- Numpy $(numpy-version)) \
- && cp $(dtexdir)/numpy.tex $(ictdir)/ \
- && echo "Numpy $(numpy-version) \citep{numpy2011}" > $@
-
-$(ipydir)/pexpect: $(ipydir)/setuptools \
- $(tdir)/pexpect-$(pexpect-version).tar.gz
- $(call pybuild, tar xf, pexpect-$(pexpect-version), ,\
+ Numpy $(numpy-version))
+ cp $(dtexdir)/numpy.tex $(ictdir)/
+ echo "Numpy $(numpy-version) \citep{numpy2011}" > $@
+
+$(ipydir)/pexpect-$(pexpect-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=pexpect-$(pexpect-version).tar.gz
+ $(call import-source, $(pexpect-url), $(pexpect-checksum))
+ $(call pybuild, tar xf, pexpect-$(pexpect-version), , \
Pexpect $(pexpect-version))
-$(ibidir)/pip3: $(ipydir)/setuptools \
- $(tdir)/pip-$(pip-version).tar.gz
- $(call pybuild, tar xf, pip-$(pip-version), ,\
+$(ipydir)/pip-$(pip-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=pip-$(pip-version).tar.gz
+ $(call import-source, $(pip-url), $(pip-checksum))
+ $(call pybuild, tar xf, pip-$(pip-version), , \
PiP $(pip-version))
-$(ipydir)/pycodestyle: $(ipydir)/setuptools \
- $(tdir)/pycodestyle-$(pycodestyle-version).tar.gz
- $(call pybuild, tar xf, pycodestyle-$(pycodestyle-version), ,\
+$(ipydir)/pycodestyle-$(pycodestyle-version): \
+ $(ipydir)/setuptools-$(setuptools-version)
+ tarball=pycodestyle-$(pycodestyle-version).tar.gz
+ $(call import-source, $(pycodestyle-url), $(pycodestyle-checksum))
+ $(call pybuild, tar xf, pycodestyle-$(pycodestyle-version), , \
pycodestyle $(pycodestyle-version))
-$(ipydir)/pybind11: $(ibidir)/eigen \
- $(ibidir)/boost \
- $(ipydir)/setuptools \
- $(tdir)/pybind11-$(pybind11-version).tar.gz
+$(ipydir)/pybind11-$(pybind11-version): \
+ $(ibidir)/eigen-$(eigen-version) \
+ $(ibidir)/boost-$(boost-version) \
+ $(ipydir)/setuptools-$(setuptools-version)
+ tarball=pybind11-$(pybind11-version).tar.gz
+ $(call import-source, $(pybind11-url), $(pybind11-checksum))
pyhook_after() {
cp -r include/pybind11 $(iidir)/python$(python-major-version)m/
}
- $(call pybuild, tar xf, pybind11-$(pybind11-version), ,\
+ $(call pybuild, tar xf, pybind11-$(pybind11-version), , \
pybind11 $(pybind11-version))
-$(ipydir)/pycparser: $(ipydir)/setuptools \
- $(tdir)/pycparser-$(pycparser-version).tar.gz
- $(call pybuild, tar xf, pycparser-$(pycparser-version), ,\
+$(ipydir)/pycparser-$(pycparser-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=pycparser-$(pycparser-version).tar.gz
+ $(call import-source, $(pycparser-url), $(pycparser-checksum))
+ $(call pybuild, tar xf, pycparser-$(pycparser-version), , \
pycparser $(pycparser-version))
-$(ipydir)/pyflakes: $(ipydir)/setuptools \
- $(tdir)/pyflakes-$(pyflakes-version).tar.gz
- $(call pybuild, tar xf, pyflakes-$(pyflakes-version), ,\
+$(ipydir)/pyflakes-$(pyflakes-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=pyflakes-$(pyflakes-version).tar.gz
+ $(call import-source, $(pyflakes-url), $(pyflakes-checksum))
+ $(call pybuild, tar xf, pyflakes-$(pyflakes-version), , \
pyflakes $(pyflakes-version))
-$(ipydir)/pyparsing: $(ipydir)/setuptools \
- $(tdir)/pyparsing-$(pyparsing-version).tar.gz
- $(call pybuild, tar xf, pyparsing-$(pyparsing-version), ,\
+$(ipydir)/pyparsing-$(pyparsing-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=pyparsing-$(pyparsing-version).tar.gz
+ $(call import-source, $(pyparsing-url), $(pyparsing-checksum))
+ $(call pybuild, tar xf, pyparsing-$(pyparsing-version), , \
PyParsing $(pyparsing-version))
-$(ipydir)/pypkgconfig: $(ipydir)/setuptools \
- $(tdir)/pkgconfig-$(pypkgconfig-version).tar.gz
+$(ipydir)/pypkgconfig-$(pypkgconfig-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=pkgconfig-$(pypkgconfig-version).tar.gz
+ $(call import-source, $(pypkgconfig-url), $(pypkgconfig-checksum))
$(call pybuild, tar xf, pkgconfig-$(pypkgconfig-version), ,
pkgconfig $(pypkgconfig-version))
-$(ipydir)/python-dateutil: $(ipydir)/six \
- $(ipydir)/setuptools_scm \
- $(tdir)/python-dateutil-$(python-dateutil-version).tar.gz
- $(call pybuild, tar xf, python-dateutil-$(python-dateutil-version), ,\
+$(ipydir)/python-dateutil-$(python-dateutil-version): \
+ $(ipydir)/six-$(six-version) \
+ $(ipydir)/setuptools_scm-$(setuptools_scm-version)
+ tarball=python-dateutil-$(python-dateutil-version).tar.gz
+ $(call import-source, $(python-dateutil-url), $(python-dateutil-checksum))
+ $(call pybuild, tar xf, python-dateutil-$(python-dateutil-version), , \
python-dateutil $(python-dateutil-version))
-$(ipydir)/pyyaml: $(ibidir)/yaml \
- $(ipydir)/cython \
- $(tdir)/pyyaml-$(pyyaml-version).tar.gz
- $(call pybuild, tar xf, PyYAML-$(pyyaml-version), ,\
+$(ipydir)/pyyaml-$(pyyaml-version): \
+ $(ibidir)/yaml-$(yaml-version) \
+ $(ipydir)/cython-$(cython-version)
+ tarball=pyyaml-$(pyyaml-version).tar.gz
+ $(call import-source, $(pyyaml-url), $(pyyaml-checksum))
+ $(call pybuild, tar xf, PyYAML-$(pyyaml-version), , \
PyYAML $(pyyaml-version))
-$(ipydir)/requests: $(ipydir)/idna \
- $(ipydir)/numpy \
- $(ipydir)/certifi \
- $(ipydir)/chardet \
- $(ipydir)/urllib3 \
- $(tdir)/requests-$(requests-version).tar.gz
- $(call pybuild, tar xf, requests-$(requests-version), ,\
+$(ipydir)/requests-$(requests-version): $(ipydir)/idna-$(idna-version) \
+ $(ipydir)/numpy-$(numpy-version) \
+ $(ipydir)/certifi-$(certifi-version) \
+ $(ipydir)/chardet-$(chardet-version) \
+ $(ipydir)/urllib3-$(urllib3-version)
+ tarball=requests-$(requests-version).tar.gz
+ $(call import-source, $(requests-url), $(requests-checksum))
+ $(call pybuild, tar xf, requests-$(requests-version), , \
Requests $(requests-version))
-$(ipydir)/scipy: $(ipydir)/numpy \
- $(tdir)/scipy-$(scipy-version).tar.gz
- if [ x$(on_mac_os) = xyes ]; then \
- export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"; \
- else \
- export LDFLAGS="$(LDFLAGS) -shared"; \
- fi; \
- conf="$$(pwd)/reproduce/software/config/numpy-scipy.cfg"; \
- $(call pybuild, tar xf, scipy-$(scipy-version),$$conf) \
- && cp $(dtexdir)/scipy.tex $(ictdir)/ \
- && echo "Scipy $(scipy-version) \citep{scipy2007,scipy2011}" > $@
-
-$(ipydir)/secretstorage: $(ipydir)/jeepney \
- $(ipydir)/cryptography \
- $(tdir)/secretstorage-$(secretstorage-version).tar.gz
- $(call pybuild, tar xf, SecretStorage-$(secretstorage-version), ,\
+$(ipydir)/scipy-$(scipy-version): $(ipydir)/numpy-$(numpy-version)
+ tarball=scipy-$(scipy-version).tar.gz
+ $(call import-source, $(scipy-url), $(scipy-checksum))
+ if [ x$(on_mac_os) = xyes ]; then
+ export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"
+ else
+ export LDFLAGS="$(LDFLAGS) -shared"
+ fi
+ conf="$$(pwd)/reproduce/software/config/numpy-scipy.cfg"
+ $(call pybuild, tar xf, scipy-$(scipy-version),$$conf)
+ cp $(dtexdir)/scipy.tex $(ictdir)/
+ echo "Scipy $(scipy-version) \citep{scipy2007,scipy2011}" > $@
+
+$(ipydir)/secretstorage-$(secretstorage-version): \
+ $(ipydir)/jeepney-$(jeepney-version) \
+ $(ipydir)/cryptography-$(cryptography-version)
+ tarball=secretstorage-$(secretstorage-version).tar.gz
+ $(call import-source, $(secretstorage-url), $(secretstorage-checksum))
+ $(call pybuild, tar xf, SecretStorage-$(secretstorage-version), , \
SecretStorage $(secretstorage-version))
-$(ipydir)/setuptools: $(ibidir)/unzip \
- $(ibidir)/python \
- $(tdir)/setuptools-$(setuptools-version).zip
- $(call pybuild, unzip, setuptools-$(setuptools-version), ,\
+$(ipydir)/setuptools-$(setuptools-version): \
+ $(ibidir)/unzip-$(unzip-version) \
+ $(ibidir)/python-$(python-version)
+ tarball=setuptools-$(setuptools-version).zip
+ $(call import-source, $(setuptools-url), $(setuptools-checksum))
+ $(call pybuild, unzip, setuptools-$(setuptools-version), , \
Setuptools $(setuptools-version))
-$(ipydir)/setuptools_scm: $(ipydir)/setuptools \
- $(tdir)/setuptools_scm-$(setuptools_scm-version).tar.gz
- $(call pybuild, tar xf, setuptools_scm-$(setuptools_scm-version), ,\
+$(ipydir)/setuptools_scm-$(setuptools_scm-version): \
+ $(ipydir)/setuptools-$(setuptools-version)
+ tarball=setuptools_scm-$(setuptools_scm-version).tar.gz
+ $(call import-source, $(setuptools_scm-url), $(setuptools_scm-checksum))
+ $(call pybuild, tar xf, setuptools_scm-$(setuptools_scm-version), , \
Setuptools-scm $(setuptools_scm-version))
-$(ipydir)/sip_tpv: $(ipydir)/sympy \
- $(ipydir)/astropy \
- $(tdir)/sip_tpv-$(sip_tpv-version).tar.gz
- $(call pybuild, tar xf, sip_tpv-$(sip_tpv-version), ,) \
- && cp $(dtexdir)/sip_tpv.tex $(ictdir)/ \
- && echo "sip_tpv $(sip_tpv-version) \citep{sip-tpv}" > $@
+$(ipydir)/sip_tpv-$(sip_tpv-version): \
+ $(ipydir)/sympy-$(sympy-version) \
+ $(ipydir)/astropy-$(astropy-version)
+ tarball=sip_tpv-$(sip_tpv-version).tar.gz
+ $(call import-source, $(sip_tpv-url), $(sip_tpv-checksum))
+ $(call pybuild, tar xf, sip_tpv-$(sip_tpv-version), ,)
+ cp $(dtexdir)/sip_tpv.tex $(ictdir)/
+ echo "sip_tpv $(sip_tpv-version) \citep{sip-tpv}" > $@
-$(ipydir)/six: $(ipydir)/setuptools \
- $(tdir)/six-$(six-version).tar.gz
- $(call pybuild, tar xf, six-$(six-version), ,\
+$(ipydir)/six-$(six-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=six-$(six-version).tar.gz
+ $(call import-source, $(six-url), $(six-checksum))
+ $(call pybuild, tar xf, six-$(six-version), , \
Six $(six-version))
-$(ipydir)/soupsieve: $(ipydir)/setuptools \
- $(tdir)/soupsieve-$(soupsieve-version).tar.gz
- $(call pybuild, tar xf, soupsieve-$(soupsieve-version), ,\
+$(ipydir)/soupsieve-$(soupsieve-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=soupsieve-$(soupsieve-version).tar.gz
+ $(call import-source, $(soupsieve-url), $(soupsieve-checksum))
+ $(call pybuild, tar xf, soupsieve-$(soupsieve-version), , \
SoupSieve $(soupsieve-version))
-$(ipydir)/sympy: $(ipydir)/mpmath \
- $(tdir)/sympy-$(sympy-version).tar.gz
- $(call pybuild, tar xf, sympy-$(sympy-version), ,) \
- && cp $(dtexdir)/sympy.tex $(ictdir)/ \
- && echo "SymPy $(sympy-version) \citep{sympy}" > $@
-
-$(ipydir)/uncertainties: $(ipydir)/numpy \
- $(tdir)/uncertainties-$(uncertainties-version).tar.gz
- $(call pybuild, tar xf, uncertainties-$(uncertainties-version), ,\
+$(ipydir)/sympy-$(sympy-version): $(ipydir)/mpmath-$(mpmath-version)
+ tarball=sympy-$(sympy-version).tar.gz
+ $(call import-source, $(sympy-url), $(sympy-checksum))
+ $(call pybuild, tar xf, sympy-$(sympy-version), ,)
+ cp $(dtexdir)/sympy.tex $(ictdir)/
+ echo "SymPy $(sympy-version) \citep{sympy}" > $@
+
+$(ipydir)/uncertainties-$(uncertainties-version): $(ipydir)/numpy-$(numpy-version)
+ tarball=uncertainties-$(uncertainties-version).tar.gz
+ $(call import-source, $(uncertainties-url), $(uncertainties-checksum))
+ $(call pybuild, tar xf, uncertainties-$(uncertainties-version), , \
uncertainties $(uncertainties-version))
-$(ipydir)/urllib3: $(ipydir)/setuptools \
- $(tdir)/urllib3-$(urllib3-version).tar.gz
- $(call pybuild, tar xf, urllib3-$(urllib3-version), ,\
+$(ipydir)/urllib3-$(urllib3-version): $(ipydir)/setuptools-$(setuptools-version)
+ tarball=urllib3-$(urllib3-version).tar.gz
+ $(call import-source, $(urllib3-url), $(urllib3-checksum))
+ $(call pybuild, tar xf, urllib3-$(urllib3-version), , \
Urllib3 $(urllib3-version))
-$(ipydir)/webencodings: $(ipydir)/setuptools \
- $(tdir)/webencodings-$(webencodings-version).tar.gz
- $(call pybuild, tar xf, webencodings-$(webencodings-version), ,\
+$(ipydir)/webencodings-$(webencodings-version): \
+ $(ipydir)/setuptools-$(setuptools-version)
+ tarball=webencodings-$(webencodings-version).tar.gz
+ $(call import-source, $(webencodings-url), $(webencodings-checksum))
+ $(call pybuild, tar xf, webencodings-$(webencodings-version), , \
Webencodings $(webencodings-version))