diff options
Diffstat (limited to 'reproduce/software')
-rw-r--r-- | reproduce/software/bibtex/corner.tex | 19 | ||||
-rw-r--r-- | reproduce/software/config/installation/TARGETS.mk | 2 | ||||
-rw-r--r-- | reproduce/software/config/installation/checksums.mk | 9 | ||||
-rw-r--r-- | reproduce/software/config/installation/versions.mk | 9 | ||||
-rw-r--r-- | reproduce/software/make/python.mk | 410 |
5 files changed, 260 insertions, 189 deletions
diff --git a/reproduce/software/bibtex/corner.tex b/reproduce/software/bibtex/corner.tex new file mode 100644 index 0000000..f80c662 --- /dev/null +++ b/reproduce/software/bibtex/corner.tex @@ -0,0 +1,19 @@ +%% 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{corner, + author = {{Foreman-Mackey}, Daniel}, + title = "{corner.py: Scatterplot matrices in Python}", + journal = {The Journal of Open Source Software}, + year = "2016", + month = "Jun", + volume = {1}, + pages = {24}, + doi = {10.21105/joss.00024}, + adsurl = {https://ui.adsabs.harvard.edu/abs/2016JOSS....1...24F}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} diff --git a/reproduce/software/config/installation/TARGETS.mk b/reproduce/software/config/installation/TARGETS.mk index b9157f1..395e4bb 100644 --- a/reproduce/software/config/installation/TARGETS.mk +++ b/reproduce/software/config/installation/TARGETS.mk @@ -39,4 +39,4 @@ top-level-programs = gnuastro # Python libraries/modules. -top-level-python = astropy +top-level-python = astropy lmfit diff --git a/reproduce/software/config/installation/checksums.mk b/reproduce/software/config/installation/checksums.mk index 1fbe7dd..6a21477 100644 --- a/reproduce/software/config/installation/checksums.mk +++ b/reproduce/software/config/installation/checksums.mk @@ -135,16 +135,19 @@ yaml-checksum = 13d2197135946204323dbfccafa0ac7b3d05437e920545a56f46811fd7319c01 # modules/libraries below, please fix the hash strings of the respective # URL in `reproduce/software/make/python.mk'. asn1crypto-checksum = 44d442a6ddfa971e31e24712fe084368356deb5e1c4c3b3e813e0910931860215bc1c4f9eb2c4bd4fdef607c324086c096e9357068646efd28c97f2d4f85c62f +asteval-checksum = 4d64900b2f7dfdd098d6c8c102f9d9fd46f9ec265a54330e7d94479ba41f0ee0698855658e18b8b32b9c255159eb9a085af5f0306eb6508663d3fea7d2e00b4a astropy-checksum = b468e6a6cd45052d4cd0cac34969ffa53f89ed8bdbdcd4aae627d4ce55043be24ba739534129b3fec1511b4f113a991209b819d5b3ad1429104f46cb205d26ec astroquery-checksum = 0da57f687ac0aa7611cd97085771d79c99e9ac8c11f0828fcbc7390faf24e1e87d86812020e0ae8be1749f5f2ae9cb3733e5922d38a897a9e212247175c28e52 beautifulsoup4-checksum = 7aa77bc6008bbcbbbe91b0a850007ab237d2832b63a787fbd94b7cbf47d4276b185e0c61c134df73221406458edff2b75b6b8c2b53b543aa3bb1b0e2202dac5a certifi-checksum = 6a6bf1ff98caefcdbf78a8c83e11e155368bacdd806f0ae0c6afa8f513667df6598e594b3584de61acdca3d6049f4a776937f2aa8672b602bd6db7b737f6074e cffi-checksum = af4fe47cf5d6f1126222898365cfa21e9f11d0e71b87d869014dbb37af30dca9ddf50c989030d0f610f50e8099e8dfd08a688d8c3629abbcc4f0294f5f91b817 chardet-checksum = 61a03b23447a2bfe52ceed4dd1b9afdb5784da1933a623776883ee9f297e341f633e27f0ce0230bd5fdc5fdb5382105ab42736a74a417ddeb9f83af57455dba5 +corner-checksum = ebd625ab1e4591b4c21d25ec706c35d37f560b727e1e0d6a79948c4a112ee6f21d3ca30162901a27715074e1345f3bdee1a0345c63e5fec24113e495fb094127 cryptography-checksum = f14319e24d9dca52e74548cada5b78a6235f089ef875dbff4799e862f94da8b087f1b6e03e84dcef9fc7d7693c4a349c5f0cd54b8535806da777420ce8757d39 cycler-checksum = b7d2ba19861ffaf4dea0444bfe68b5a6264a022d7b3f02c9ff5e5859e3901de12a90f8dc7469e995e09c418515b3df55dbf05a0cfe5368d40790a2c878a74819 cython-checksum = bb8095b438a7d2567b8b831628fbb32c02299c866e41113da62fb5a5d4982dc0df947a9f723a82c52086806435d8f3518e78a803166149d476f81e042a12494e eigency-checksum = 1e7cdfc43071da5edba30a0d32cd655442b516f15c166b049a195d151dec8c20a2177ad69bed3bba4788a668fa25a4c551ef4990717ff98d5b2f407bffb214c8 +emcee-checksum = dd60aace8879525fd3fe42b747d82170b24b2ed21f538f9186ba96b9d04c084812e3303f5d2e04119dabd2f9d3286d510b4d4a5324c71dd24b1c7e5f0a9a0ac6 entrypoints-checksum = aa1274362d3a4b00266103319ca51aa266605b4999c89a9d0673eb61bfae9e646cb0ec6b86c95544493f6fe048385a2c7641d64adca8f45815546fb1e663c858 esutil-checksum = c1cf8e7912b16dc675fdc7195ecc2bbffcd156c1257b2df45afdf09cc487c49f2e18a66cd5520ab30c77e60abb8ca802e327075bdd0f23eb634cc4f5a7e974f3 flake8-checksum = a25076bb7f978ca23af0f2016b30bf5fe4680371b4c0939361a6f8c496f3c846cf98ecadee35fc2dedd588116c8cd982529972dd2411ab139621912b69132a1e @@ -157,6 +160,7 @@ idna-checksum = 8ca5cfe6350c51250bafdac7c6e4ddd54c4a5d6bf7acbcef896760a759868c8e jeepney-checksum = 43083994a7c6af84a5a68d3ff8f6dc4d9129ce9fa55517838fb62d9f62bb78bdf52067649d0b95d08d689b7d7475cb9b2a956662e265a776ad42dcf4ccc0ab63 keyring-checksum = 3863f2cd89131d7e927e55691b4eb4b7c2599af189525293d0948aef5215efbbbd74d45db3cd4885ba5b18a79f0fa0b0edc3783a020a6702f6a6fb7ed86b2cf2 kiwisolver-checksum = 80ed3d7429a2ed4944aa09766bebac2709a3a0e0a184ff414f04bf3c7ec3034ea7d0f70dff319922b870dedaf13d64fc87eff86a82e720ec93a2510885ad738d +lmfit-checksum = 8435328fd8baf92b424299c341aafb995dc45245e17b1774e9eaabdd994dd6ec3b2e70f7506d67b587631cebd2dc584fcd1a9902286925a61e2135b7e11ece21 lsstdesccoord-checksum = a66b8b702cd8122f0c8aee05abe0fc0c6299f8bdb99b151f54bd7ad7430d6bc9f843f7294a7f08f3ce9f8606ea0ced0796a63b79cc8a53ae73068b691e2e6871 matplotlib-checksum = d44729028b91523c7ed2659e7ce7e9c2022ff322c3804e1ca16c9f64038f21d63ebf74a4da4239605cfb9c65729bf519360ac7f2a25dc70daa6fdcfa9c610c31 mpi4py-checksum = 0a18332fd45e8e80b8dab0761fbaa30444a0d55776af7a2333be17ade827e92d04ac5bb8619ce26937142f344f75de0e5ef6dcb7502f33389716aa9482ddf5ab @@ -174,12 +178,13 @@ pyyaml-checksum = 8f27f92bdfa310a99dd6d83947332cc033fa18f0011998bb585ad5c4340a2d requests-checksum = 385e1d80993a21c09e7c4682500ca8c24155962ba41ecd8e73612722b2ff6618b736e827fc48ad1683b0d2bc7a420cfe680f5107860aca52656ef777f1d60104 scipy-checksum = 672915da782f5a439a3920ad1a200937b8415aeb4f1db2451cf0b5a90ba6e18c69e17e9ff8433f6a7760bbef2434d7b0f6447319faec9bb96fa6841794bfa538 secretstorage-checksum = 295e0f75c772edf153480730dc20051f06e60e040a18f169620cb4aaa37b8c1a254a496464d3794a38cf49fa884a7b561fe364816f0d12a5b2622c77259f03cf -setuptools-checksum = f14976a76bff74b7494d44fcfffa511de0d142b4d308fcbf87b34c31c51491102e152acc11a383c5f6b693d1b18eb119c5186ca23deb12b2bbf186794b062868 -setuptools_scm-checksum = 1995754654f8bf509ec7f2186857ba0005dbaea0b1c734f521becb9d022c127e7b36f21da8defd5ec9883de5d0d4afe006f9d152c4cefe6beadf8b878e949eb2 +setuptools-checksum = 1bed75e7173ea0399f078c96cf5c1818dada7a4b86a93e61ff72da6a25694e321b9047e024617aa775b71a25fe8cb0848323902e1fb9c8c8a1f39434f0de6434 +setuptools_scm-checksum = 196d4785a1802875d89b9e54ae788e791a9c5cb685109784059955b691242984e42b96d77075116790935f56be82259bc2588d95d65ecbb101261d76daddb83c sip_tpv-checksum = 5e03279cb3650dd506332dfcb31aa4a20f23f55b8a29fd18da5c6d422d1b7dc49e12362ceae2ff7417c874401b5e87a73ca1ac0f3c8747c8984e4269cad56c3f six-checksum = 937728372edf1e0ac13bbd706723d0de35e015c30d0ae41f789c5ed2e3669bb0db70cdc6e036ec2d437a6c4aa0d5d1e727b6d09ac34cca7e4e92e5d3b4775151 soupsieve-checksum = abdcbb6a13563e7afadd3056141587fdc3d7d644e346f789bca0a16242d860219e462491b0c624b287300af960fb8e3f85c79f5137580939a9fc8c3d6961478c sympy-checksum = 6ae09be7260b1624b4f92d39c68d5cdf54e6e33010d9215f46d62d989c04cdbee6f9f9c8b11ebeda53257d154954fb926b3ab7335b738e33ad248764875b6ddb +uncertainties-checksum = 420fa4f58ac8dff17875029bc3dcd6539c638e8c8ffa5bcc273b486d05f0d1cc71b1db140a5098c1cd6472f93b6869303f57f48675296e859814197d899327bd urllib3-checksum = 4c12d08076b0f260727d5aac780f5e9a24e0164755ff05b02a1f5a697876741ff13ba278fdd6e46ef678e8e1146bc39de1fc49ee10ee839229a70540a9424a99 virtualenv-checksum = 3306f59bbcb48ceec225c07083e0b6831379b3e632e4a23c376849559449de1a04db66e0e7ceabb40ddcd3ae984a2a18dfdc4f1c38777d4bc04537f85a0137ac webencodings-checksum = b727b01bac6ec79bca517960d27b4c0668b295f25559471b9641c2c33dab55db6dac9c990952177964c6418382c22831b14d57df5e632d51d7abf97b61f24326 diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk index 278baf0..f0971ec 100644 --- a/reproduce/software/config/installation/versions.mk +++ b/reproduce/software/config/installation/versions.mk @@ -130,16 +130,19 @@ yaml-version = 0.2.2 # modules/libraries below, please fix the hash strings of the respective # URL in `reproduce/software/make/python.mk'. asn1crypto-version = 0.24.0 +asteval-version = 0.9.16 astropy-version = 3.2.1 astroquery-version = 0.3.9 beautifulsoup4-version = 4.7.1 certifi-version = 2018.11.29 cffi-version = 1.12.2 chardet-version = 3.0.4 +corner-version = 2.0.1 cryptography-version = 2.6.1 cycler-version = 0.10.0 cython-version = 0.29.6 eigency-version = 1.77 +emcee-version = 3.0.1 entrypoints-version = 0.3 esutil-version = 0.6.4 flake8-version = 3.7.8 @@ -152,6 +155,7 @@ idna-version = 2.8 jeepney-version = 0.4 keyring-version = 18.0.0 kiwisolver-version = 1.0.1 +lmfit-version = 0.9.14 lsstdesccoord-version = 1.2.0 matplotlib-version = 3.1.1 mpi4py-version = 3.0.2 @@ -169,12 +173,13 @@ pyyaml-version = 5.1 requests-version = 2.21.0 scipy-version = 1.3.1 secretstorage-version = 3.1.1 -setuptools-version = 40.8.0 -setuptools_scm-version = 3.2.0 +setuptools-version = 41.6.0 +setuptools_scm-version = 3.3.3 sip_tpv-version = 1.1 six-version = 1.12.0 soupsieve-version = 1.8 sympy-version = 1.4 +uncertainties-version = 3.1.2 urllib3-version = 1.24.1 virtualenv-version = 16.4.0 webencodings-version = 0.5.1 diff --git a/reproduce/software/make/python.mk b/reproduce/software/make/python.mk index 14e7b75..9b107f0 100644 --- a/reproduce/software/make/python.mk +++ b/reproduce/software/make/python.mk @@ -63,16 +63,19 @@ python-major-version = $(shell echo $(python-version) | awk 'BEGIN{FS="."} \ # 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 \ @@ -85,6 +88,7 @@ pytarballs = $(foreach t, asn1crypto-$(asn1crypto-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 \ @@ -109,6 +113,7 @@ pytarballs = $(foreach t, asn1crypto-$(asn1crypto-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 \ @@ -178,15 +183,18 @@ $(pytarballs): $(tdir)/%: hash=a6/89/df343dbc2957a317127e7ff2983230dc5336273be34f2e1911519d85aeb5 h=$(pytopurl)/$$hash/SecretStorage-$(secretstorage-version).tar.gz elif [ $$n = asn ]; then h=fc/f1/8db7daa71f414ddabfa056c4ef792e1461ff655c2ae2928a2b675bfed6b4; c=$(asn1crypto-checksum) + elif [ $$n = asteval ]; then h=50/3f/29b7935c6dc09ee96dc347edc66c57e8ef68d595dd35b763a36a117acc8c; c=$(asteval-checksum) elif [ $$n = astroquery ]; then h=61/50/a7a08f9e54d7d9d97e69433cd88231e1ad2901811c9d1ae9ac7ccaef9396; c=$(astroquery-checksum) elif [ $$n = astropy ]; then h=b9/10/523355eb8cb9839552c8f0fbc9425a1c87c8ff2e55f4df85469a5a4164d3; c=$(astropy-checksum) elif [ $$n = beautifulsoup ]; 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 = flake ]; then h=8d/a7/99222c9200af533c1ecb1120d99adbd1c033b57296ac5cb39d121db007a8; c=$(flake8-checksum) @@ -197,6 +205,7 @@ $(pytarballs): $(tdir)/%: 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 = mpi ]; then h=04/f5/a615603ce4ab7f40b65dba63759455e3da610d9a155d4d4cece1d8fd6706; c=$(mpi4py-checksum) elif [ $$n = mpmath ]; then h=ca/63/3384ebb3b51af9610086b23ea976e6d27d6d97bf140a76a365bd77a3eb32; c=$(mpmath-checksum) @@ -212,12 +221,13 @@ $(pytarballs): $(tdir)/%: 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=c2/f7/c7b501b783e5a74cf1768bc174ee4fb0a8a6ee5af6afa92274ff964703e0; c=$(setuptools-checksum) - elif [ $$n = setuptools_scm ]; then h=54/85/514ba3ca2a022bddd68819f187ae826986051d130ec5b972076e4f58a9f3; c=$(setuptools_scm-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 = urllib ]; 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) @@ -285,15 +295,16 @@ $(ibidir)/libffi: $(tdir)/libffi-$(libffi-version).tar.gz fi \ && echo "Libffi $(libffi-version)" > $@ -$(ibidir)/python: $(tdir)/python-$(python-version).tar.gz \ - $(ibidir)/libffi +$(ibidir)/python: $(ibidir)/libffi \ + $(tdir)/python-$(python-version).tar.gz # 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 gbuild, $<, Python-$(python-version),, \ + $(call gbuild, $(filter $(tdir)/%,$^), \ + Python-$(python-version),, \ --without-ensurepip \ --with-system-ffi \ --enable-shared) \ @@ -315,27 +326,28 @@ $(ibidir)/python: $(tdir)/python-$(python-version).tar.gz \ # access to `setup.py' is needed, pip can be used). # Arguments of this function are the numbers # 1) Unpack command -# 2) Package name -# 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); \ - if [ "x$(strip $(4))" != x ]; then \ +# 2) Unpacked directory name after unpacking the tarball +# 3) site.cfg file (optional). +# 4) Official software name (for paper). +# 5) Manual step after installation. +pybuild = cd $(ddir); rm -rf $(2); \ + if ! $(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"'|' \ - $(4) > site.cfg; \ + $(3) > site.cfg; \ fi; \ - if [ x"$(6)" = x ]; then after="echo no after"; \ - else after="$(6)"; fi \ + if [ x"$(5)" = x ]; then after="echo no after"; \ + else after="$(5)"; fi \ && python setup.py build \ && python setup.py install \ && $$after \ && cd .. \ - && rm -rf $(3) \ - && echo "$(5)" > $@ + && rm -rf $(2) \ + && echo "$(4)" > $@ @@ -345,114 +357,131 @@ pybuild = cd $(ddir); rm -rf $(3); \ # --------------- # # All the necessary Python modules go here. -$(ipydir)/asn1crypto: $(tdir)/asn1crypto-$(asn1crypto-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, asn1crypto-$(asn1crypto-version), , \ +$(ipydir)/asn1crypto: $(ipydir)/setuptools \ + $(tdir)/asn1crypto-$(asn1crypto-version).tar.gz \ + $(call pybuild, tar xf, asn1crypto-$(asn1crypto-version), , \ Asn1crypto $(asn1crypto-version)) -$(ipydir)/astroquery: $(tdir)/astroquery-$(astroquery-version).tar.gz \ - $(ipydir)/beautifulsoup4 \ - $(ipydir)/html5lib \ - $(ipydir)/requests \ +$(ipydir)/asteval: $(ipydir)/numpy \ + $(tdir)/asteval-$(asteval-version).tar.gz + $(call pybuild, tar xf, asteval-$(asteval-version), , \ + ASTEVAL $(asteval-version)) + +$(ipydir)/astroquery: $(ipydir)/numpy \ $(ipydir)/astropy \ $(ipydir)/keyring \ - $(ipydir)/numpy - $(call pybuild, tar xf, $<, astroquery-$(astroquery-version), ,\ + $(ipydir)/html5lib \ + $(ipydir)/requests \ + $(ipydir)/beautifulsoup4 \ + $(tdir)/astroquery-$(astroquery-version).tar.gz + $(call pybuild, tar xf, astroquery-$(astroquery-version), ,\ Astroquery $(astroquery-version)) -$(ipydir)/astropy: $(tdir)/astropy-$(astropy-version).tar.gz \ - $(ipydir)/h5py \ +$(ipydir)/astropy: $(ipydir)/h5py \ + $(ipydir)/scipy \ $(ipydir)/numpy \ - $(ipydir)/scipy - $(call pybuild, tar xf, $<, astropy-$(astropy-version)) \ + $(tdir)/astropy-$(astropy-version).tar.gz + $(call pybuild, tar xf, astropy-$(astropy-version)) \ && cp $(dtexdir)/astropy.tex $(ictdir)/ \ && echo "Astropy $(astropy-version) \citep{astropy2013,astropy2018}" > $@ -$(ipydir)/beautifulsoup4: $(tdir)/beautifulsoup4-$(beautifulsoup4-version).tar.gz \ - $(ipydir)/soupsieve - $(call pybuild, tar xf, $<, beautifulsoup4-$(beautifulsoup4-version), ,\ +$(ipydir)/beautifulsoup4: $(ipydir)/soupsieve \ + $(tdir)/beautifulsoup4-$(beautifulsoup4-version).tar.gz + $(call pybuild, tar xf, beautifulsoup4-$(beautifulsoup4-version), ,\ BeautifulSoup $(beautifulsoup4-version)) -$(ipydir)/certifi: $(tdir)/certifi-$(certifi-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, certifi-$(certifi-version), ,\ +$(ipydir)/certifi: $(ipydir)/setuptools \ + $(tdir)/certifi-$(certifi-version).tar.gz + $(call pybuild, tar xf, certifi-$(certifi-version), ,\ Certifi $(certifi-version)) -$(ipydir)/cffi: $(tdir)/cffi-$(cffi-version).tar.gz \ +$(ipydir)/cffi: $(ibidir)/libffi \ $(ipydir)/pycparser \ - $(ibidir)/libffi - $(call pybuild, tar xf, $<, cffi-$(cffi-version), ,\ + $(tdir)/cffi-$(cffi-version).tar.gz + $(call pybuild, tar xf, cffi-$(cffi-version), ,\ cffi $(cffi-version)) -$(ipydir)/chardet: $(tdir)/chardet-$(chardet-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, chardet-$(chardet-version), ,\ +$(ipydir)/chardet: $(ipydir)/setuptools \ + $(tdir)/chardet-$(chardet-version).tar.gz + $(call pybuild, tar xf, chardet-$(chardet-version), ,\ Chardet $(chardet-version)) -$(ipydir)/cryptography: $(tdir)/cryptography-$(cryptography-version).tar.gz \ +$(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 \ - $(ipydir)/cffi - $(call pybuild, tar xf, $<, cryptography-$(cryptography-version), ,\ + $(tdir)/cryptography-$(cryptography-version).tar.gz + $(call pybuild, tar xf, cryptography-$(cryptography-version), ,\ Cryptography $(cryptography-version)) -$(ipydir)/cycler: $(tdir)/cycler-$(cycler-version).tar.gz \ - $(ipydir)/six - $(call pybuild, tar xf, $<, cycler-$(cycler-version), ,\ +$(ipydir)/cycler: $(ipydir)/six \ + $(tdir)/cycler-$(cycler-version).tar.gz + $(call pybuild, tar xf, cycler-$(cycler-version), ,\ Cycler $(cycler-version)) -$(ipydir)/cython: $(tdir)/cython-$(cython-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, Cython-$(cython-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: $(tdir)/esutil-$(esutil-version).tar.gz \ - $(ipydir)/numpy - $(call pybuild, tar xf, $<, esutil-$(esutil-version), ,\ +$(ipydir)/esutil: $(ipydir)/numpy \ + $(tdir)/esutil-$(esutil-version).tar.gz + $(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), ,\ +$(ipydir)/eigency: $(ibidir)/eigen \ + $(tdir)/eigency-$(eigency-version).tar.gz + $(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), ,\ +$(ipydir)/emcee: $(ipydir)/numpy \ + $(ipydir)/setuptools_scm \ + $(tdir)/emcee-$(emcee-version).tar.gz + $(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), ,\ EntryPoints $(entrypoints-version)) -$(ipydir)/flake8: $(tdir)/flake8-$(flake8-version).tar.gz \ +$(ipydir)/flake8: $(ipydir)/pyflakes \ $(ipydir)/pycodestyle \ - $(ipydir)/pyflakes - $(call pybuild, tar xf, $<, flake8-$(flake8-version), ,\ + $(tdir)/flake8-$(flake8-version).tar.gz + $(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), ,\ +$(ipydir)/future: $(ipydir)/setuptools \ + $(tdir)/future-$(future-version).tar.gz + $(call pybuild, tar xf, future-$(future-version), ,\ Future $(future-version)) -$(ipydir)/galsim: $(tdir)/galsim-$(galsim-version).tar.gz \ - $(ipydir)/lsstdesccoord \ - $(ipydir)/pybind11 \ +$(ipydir)/galsim: $(ipydir)/future \ $(ipydir)/astropy \ $(ipydir)/eigency \ - $(ipydir)/future - $(call pybuild, tar xf, $<, GalSim-$(galsim-version), ,) \ + $(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: $(tdir)/h5py-$(h5py-version).tar.gz \ - $(ipydir)/pypkgconfig \ - $(ipydir)/setuptools \ +$(ipydir)/h5py: $(ipydir)/six \ + $(ibidir)/hdf5 \ + $(ipydir)/numpy \ $(ipydir)/cython \ $(ipydir)/mpi4py \ - $(ipydir)/numpy \ - $(ibidir)/hdf5 \ - $(ipydir)/six + $(ipydir)/pypkgconfig \ + $(tdir)/h5py-$(h5py-version).tar.gz export HDF5_MPI=ON; \ export HDF5_DIR=$(ildir); \ - $(call pybuild, tar xf, $<, h5py-$(h5py-version), ,\ + $(call pybuild, tar xf, h5py-$(h5py-version), ,\ h5py $(h5py-version)) # `healpy' is actually installed as part of the HEALPix package. It will be @@ -465,201 +494,214 @@ $(ipydir)/h5py: $(tdir)/h5py-$(h5py-version).tar.gz \ $(ipydir)/healpy: $(ibidir)/healpix touch $@ -$(ipydir)/html5lib: $(tdir)/html5lib-$(html5lib-version).tar.gz \ +$(ipydir)/html5lib: $(ipydir)/six \ $(ipydir)/webencodings \ - $(ipydir)/six - $(call pybuild, tar xf, $<, html5lib-$(html5lib-version), ,\ + $(tdir)/html5lib-$(html5lib-version).tar.gz + $(call pybuild, tar xf, html5lib-$(html5lib-version), ,\ HTML5lib $(html5lib-version)) -$(ipydir)/idna: $(tdir)/idna-$(idna-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, idna-$(idna-version), ,\ +$(ipydir)/idna: $(ipydir)/setuptools \ + $(tdir)/idna-$(idna-version).tar.gz + $(call pybuild, tar xf, idna-$(idna-version), ,\ idna $(idna-version)) -$(ipydir)/jeepney: $(tdir)/jeepney-$(jeepney-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, jeepney-$(jeepney-version), ,\ +$(ipydir)/jeepney: $(ipydir)/setuptools \ + $(tdir)/jeepney-$(jeepney-version).tar.gz \ + $(call pybuild, tar xf, jeepney-$(jeepney-version), ,\ Jeepney $(jeepney-version)) -$(ipydir)/keyring: $(tdir)/keyring-$(keyring-version).tar.gz \ - $(ipydir)/setuptools_scm \ +$(ipydir)/keyring: $(ipydir)/entrypoints \ $(ipydir)/secretstorage \ - $(ipydir)/entrypoints - $(call pybuild, tar xf, $<, keyring-$(keyring-version), ,\ + $(ipydir)/setuptools_scm \ + $(tdir)/keyring-$(keyring-version).tar.gz + $(call pybuild, tar xf, keyring-$(keyring-version), ,\ Keyring $(keyring-version)) -$(ipydir)/kiwisolver: $(tdir)/kiwisolver-$(kiwisolver-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, kiwisolver-$(kiwisolver-version), ,\ +$(ipydir)/kiwisolver: $(ipydir)/setuptools \ + $(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), ,\ +$(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), ,\ + LMFIT $(lmfit-version)) + +$(ipydir)/lsstdesccoord: $(ipydir)/setuptools \ + $(tdir)/lsstdesccoord-$(lsstdesccoord-version).tar.gz + $(call pybuild, tar xf, LSSTDESC.Coord-$(lsstdesccoord-version), ,\ LSSTDESC.Coord $(lsstdesccoord-version)) -$(ipydir)/matplotlib: $(tdir)/matplotlib-$(matplotlib-version).tar.gz \ - $(ipydir)/python-dateutil \ +$(ipydir)/matplotlib: $(ipydir)/numpy \ + $(ipydir)/cycler \ + $(itidir)/texlive \ + $(ibidir)/freetype \ + $(ipydir)/pyparsing \ + $(ipydir)/kiwisolver \ $(ibidir)/ghostscript \ $(ibidir)/imagemagick \ - $(ipydir)/kiwisolver \ - $(ipydir)/pyparsing \ - $(ibidir)/freetype \ - $(itidir)/texlive \ - $(ipydir)/cycler \ - $(ipydir)/numpy - $(call pybuild, tar xf, $<, matplotlib-$(matplotlib-version)) \ + $(ipydir)/python-dateutil \ + $(tdir)/matplotlib-$(matplotlib-version).tar.gz + $(call pybuild, tar xf, matplotlib-$(matplotlib-version)) \ && cp $(dtexdir)/matplotlib.tex $(ictdir)/ \ && echo "Matplotlib $(matplotlib-version) \citep{matplotlib2007}" > $@ -$(ipydir)/mpi4py: $(tdir)/mpi4py-$(mpi4py-version).tar.gz \ +$(ipydir)/mpi4py: $(ibidir)/openmpi \ $(ipydir)/setuptools \ - $(ibidir)/openmpi - $(call pybuild, tar xf, $<, mpi4py-$(mpi4py-version)) \ + $(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: $(tdir)/mpmath-$(mpmath-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, mpmath-$(mpmath-version), ,\ +$(ipydir)/mpmath: $(ipydir)/setuptools \ + $(tdir)/mpmath-$(mpmath-version).tar.gz + $(call pybuild, tar xf, mpmath-$(mpmath-version), ,\ mpmath $(mpmath-version)) -$(ipydir)/numpy: $(tdir)/numpy-$(numpy-version).zip \ - $(ipydir)/setuptools \ +$(ipydir)/numpy: $(ibidir)/unzip \ $(ibidir)/openblas \ - $(ibidir)/unzip + $(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; \ conf="$$(pwd)/reproduce/software/config/installation/numpy-scipy.cfg"; \ - $(call pybuild, unzip, $<, numpy-$(numpy-version),$$conf, \ + $(call pybuild, unzip, numpy-$(numpy-version),$$conf, \ Numpy $(numpy-version)) \ && cp $(dtexdir)/numpy.tex $(ictdir)/ \ && echo "Numpy $(numpy-version) \citep{numpy2011}" > $@ -$(ibidir)/pip3: $(tdir)/pip-$(pip-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, pip-$(pip-version), ,\ +$(ibidir)/pip3: $(ipydir)/setuptools \ + $(tdir)/pip-$(pip-version).tar.gz + $(call pybuild, tar xf, pip-$(pip-version), ,\ PiP $(pip-version)) -$(ipydir)/pycodestyle: $(tdir)/pycodestyle-$(pycodestyle-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, pycodestyle-$(pycodestyle-version), ,\ +$(ipydir)/pycodestyle: $(ipydir)/setuptools \ + $(tdir)/pycodestyle-$(pycodestyle-version).tar.gz + $(call pybuild, tar xf, pycodestyle-$(pycodestyle-version), ,\ pycodestyle $(pycodestyle-version)) -$(ipydir)/pybind11: $(tdir)/pybind11-$(pybind11-version).tar.gz \ - $(ipydir)/setuptools \ +$(ipydir)/pybind11: $(ibidir)/eigen \ $(ibidir)/boost \ - $(ibidir)/eigen - $(call pybuild, tar xf, $<, pybind11-$(pybind11-version), ,\ + $(ipydir)/setuptools \ + $(tdir)/pybind11-$(pybind11-version).tar.gz + $(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), ,\ +$(ipydir)/pycparser: $(ipydir)/setuptools \ + $(tdir)/pycparser-$(pycparser-version).tar.gz + $(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), ,\ +$(ipydir)/pyflakes: $(ipydir)/setuptools \ + $(tdir)/pyflakes-$(pyflakes-version).tar.gz + $(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), ,\ +$(ipydir)/pyparsing: $(ipydir)/setuptools \ + $(tdir)/pyparsing-$(pyparsing-version).tar.gz + $(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), , +$(ipydir)/pypkgconfig: $(ipydir)/setuptools \ + $(tdir)/pkgconfig-$(pypkgconfig-version).tar.gz + $(call pybuild, tar xf, pkgconfig-$(pypkgconfig-version), , pkgconfig $(pypkgconfig-version)) -$(ipydir)/python-dateutil: $(tdir)/python-dateutil-$(python-dateutil-version).tar.gz \ +$(ipydir)/python-dateutil: $(ipydir)/six \ $(ipydir)/setuptools_scm \ - $(ipydir)/six - $(call pybuild, tar xf, $<, python-dateutil-$(python-dateutil-version), ,\ + $(tdir)/python-dateutil-$(python-dateutil-version).tar.gz + $(call pybuild, tar xf, python-dateutil-$(python-dateutil-version), ,\ python-dateutil $(python-dateutil-version)) -$(ipydir)/pyyaml: $(tdir)/pyyaml-$(pyyaml-version).tar.gz \ - $(ibidir)/yaml \ +$(ipydir)/pyyaml: $(ibidir)/yaml \ $(ipydir)/cython \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, PyYAML-$(pyyaml-version), ,\ + $(tdir)/pyyaml-$(pyyaml-version).tar.gz + $(call pybuild, tar xf, PyYAML-$(pyyaml-version), ,\ PyYAML $(pyyaml-version)) -$(ipydir)/requests: $(tdir)/requests-$(requests-version).tar.gz \ +$(ipydir)/requests: $(ipydir)/idna \ + $(ipydir)/numpy \ $(ipydir)/certifi \ $(ipydir)/chardet \ $(ipydir)/urllib3 \ - $(ipydir)/numpy \ - $(ipydir)/idna - $(call pybuild, tar xf, $<, requests-$(requests-version), ,\ + $(tdir)/requests-$(requests-version).tar.gz + $(call pybuild, tar xf, requests-$(requests-version), ,\ Requests $(requests-version)) -$(ipydir)/scipy: $(tdir)/scipy-$(scipy-version).tar.gz \ - $(ipydir)/numpy +$(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/installation/numpy-scipy.cfg"; \ - $(call pybuild, tar xf, $<, scipy-$(scipy-version),$$conf) \ + $(call pybuild, tar xf, scipy-$(scipy-version),$$conf) \ && cp $(dtexdir)/scipy.tex $(ictdir)/ \ && echo "Scipy $(scipy-version) \citep{scipy2007,scipy2011}" > $@ -$(ipydir)/secretstorage: $(tdir)/secretstorage-$(secretstorage-version).tar.gz \ +$(ipydir)/secretstorage: $(ipydir)/jeepney \ $(ipydir)/cryptography \ - $(ipydir)/jeepney - $(call pybuild, tar xf, $<, SecretStorage-$(secretstorage-version), ,\ + $(tdir)/secretstorage-$(secretstorage-version).tar.gz + $(call pybuild, tar xf, SecretStorage-$(secretstorage-version), ,\ SecretStorage $(secretstorage-version)) -$(ipydir)/setuptools: $(tdir)/setuptools-$(setuptools-version).zip \ +$(ipydir)/setuptools: $(ibidir)/unzip \ $(ibidir)/python \ - $(ibidir)/unzip - $(call pybuild, unzip, $<, setuptools-$(setuptools-version), ,\ + $(tdir)/setuptools-$(setuptools-version).zip + $(call pybuild, unzip, setuptools-$(setuptools-version), ,\ Setuptools $(setuptools-version)) -$(ipydir)/setuptools_scm: $(tdir)/setuptools_scm-$(setuptools_scm-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, setuptools_scm-$(setuptools_scm-version), ,\ +$(ipydir)/setuptools_scm: $(ipydir)/setuptools \ + $(tdir)/setuptools_scm-$(setuptools_scm-version).tar.gz + $(call pybuild, tar xf, setuptools_scm-$(setuptools_scm-version), ,\ Setuptools-scm $(setuptools_scm-version)) -$(ipydir)/sip_tpv: $(tdir)/sip_tpv-$(sip_tpv-version).tar.gz \ - $(ipydir)/astropy \ - $(ipydir)/numpy \ - $(ipydir)/sympy - $(call pybuild, tar xf, $<, sip_tpv-$(sip_tpv-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)/six: $(tdir)/six-$(six-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, six-$(six-version), ,\ +$(ipydir)/six: $(ipydir)/setuptools \ + $(tdir)/six-$(six-version).tar.gz + $(call pybuild, tar xf, six-$(six-version), ,\ Six $(six-version)) -$(ipydir)/soupsieve: $(tdir)/soupsieve-$(soupsieve-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, soupsieve-$(soupsieve-version), ,\ +$(ipydir)/soupsieve: $(ipydir)/setuptools \ + $(tdir)/soupsieve-$(soupsieve-version).tar.gz + $(call pybuild, tar xf, soupsieve-$(soupsieve-version), ,\ SoupSieve $(soupsieve-version)) -$(ipydir)/sympy: $(tdir)/sympy-$(sympy-version).tar.gz \ - $(ipydir)/setuptools \ - $(ipydir)/mpmath - $(call pybuild, tar xf, $<, sympy-$(sympy-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)/urllib3: $(tdir)/urllib3-$(urllib3-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, urllib3-$(urllib3-version), ,\ +$(ipydir)/uncertainties: $(ipydir)/numpy \ + $(tdir)/uncertainties-$(uncertainties-version).tar.gz + $(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), ,\ Urllib3 $(urllib3-version)) -$(ipydir)/webencodings: $(tdir)/webencodings-$(webencodings-version).tar.gz \ - $(ipydir)/setuptools - $(call pybuild, tar xf, $<, webencodings-$(webencodings-version), ,\ +$(ipydir)/webencodings: $(ipydir)/setuptools \ + $(tdir)/webencodings-$(webencodings-version).tar.gz + $(call pybuild, tar xf, webencodings-$(webencodings-version), ,\ Webencodings $(webencodings-version)) |