aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce/software')
-rw-r--r--reproduce/software/bibtex/galsim.tex27
-rw-r--r--reproduce/software/config/installation/checksums.mk9
-rw-r--r--reproduce/software/config/installation/versions.mk9
-rw-r--r--reproduce/software/make/python.mk112
4 files changed, 144 insertions, 13 deletions
diff --git a/reproduce/software/bibtex/galsim.tex b/reproduce/software/bibtex/galsim.tex
new file mode 100644
index 0000000..abd70ff
--- /dev/null
+++ b/reproduce/software/bibtex/galsim.tex
@@ -0,0 +1,27 @@
+%% Copyright (C) 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.
+
+@ARTICLE{galsim,
+ author = {{Rowe}, B.~T.~P. and {Jarvis}, M. and {Mandelbaum}, R. and
+ {Bernstein}, G.~M. and {Bosch}, J. and {Simet}, M. and {Meyers}, J.~E. and
+ {Kacprzak}, T. and {Nakajima}, R. and {Zuntz}, J. and {Miyatake}, H. and
+ {Dietrich}, J.~P. and {Armstrong}, R. and {Melchior}, P. and
+ {Gill}, M.~S.~S.},
+ title = "{GALSIM: The modular galaxy image simulation toolkit}",
+ journal = {Astronomy and Computing},
+ keywords = {Methods: data analysis, Techniques: image processing, Gravitational lensing, Cosmology: observations, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Cosmology and Nongalactic Astrophysics, 85-04},
+ year = "2015",
+ month = "Apr",
+ volume = {10},
+ pages = {121-150},
+ doi = {10.1016/j.ascom.2015.02.002},
+archivePrefix = {arXiv},
+ eprint = {1407.7676},
+ primaryClass = {astro-ph.IM},
+ adsurl = {https://ui.adsabs.harvard.edu/abs/2015A&C....10..121R},
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System}
+}
diff --git a/reproduce/software/config/installation/checksums.mk b/reproduce/software/config/installation/checksums.mk
index 39c8a7f..d1b900d 100644
--- a/reproduce/software/config/installation/checksums.mk
+++ b/reproduce/software/config/installation/checksums.mk
@@ -141,19 +141,28 @@ chardet-checksum = 61a03b23447a2bfe52ceed4dd1b9afdb5784da1933a623776883ee9f297e3
cryptography-checksum = f14319e24d9dca52e74548cada5b78a6235f089ef875dbff4799e862f94da8b087f1b6e03e84dcef9fc7d7693c4a349c5f0cd54b8535806da777420ce8757d39
cycler-checksum = b7d2ba19861ffaf4dea0444bfe68b5a6264a022d7b3f02c9ff5e5859e3901de12a90f8dc7469e995e09c418515b3df55dbf05a0cfe5368d40790a2c878a74819
cython-checksum = bb8095b438a7d2567b8b831628fbb32c02299c866e41113da62fb5a5d4982dc0df947a9f723a82c52086806435d8f3518e78a803166149d476f81e042a12494e
+eigency-checksum = 1e7cdfc43071da5edba30a0d32cd655442b516f15c166b049a195d151dec8c20a2177ad69bed3bba4788a668fa25a4c551ef4990717ff98d5b2f407bffb214c8
entrypoints-checksum = aa1274362d3a4b00266103319ca51aa266605b4999c89a9d0673eb61bfae9e646cb0ec6b86c95544493f6fe048385a2c7641d64adca8f45815546fb1e663c858
+esutil-checksum = c1cf8e7912b16dc675fdc7195ecc2bbffcd156c1257b2df45afdf09cc487c49f2e18a66cd5520ab30c77e60abb8ca802e327075bdd0f23eb634cc4f5a7e974f3
+flake8-checksum = a25076bb7f978ca23af0f2016b30bf5fe4680371b4c0939361a6f8c496f3c846cf98ecadee35fc2dedd588116c8cd982529972dd2411ab139621912b69132a1e
+future-checksum = c70565a660cf87c5e7e994bae0d4eb0b2b8b607ecb5ce65521c027bf0a39ce5699f0578413bd3c7edd5d01aeb1617de48dcea098a9e9021d8487a73007573030
+galsim-checksum = 11ecbfb9628cf85a4c25024c6f3a34bbdadf522f64e4e93e6428b545c65a48906a05eb7774d0faaacf52a48dddfd599bfc7cc7252ca854a18c3930f116533a3c
h5py-checksum = 73b1f59e3e2b3eceebf7b97e49bd8f5199afafd7ef29917af05ff8415c2f2129a5c59db9658944370c9bcf8fc04ab26948ee27fc6fd948a22d19cace1ce8c853
html5lib-checksum = 35939b4450893864da04e735ee5e0addacf1dd34bae6a6909c76572abf6bfded446a78a713dfde91c1485ba45867d7abeb6a45cf0545c16ea968707be7de5dd2
idna-checksum = 8ca5cfe6350c51250bafdac7c6e4ddd54c4a5d6bf7acbcef896760a759868c8e9df1fdf550121d8512fa3eb316dcf031ec6058e03b4f66eadee21b63e2187d33
jeepney-checksum = 43083994a7c6af84a5a68d3ff8f6dc4d9129ce9fa55517838fb62d9f62bb78bdf52067649d0b95d08d689b7d7475cb9b2a956662e265a776ad42dcf4ccc0ab63
keyring-checksum = 3863f2cd89131d7e927e55691b4eb4b7c2599af189525293d0948aef5215efbbbd74d45db3cd4885ba5b18a79f0fa0b0edc3783a020a6702f6a6fb7ed86b2cf2
kiwisolver-checksum = 80ed3d7429a2ed4944aa09766bebac2709a3a0e0a184ff414f04bf3c7ec3034ea7d0f70dff319922b870dedaf13d64fc87eff86a82e720ec93a2510885ad738d
+lsstdesccoord-checksum = a66b8b702cd8122f0c8aee05abe0fc0c6299f8bdb99b151f54bd7ad7430d6bc9f843f7294a7f08f3ce9f8606ea0ced0796a63b79cc8a53ae73068b691e2e6871
matplotlib-checksum = d44729028b91523c7ed2659e7ce7e9c2022ff322c3804e1ca16c9f64038f21d63ebf74a4da4239605cfb9c65729bf519360ac7f2a25dc70daa6fdcfa9c610c31
mpi4py-checksum = 0a18332fd45e8e80b8dab0761fbaa30444a0d55776af7a2333be17ade827e92d04ac5bb8619ce26937142f344f75de0e5ef6dcb7502f33389716aa9482ddf5ab
mpmath-checksum = 58c69a801f65d73cc0eeb0d2c79277ed638568c656e7213d06ab4709c218aac908b2752377139010bed0e91bbfff01d129c60835ff0a928ba1185aded6de7c0a
numpy-checksum = 3f7691de2b3c5423b9bf55f51ba961bf9931b13c59da80f406a1b50fcf1aa4174db948eb7e450c851c98eb7406f8b7da373df48fb07b0e577638360affad40ee
pip-checksum = c6e13da3a57462371d32982c80575c5181592f5c6a8e70d60ec879e689442f4ad468e7aef97eb58c9da50a5a770385aa35e701eefd713a8e9fafeb12e11d956b
+pybind11-checksum = 97b6ffb38dbda8021e8265c2052df65785d532dbcd94a2b711306f806eab1a9e2aaf31ea466f13eb5784856ac69e0f4c1dc6d742aa70e5a10ce9ce338e5e9d84
+pycodestyle-checksum = 84e751a7d00048393b02ca743de5d71d1641e948ee1b4daebbdf2d07e0cd8f087ca4e81f826061114b40ef41920bbcd680c9f479e7cc1a159a70188425717208
pycparser-checksum = 7f830e1c9066ee2d297a55e2bf6db4bf6447b6d9da0145d11a88c3bb98505755fb7986eafa6e06ae0b7680838f5e5d6a6d188245ca5ad45c2a727587bac93ab5
+pyflakes-checksum = 7ebf5843b38146305c1063e070480fea8ec3b47fa1be546b1fafaeb242a688a5a001f978e7257fd71d5905b9a338b466ef17c7330725191587e9c40ba632c3f8
pyparsing-checksum = fc8342780c38fd08c07d0b885c4d6c77d59f38098aa13c3abd05a790ee6caf2065a0bdab33bc290a6e2da123f4ac7e38c049e389b740546499dc48eba7ae431f
pypkgconfig-checksum = 1fd9aa973bd20a8fab864722598f1d19b94c23c7f2b522556b3182b19fe016bda7aa2be5e48a1b8fefa70a069611007d6d790e24defcb462e4594a382de85b00
python-dateutil-checksum = ec7da86203572582f883a4686acf8a732a2de4f396d809057eb51b2c60dbca5623a7fa90c2c0618c281a2282c60841739bd837731a51cc876f4ff369297f2f81
diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk
index 54e1f2e..20e6632 100644
--- a/reproduce/software/config/installation/versions.mk
+++ b/reproduce/software/config/installation/versions.mk
@@ -136,19 +136,28 @@ chardet-version = 3.0.4
cryptography-version = 2.6.1
cycler-version = 0.10.0
cython-version = 0.29.6
+eigency-version = 1.77
entrypoints-version = 0.3
+esutil-version = 0.6.4
+flake8-version = 3.7.8
+future-version = 0.18.1
+galsim-version = 2.2.1
h5py-version = 2.9.0
html5lib-version = 1.0.1
idna-version = 2.8
jeepney-version = 0.4
keyring-version = 18.0.0
kiwisolver-version = 1.0.1
+lsstdesccoord-version = 1.2.0
matplotlib-version = 3.1.1
mpi4py-version = 3.0.2
mpmath-version = 1.1.0
numpy-version = 1.17.2
pip-version = 19.0.2
+pycodestyle-version = 2.5.0
pycparser-version = 2.19
+pyflakes-version = 2.1.1
+pybind11-version = 2.4.3
pyparsing-version = 2.3.1
pypkgconfig-version = 1.5.1
python-dateutil-version = 2.8.0
diff --git a/reproduce/software/make/python.mk b/reproduce/software/make/python.mk
index 9cf99e5..b7cbc9b 100644
--- a/reproduce/software/make/python.mk
+++ b/reproduce/software/make/python.mk
@@ -44,6 +44,10 @@ export MPI_PYTHON_SITEARCH :=
export MPI_PYTHON2_SITEARCH :=
export MPI_PYTHON3_SITEARCH :=
+# Python-specific installation directories.
+python-major-version = $(shell echo $(python-version) | awk 'BEGIN{FS="."} \
+ {printf "%d.%d\n", $$1, $$2}')
+
@@ -68,7 +72,12 @@ pytarballs = $(foreach t, asn1crypto-$(asn1crypto-version).tar.gz \
cryptography-$(cryptography-version).tar.gz \
cycler-$(cycler-version).tar.gz \
cython-$(cython-version).tar.gz \
+ eigency-$(eigency-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 \
@@ -76,13 +85,17 @@ pytarballs = $(foreach t, asn1crypto-$(asn1crypto-version).tar.gz \
kiwisolver-$(kiwisolver-version).tar.gz \
keyring-$(keyring-version).tar.gz \
libffi-$(libffi-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 \
+ 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 \
@@ -131,21 +144,31 @@ $(pytarballs): $(tdir)/%:
# that have non-standard filenames (differing from our archived
# tarball names) are treated first, then the standard ones.
mergenames=1
- if [ $$n = cython ]; then
+ if [ $$n = cython ]; then
mergenames=0
c=$(cython-checksum)
hash=36/da/fcb979fc8cb486a67a013d6aefefbb95a3e19e67e49dff8a35e014046c5e
h=$(pytopurl)/$$hash/Cython-$(cython-version).tar.gz
- elif [ $$n = python ]; then
+ 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
+ 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
+ elif [ $$n = libffi ]; then
mergenames=0
c=$(libffi-checksum)
h=ftp://sourceware.org/pub/libffi/libffi-$(libffi-version).tar.gz
@@ -163,7 +186,11 @@ $(pytarballs): $(tdir)/%:
elif [ $$n = chardet ]; then h=fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d; c=$(chardet-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 = entrypoints ]; then h=b4/ef/063484f1f9ba3081e920ec9972c96664e2edb9fdc3d8669b0e3b8fc0ad7c; c=$(entrypoints-checksum)
+ elif [ $$n = esutil ]; then h=5b/91/77e38282fd3d47b55e351544ab179eb209b309a8d2d40f8cdb6241beda00; c=$(esutil-checksum)
+ elif [ $$n = flake ]; 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 = html ]; then h=85/3e/cf449cf1b5004e87510b9368e7a5f1acd8831c2d6691edd3c62a0823f98f; c=$(html5lib-checksum)
elif [ $$n = idna ]; then h=ad/13/eb56951b6f7950cadb579ca166e448ba77f9d24efc03edd7e55fa57d04b7; c=$(idna-checksum)
@@ -176,7 +203,10 @@ $(pytarballs): $(tdir)/%:
elif [ $$n = numpy ]; then h=ac/36/325b27ef698684c38b1fe2e546e2e7ef9cecd7037bcdb35c87efec4356af; c=$(numpy-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 = pybind ]; 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)
@@ -267,11 +297,9 @@ $(ibidir)/python: $(tdir)/python-$(python-version).tar.gz \
--without-ensurepip \
--with-system-ffi \
--enable-shared) \
- && v=$$(echo $(python-version) | awk 'BEGIN{FS="."} \
- {printf "%d.%d\n", $$1, $$2}') \
- && ln -sf $(ildir)/python$$v $(ildir)/python \
- && ln -sf $(ibdir)/python$$v $(ibdir)/python \
- && ln -sf $(iidir)/python$$v"m" $(iidir)/python$$v \
+ && 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)" > $@
@@ -291,6 +319,7 @@ $(ibidir)/python: $(tdir)/python-$(python-version).tar.gz \
# 3) Unpacked directory name after unpacking the tarball
# 4) site.cfg file (optional)
# 5) Official software name.(for paper).
+# 6) Manual step after installation.
pybuild = cd $(ddir); rm -rf $(3); \
if ! $(1) $(2); then echo; echo "Tar error"; exit 1; fi; \
cd $(3); \
@@ -299,8 +328,11 @@ pybuild = cd $(ddir); rm -rf $(3); \
-e 's|@INCDIR[@]|'"$(idir)/include"'|' \
$(4) > site.cfg; \
fi; \
- python setup.py build \
+ if [ x"$(6)" = x ]; then after="echo no after"; \
+ else after="$(6)"; fi \
+ && python setup.py build \
&& python setup.py install \
+ && $$after \
&& cd .. \
&& rm -rf $(3) \
&& echo "$(5)" > $@
@@ -374,11 +406,42 @@ $(ipydir)/cython: $(tdir)/cython-$(cython-version).tar.gz \
&& cp $(dtexdir)/cython.tex $(ictdir)/ \
&& echo "Cython $(cython-version) \citep{cython2011}" > $@
+$(ipydir)/esutil: $(tdir)/esutil-$(esutil-version).tar.gz \
+ $(ipydir)/numpy
+ $(call pybuild, tar xf, $<, esutil-$(esutil-version), ,\
+ esutil $(esutil-version))
+
+$(ipydir)/eigency: $(tdir)/eigency-$(eigency-version).tar.gz \
+ $(ibidir)/eigen
+ $(call pybuild, tar xf, $<, eigency-$(eigency-version), ,\
+ eigency $(eigency-version))
+
$(ipydir)/entrypoints: $(tdir)/entrypoints-$(entrypoints-version).tar.gz \
$(ipydir)/setuptools
$(call pybuild, tar xf, $<, entrypoints-$(entrypoints-version), ,\
EntryPoints $(entrypoints-version))
+$(ipydir)/flake8: $(tdir)/flake8-$(flake8-version).tar.gz \
+ $(ipydir)/pycodestyle \
+ $(ipydir)/pyflakes
+ $(call pybuild, tar xf, $<, flake8-$(flake8-version), ,\
+ Flake8 $(flake8-version))
+
+$(ipydir)/future: $(tdir)/future-$(future-version).tar.gz \
+ $(ipydir)/setuptools
+ $(call pybuild, tar xf, $<, future-$(future-version), ,\
+ Future $(future-version))
+
+$(ipydir)/galsim: $(tdir)/galsim-$(galsim-version).tar.gz \
+ $(ipydir)/lsstdesccoord \
+ $(ipydir)/pybind11 \
+ $(ipydir)/astropy \
+ $(ipydir)/eigency \
+ $(ipydir)/future
+ $(call pybuild, tar xf, $<, GalSim-$(galsim-version), ,) \
+ && cp $(dtexdir)/galsim.tex $(ictdir)/ \
+ && echo "Galsim $(galsim-version) \citep{galsim}" > $@
+
$(ipydir)/h5py: $(tdir)/h5py-$(h5py-version).tar.gz \
$(ipydir)/pypkgconfig \
$(ipydir)/setuptools \
@@ -420,6 +483,11 @@ $(ipydir)/kiwisolver: $(tdir)/kiwisolver-$(kiwisolver-version).tar.gz \
$(call pybuild, tar xf, $<, kiwisolver-$(kiwisolver-version), ,\
Kiwisolver $(kiwisolver-version))
+$(ipydir)/lsstdesccoord: $(tdir)/lsstdesccoord-$(lsstdesccoord-version).tar.gz \
+ $(ipydir)/setuptools
+ $(call pybuild, tar xf, $<, LSSTDESC.Coord-$(lsstdesccoord-version), ,\
+ LSSTDESC.Coord $(lsstdesccoord-version))
+
$(ipydir)/matplotlib: $(tdir)/matplotlib-$(matplotlib-version).tar.gz \
$(ipydir)/python-dateutil \
$(ibidir)/ghostscript \
@@ -466,21 +534,39 @@ $(ibidir)/pip3: $(tdir)/pip-$(pip-version).tar.gz \
$(call pybuild, tar xf, $<, pip-$(pip-version), ,\
PiP $(pip-version))
-$(ipydir)/pypkgconfig: $(tdir)/pkgconfig-$(pypkgconfig-version).tar.gz \
+$(ipydir)/pycodestyle: $(tdir)/pycodestyle-$(pycodestyle-version).tar.gz \
$(ipydir)/setuptools
- $(call pybuild, tar xf, $<, pkgconfig-$(pypkgconfig-version), ,
- pkgconfig $(pypkgconfig-version))
+ $(call pybuild, tar xf, $<, pycodestyle-$(pycodestyle-version), ,\
+ pycodestyle $(pycodestyle-version))
+
+$(ipydir)/pybind11: $(tdir)/pybind11-$(pybind11-version).tar.gz \
+ $(ipydir)/setuptools \
+ $(ibidir)/boost \
+ $(ibidir)/eigen
+ $(call pybuild, tar xf, $<, pybind11-$(pybind11-version), ,\
+ pybind11 $(pybind11-version),
+ cp -r include/pybind11 $(iidir)/python$(python-major-version)m/)
$(ipydir)/pycparser: $(tdir)/pycparser-$(pycparser-version).tar.gz \
$(ipydir)/setuptools
$(call pybuild, tar xf, $<, pycparser-$(pycparser-version), ,\
pycparser $(pycparser-version))
+$(ipydir)/pyflakes: $(tdir)/pyflakes-$(pyflakes-version).tar.gz \
+ $(ipydir)/setuptools
+ $(call pybuild, tar xf, $<, pyflakes-$(pyflakes-version), ,\
+ pyflakes $(pyflakes-version))
+
$(ipydir)/pyparsing: $(tdir)/pyparsing-$(pyparsing-version).tar.gz \
$(ipydir)/setuptools
$(call pybuild, tar xf, $<, pyparsing-$(pyparsing-version), ,\
PyParsing $(pyparsing-version))
+$(ipydir)/pypkgconfig: $(tdir)/pkgconfig-$(pypkgconfig-version).tar.gz \
+ $(ipydir)/setuptools
+ $(call pybuild, tar xf, $<, pkgconfig-$(pypkgconfig-version), ,
+ pkgconfig $(pypkgconfig-version))
+
$(ipydir)/python-dateutil: $(tdir)/python-dateutil-$(python-dateutil-version).tar.gz \
$(ipydir)/setuptools_scm \
$(ipydir)/six