Compare commits

..

438 Commits

Author SHA1 Message Date
kennethreitz 9179b3cac0 v70 changelog 2015-10-29 11:57:59 -04:00
kennethreitz 5be33758ed Merge branch 'cache' 2015-10-29 11:56:36 -04:00
kennethreitz 41a44272d2 pypy-4.0.0 2015-10-29 11:53:24 -04:00
kennethreitz 6b3f63252f cleanup 2015-10-27 12:50:17 -04:00
kennethreitz c9acc4154b / 2015-10-27 12:23:15 -04:00
kennethreitz d5fed79e86 update to caching mechanism pt 2 2015-10-27 12:22:40 -04:00
kennethreitz 05edd6b065 update to caching mechanism 2015-10-27 12:15:53 -04:00
kennethreitz d96914ab2e restore master's compile script 2015-10-15 11:40:55 -04:00
kennethreitz 4c4e192317 Merge branch 'master' into cache 2015-10-15 10:48:58 -04:00
kennethreitz 2963d2520b update changelog 2015-10-15 10:34:24 -04:00
kennethreitz 85686805a7 Merge branch 'master' into merge 2015-10-15 10:33:12 -04:00
kennethreitz eef41088b1 mkdir-p 2015-10-13 11:23:34 -04:00
kennethreitz f7387427c8 changes 2015-10-13 11:12:55 -04:00
kennethreitz 23e1164c93 try removing .heroku 2015-10-13 11:09:39 -04:00
kennethreitz fd4ab23f50 debug 2015-10-13 11:03:49 -04:00
kennethreitz c78bf77055 allow them to fail 2015-10-13 11:02:17 -04:00
kennethreitz 5e212e4db8 CACHED_DIR 2015-10-13 11:01:51 -04:00
kennethreitz 9f666cee79 explicit is better than implicit 2015-10-13 10:57:51 -04:00
kennethreitz 69e9368c2d further don't error out 2015-10-13 10:48:50 -04:00
kennethreitz 4513dd7522 don't error out on directories that may not exist 2015-10-13 10:47:09 -04:00
kennethreitz 8b3e99adb3 manual cache population 2015-10-13 10:42:57 -04:00
kennethreitz c5972cdb74 .heroku 2015-10-13 10:37:00 -04:00
kennethreitz 7b9bc848ee starting over 2015-10-13 10:33:55 -04:00
kennethreitz 921a4c31a8 back to deep mv 2015-10-13 10:31:39 -04:00
kennethreitz 67063fc34f fix 2015-10-13 10:27:03 -04:00
kennethreitz 21dd1782fa whitelisting 2015-10-13 10:25:49 -04:00
kennethreitz beb8c70585 cleanup 2015-10-13 10:17:29 -04:00
kennethreitz b46cc0c6da ignore cleanup the cache 2015-10-13 10:16:10 -04:00
kennethreitz 74af94132a try hardcoding it in 2015-10-13 10:14:54 -04:00
kennethreitz 24cc273800 whitelist cache 2015-10-13 10:13:23 -04:00
kennethreitz c0fbb0723a attempt to whitelist cache entries for python buildpack 2015-10-13 10:13:09 -04:00
kennethreitz 6ab397db10 whitelist 2015-10-13 10:03:50 -04:00
kennethreitz d8623ae454 whitelist approach 2015-10-13 10:02:34 -04:00
kennethreitz e6d395fa27 ls /app/.heroku 2015-10-13 09:57:13 -04:00
kennethreitz e77090b6b8 copy them to the cache dir 2015-10-13 09:55:48 -04:00
kennethreitz c61f907079 echo 2015-10-13 09:53:47 -04:00
kennethreitz bd90eecd8c fix bug in cache_dir 2015-10-13 09:49:49 -04:00
kennethreitz 44b2ef0c4e an attempt at fixing caching 2015-10-13 09:47:28 -04:00
kennethreitz 38d73effc1 an attempt at fixing caching 2015-10-13 09:47:14 -04:00
kennethreitz 6f6b75bb1f Update CHANGELOG.md 2015-10-12 16:23:00 -04:00
kennethreitz cd90c7d1d8 v68 2015-10-12 10:39:07 -04:00
kennethreitz ce3c68538d no .heroku/venv 2015-10-12 10:36:34 -04:00
kennethreitz b6adf5223b changelog cleanup 2015-10-12 09:52:18 -04:00
kennethreitz 0818d5428f v67 2015-10-12 09:51:56 -04:00
kennethreitz 1d8afb452e legacy venv location 2015-10-12 09:47:52 -04:00
Owen Jacobson 1c82d820c9 Be more conservative to what we cache 2015-10-09 15:28:24 -04:00
kennethreitz 7cf8712d3c v66 2015-10-09 10:36:36 -04:00
kennethreitz 2b62692ab2 Merge branch 'preserve-ORIG_BUILD_DIR' of https://github.com/tommyvn/heroku-buildpack-python into multi 2015-10-09 09:40:03 -04:00
kennethreitz 9188d94723 v65 2015-10-08 13:34:48 -04:00
kennethreitz 2ba3e06f4e Revert "Merge pull request #253 from ojacobson/preserve-original-build-dir"
This reverts commit 1e5ff1f8c9, reversing
changes made to 83538ca6ec.
2015-10-08 13:16:52 -04:00
kennethreitz 6d78f7e3ed v64 2015-10-08 12:17:26 -04:00
kennethreitz 1e5ff1f8c9 Merge pull request #253 from ojacobson/preserve-original-build-dir
Preserve original build directory (including previously-installed programs) when moving app to /app during build.
2015-10-08 12:12:26 -04:00
kennethreitz 83538ca6ec Merge pull request #250 from cclauss/python-3.5.0-and-pypy-2.6.1
Python 3.5.0 and Pypy 2.6.1
2015-10-08 11:10:45 -04:00
kennethreitz 619bd638b0 correct setuptools 2015-10-08 10:08:24 -04:00
kennethreitz 5c359ba0fa Merge remote-tracking branch 'origin/master' 2015-10-08 10:04:04 -04:00
kennethreitz 27f019105e new setuptools and pip 2015-10-08 10:03:08 -04:00
kennethreitz eb572b5ab4 python 3.5.0 2015-10-08 09:43:15 -04:00
Owen Jacobson 67c3d38a03 Preserve original build directory (including previously-installed programs) when moving app to /app during build.
This means that binaries installed in $BUILD_DIR/.heroku/node (let's say) will
remain available during build, at the paths previous buildpacks established.
2015-10-07 18:47:24 -04:00
cclauss 8f4ca7f624 Python 3.5.0 and Pypy 2.6.1
Added python-3.5.0
Added pypy-2.6.1
Updated Readme.md
2015-09-22 12:12:19 +02:00
Matt Graham ce3bdb37ba Merge pull request #241 from heroku/readme-image
--------- Forwarded message ----------
From: M.-A. Lemburg <mal@python.org>
Date: Wed, Aug 12, 2015 at 1:41 AM
Subject: Re: [psf-trademarks] Question on usage of Python logo
To: Craig Kerstiens <craig@heroku.com>, psf-trademarks@python.org


Hi Craig,

we are happy to approve your use of the logo.

Thanks,
--
Marc-Andre Lemburg
Director
Python Software Foundation
http://www.python.org/psf/

On 27.07.2015 20:32, Craig Kerstiens wrote:...
2015-08-13 15:40:16 -04:00
Tom van Neerijnen a91e9c2fc1 export BUILD_DIR and friends after context change
Anything using theses exported variables should be using them in the new
context rather than the old
2015-08-12 11:43:39 +01:00
Tom van Neerijnen da96cdf21e set *PROFILE_PATH after context change
PROFILE_PATH and WEBCONCURRENCY_PROFILE_PATH must land in the new build context and
so should be set after the new context is created
2015-08-12 11:33:06 +01:00
Tom van Neerijnen 0b2e4e9b22 preserve ORIG_BUILD_DIR during the build process
using the apt buildpack in combination with the multi buildpack exports some
paths out of ORIG_BUILD_DIR. By copying instead of moving this should allow
building of python modules that have dependancies on any packages installed
into ORIG_BUILD_DIR.
2015-08-12 10:53:51 +01:00
kennethreitz 129ce5f0df changelog entry 2015-08-07 14:44:56 -04:00
kennethreitz 25f7421573 setuptools v18.1 2015-08-07 14:43:21 -04:00
Matt Graham 8c654b658c merge master 2015-07-31 16:58:44 -04:00
Matt Graham ed3691a0aa python banner image 2015-07-31 16:44:23 -04:00
kennethreitz ded2c5156a Merge pull request #239 from heroku/revert-238-mattgraham-patch-1
Revert "Update Readme.md"
2015-07-28 09:43:52 -04:00
Craig Kerstiens 7c3a6303d1 Revert "Update Readme.md" 2015-07-27 13:42:31 -07:00
kennethreitz 591ed6b150 Merge pull request #238 from heroku/mattgraham-patch-1
Update Readme.md
2015-07-27 16:37:59 -04:00
Matt Graham c1c4f50ef6 Update Readme.md 2015-07-27 14:30:36 -04:00
Matt Graham 2b29e7efeb Update Readme.md 2015-07-24 15:35:53 -04:00
kennethreitz 9f089b18e6 Rename Changelog.md to CHANGELOG.md 2015-07-16 11:52:26 -04:00
kennethreitz 9a1e43b8f2 Update Changelog.md 2015-07-16 11:31:41 -04:00
kennethreitz ac1ba4271c Update Changelog.md 2015-07-16 11:26:33 -04:00
kennethreitz af77d9baf8 Update Changelog.md 2015-07-16 11:25:05 -04:00
kennethreitz 706e6bab4f Update Changelog.md 2015-07-16 11:22:34 -04:00
kennethreitz b6fff224dd Update Changelog.md 2015-07-16 11:22:07 -04:00
kennethreitz 61d3d9580d Merge pull request #235 from jpadilla/master
Update pip to 7.1.0
2015-07-07 14:51:47 -04:00
José Padilla 69b88cb075 Update pip to 7.1.0 2015-07-02 18:15:11 -04:00
kennethreitz a00133892d v61 2015-06-30 08:06:24 -04:00
kennethreitz 5eb337b80d fix ix dyno ulimit 2015-06-30 08:06:19 -04:00
kennethreitz d6212b46ce new setuptools 2015-06-29 14:41:15 -04:00
kennethreitz 3558766ae8 support for ix dynos 2015-06-25 06:34:44 -04:00
kennethreitz 34f4dc43d6 Merge pull request #226 from msabramo/xtrace
Set xtrace if $BUILDPACK_XTRACE set
2015-06-21 13:06:55 -04:00
kennethreitz 0024336558 Merge pull request #232 from jpadilla/master
Update pip to v7.0.3 and setuptools to v17.0
2015-06-21 13:06:28 -04:00
José Padilla c60c5321df Update setuptools to v17.0 2015-06-05 09:16:38 -04:00
José Padilla 0ba69875f5 Remove vendor/pip-7.0.1.tar.gz 2015-06-05 09:16:27 -04:00
José Padilla c8812c7e15 Update pip to v7.0.3 2015-06-04 22:11:20 -04:00
kennethreitz 7d4093795b pypy 2.6.0 2015-06-05 07:44:35 +08:00
kennethreitz 628ad0cb8b requests[security]
fixes #231
2015-06-05 07:43:40 +08:00
Marc Abramowitz 77ddd7c8a6 Set xtrace if $BUILDPACK_XTRACE set
For debugging or for folks who are curious about how the buildpack
works.
2015-05-30 10:00:24 -07:00
kennethreitz c53d54f203 changelog 2015-05-27 16:55:38 -07:00
kennethreitz ed6fe287c4 proper setuptools version 2015-05-27 16:12:59 -07:00
kennethreitz 4f5a88a05a --disable-pip-version-check 2015-05-27 16:08:44 -07:00
kennethreitz 347c0eba81 updated pip and setuptools 2015-05-27 16:07:03 -07:00
kennethreitz 14b482603e Python v2.7.10 2015-05-27 16:04:25 -07:00
kennethreitz 58ce002d35 python 2.7.10 2015-05-27 13:12:43 -07:00
kennethreitz 7fd3a047fd GDAL 2015-05-14 08:42:56 +02:00
kennethreitz 26b4bfbab6 gdal fix 2015-05-14 08:38:11 +02:00
kennethreitz 9e00de4e56 improvements to gdal step 2015-05-14 08:28:32 +02:00
kennethreitz afa8a0f75f pre-compiled gdal step 2015-05-14 08:27:16 +02:00
kennethreitz 52b8ae82b8 gdal is a vendor library 2015-05-14 08:03:36 +02:00
kennethreitz e6c339ebae first attempt at gdal build 2015-05-13 16:41:26 +02:00
kennethreitz 3ea0735768 orig_build_dir 2015-05-05 18:33:49 -07:00
kennethreitz 54b930bba3 Merge remote-tracking branch 'origin/master' 2015-05-05 18:26:20 -07:00
kennethreitz bf202224b7 buildpack cleanup 2015-05-05 18:25:12 -07:00
kennethreitz cead16eb57 remove debugging env 2015-05-05 18:21:10 -07:00
kennethreitz 5c91c81968 skip steps if $DOCKER_BUILD is present 2015-05-05 18:16:58 -07:00
kennethreitz 42594a47c1 Revert "remove old anvil cruft"
This reverts commit 0a78bd001e.
2015-05-05 18:11:10 -07:00
kennethreitz 9d20adca1a env 2015-05-05 18:09:45 -07:00
kennethreitz 181c09cfb7 cleanup / debug 2015-05-05 18:08:31 -07:00
kennethreitz 770947d6e6 Merge pull request #220 from crizCraig/patch-1
Typo in buildpack command. `heroku buildpack:set` -> `heroku buildpacks:...
2015-05-05 17:54:32 -07:00
kennethreitz 0a78bd001e remove old anvil cruft 2015-05-05 15:09:45 -07:00
Craig Quiter 5a1ece3955 Typo in buildpack command. heroku buildpack:set -> heroku buildpacks:set 2015-05-04 12:44:41 -07:00
kennethreitz 8266b99d1e don't uninstall pip or setuptools 2015-05-04 11:59:42 -07:00
kennethreitz e27470778c update pip-pop 2015-05-04 11:52:34 -07:00
kennethreitz 8ef4a006e0 make tools 2015-05-04 11:30:04 -07:00
kennethreitz 4fdaf14ded new pip, new setuptools 2015-05-04 11:09:15 -07:00
kennethreitz f1da8d4b5c Merge pull request #217 from heroku/pyOpenSSL
Detect pyOpenSSL
2015-04-24 15:09:29 -04:00
Steven F eb9689c0a2 Detect pyOpenSSL
Some people use pyOpenSSL (it is the literal name, e.g.: https://pypi.python.org/pypi/pyOpenSSL)
2015-04-24 06:03:43 +00:00
kennethreitz 6fe7c6bde0 Merge pull request #215 from ryanwitt/patch-1
correct usage comment
2015-04-21 17:18:36 -04:00
Ryan Witt a1b372ac66 correct usage comment 2015-04-21 13:22:17 -04:00
kennethreitz ddead6457a Merge pull request #213 from heroku/watsonian-update-readme
Update README to reflect new buildpack:set usage
2015-04-17 08:38:25 -04:00
Joel Watson 92b4385890 Update README to reflect new buildpack:set usage. 2015-04-15 15:45:09 -05:00
kennethreitz 7074d5cb50 Merge remote-tracking branch 'origin/master' 2015-04-02 14:35:16 -04:00
kennethreitz 2b1f1182c3 Merge pull request #211 from ollanta/ollanta/prefer-shallow-managepy
Prefer a 'manage.py' that exists higher up in the directory hierarchy
2015-04-02 14:34:53 -04:00
Ollanta 38fc8f4fe7 Prefer a 'manage.py' that exists higher up in the directory hierarchy 2015-04-02 14:53:52 +02:00
kennethreitz a203495532 pypy v2.5.1 2015-04-01 14:48:02 -04:00
kennethreitz 33a69d7f52 Merge remote-tracking branch 'origin/master' 2015-04-01 14:06:57 -04:00
kennethreitz fe3f12c430 Merge pull request #208 from cyx/master
Upgrade pip and make netrc github work
2015-03-26 13:16:55 -04:00
Cyril David aeb1a297d3 Patch to allow netrc buildpack[1] to work.
[1]: https://github.com/timshadel/heroku-buildpack-github-netrc
2015-03-23 05:47:01 -07:00
kennethreitz 4c1972c0b9 Merge pull request #206 from cclauss/patch-11
Update Readme.md to python-2.7.9 and python-3.4.3
2015-03-20 11:26:23 -07:00
kennethreitz 74f0f319dc pypy 2.5.0 2015-03-19 13:42:03 -07:00
Cyril David 683bba59d7 Update to 6.0.8 2015-03-18 21:15:43 -07:00
cclauss f890cdb889 Update Readme.md to python-2.7.9 and python-3.4.3 2015-03-19 02:42:19 +01:00
kennethreitz b3a98641f5 PyOpenSSL capitalization 2015-03-18 12:52:08 -07:00
kennethreitz ecbcfff5cb Merge remote-tracking branch 'origin/master' 2015-03-18 12:48:42 -07:00
kennethreitz 085d295342 Revert "sub-env pip-install"
This reverts commit 3c2839147f.
2015-03-18 12:48:33 -07:00
kennethreitz e842703721 Merge pull request #196 from t-io/master
extend LIBRARY_PATH
2015-03-18 12:47:04 -07:00
kennethreitz c229070c21 don't print that the stack changed. 2015-03-18 12:43:31 -07:00
kennethreitz 67867f1083 add pyopenssl to libffi support 2015-03-17 14:31:01 -07:00
kennethreitz 91b76c4ca9 Python 3.4.3 2015-03-17 10:59:22 -07:00
Thomas Iovine d2b82441fe Update compile 2015-02-05 17:14:48 +01:00
kennethreitz 532b36f5f7 Merge pull request #194 from thruflo/secure-urls
http: update all external links to use secure protocol.
2015-01-15 17:29:59 -05:00
James Arthur abe34011e5 http: update all external links to use secure protocol. 2015-01-14 09:57:40 +00:00
kennethreitz 4b57be0ae1 fix px dyno ram 2015-01-08 14:45:55 -05:00
kennethreitz d8a75c56d0 WEBCONCURRENCY_PROFILE_PATH 2015-01-08 14:35:32 -05:00
kennethreitz 27ce818f3d PX Dynos = 9 workers 2015-01-08 14:32:35 -05:00
kennethreitz f582b2f4fa setuptools v11.3.1 2015-01-08 14:29:43 -05:00
kennethreitz c46a779ea1 python webconcurrency script 2015-01-06 14:08:16 -05:00
kennethreitz 06a7d9e187 further support for latest pip 2015-01-06 13:41:03 -05:00
kennethreitz ca773cf957 support for latest pip 2015-01-06 13:37:32 -05:00
kennethreitz 26b54b690c update pip and setuptools 2015-01-05 17:16:45 -05:00
kennethreitz 871d5b5935 Merge pull request #189 from cclauss/patch-8
Update Readme.md to pypy3-2.4.0
2014-12-25 23:12:46 -05:00
cclauss 0382c31225 Update Readme.md to pypy3-2.4.0 2014-12-25 11:17:47 +01:00
Kenneth Reitz 4a856ff5b3 remove vendor directory for cedar-14 2014-12-19 15:45:30 -05:00
Kenneth Reitz e247704dfb pypy3 2014-12-19 13:56:11 -05:00
Kenneth Reitz c8b031fafc change to pypy3 2014-12-19 13:45:53 -05:00
Kenneth Reitz 68b740cce6 pypy3! 2014-12-19 13:40:09 -05:00
kennethreitz e856e787aa Merge pull request #180 from cclauss/patch-6
Create pypy3-2.4.0
2014-12-19 13:39:21 -05:00
Kenneth Reitz 7e4159e297 default python: 2.7.9 2014-12-11 11:29:24 -06:00
Kenneth Reitz d9a73b847e python-2.7.9 2014-12-11 11:14:31 -06:00
kennethreitz 3dbeec8db1 Merge pull request #185 from pngdwnld/sub_env_pip
Allowing pip-install to have access to config vars
2014-12-08 11:18:43 -05:00
cclauss 8ec0b5f0dd Update pypy3-2.4.0 2014-11-21 19:46:34 +01:00
Patrick 3c2839147f sub-env pip-install 2014-11-20 12:24:21 -05:00
kennethreitz a51c162444 Merge pull request #182 from cclauss/patch-7
fix @kennethreitz's mess
2014-11-05 08:14:02 -05:00
cclauss 14096e0ca5 fix @kennethreit's mess
Should fix issue https://github.com/heroku/heroku-buildpack-python/issues/181
2014-11-05 00:19:33 +01:00
Kenneth Reitz 2631f5204b seutptools v7.0 2014-10-29 15:20:49 -04:00
Kenneth Reitz f3b1e54df4 fix @cclauss's mess 2014-10-28 01:19:03 -04:00
Kenneth Reitz 536b10b249 Revert "Add download_python function to reduce repetition"
This reverts commit ee93719b79.

Conflicts:
	builds/runtimes/download_python
2014-10-28 01:18:48 -04:00
Kenneth Reitz b22aa3b3a7 python 3.3.6 2014-10-28 01:12:12 -04:00
cclauss eb395a94f9 Create pypy3-2.4.0
Support for the new Pypy3 release http://morepypy.blogspot.com
2014-10-23 07:59:47 -04:00
Kenneth Reitz b2597c45d8 change file mode 2014-10-13 14:48:08 -04:00
kennethreitz 1525c1fb3a Merge pull request #176 from jalavik/libffi-typo
Fix typo in libffi check
2014-10-12 10:57:00 -04:00
kennethreitz fd17f5a470 Merge pull request #177 from cclauss/patch-4
Create python-3.4.2
2014-10-12 10:56:19 -04:00
kennethreitz ac923205d0 Merge pull request #178 from cclauss/patch-5
Readme updates to Python 3.4.2 and Pypy 2.4.0
2014-10-12 10:56:07 -04:00
cclauss 6617a3cac5 Readme updates to Python 3.4.2 and Pypy 2.4.0 2014-10-11 15:19:08 +02:00
cclauss 64a4f51e1b Update python-3.4.2 2014-10-11 15:15:15 +02:00
cclauss 6305ed415a Create python-3.4.2 2014-10-11 15:14:31 +02:00
Jan Aage Lavik 3dff0d48fe Fix typo in libffi check 2014-10-06 21:13:41 +02:00
Kenneth Reitz 6f94b366f8 pypy-2.4.0 2014-09-30 11:05:58 -04:00
kennethreitz 6bb89e6693 Merge pull request #172 from mansam/master
Install libffi for bcrypt as well
2014-09-26 14:55:05 -04:00
Samuel Lucidi 6252e80aa6 Install libffi for bcrypt as well 2014-09-26 10:37:27 -04:00
kennethreitz b22ef82b4f Merge pull request #163 from scrapinghub/readonly-buildpack
Do not fail if buildpack dir is readonly
2014-08-28 13:09:49 -04:00
kennethreitz 129bced2dd Merge pull request #168 from cclauss/master
Create download_python() function to reduce repetition
2014-08-28 13:09:18 -04:00
cclauss c82415733d Modified to use recommended local, compact syntax
local PYTHON_VERSION=${1:-2.7.8}

Thanks for the tip.  You learn something new every day.
2014-08-23 17:32:08 +02:00
cclauss ee93719b79 Add download_python function to reduce repetition
Create a common download_python() function that allows most other files in the build/runtimes directory to be simplified to something of the form:

```
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite

OUT_PREFIX=$1

source ./download_python
download_python "2.7.8"
cd src

./configure --prefix=$OUT_PREFIX
make
make install
```
2014-08-23 09:38:30 +02:00
cclauss 361eb53257 download_python() 2014-08-23 09:34:34 +02:00
cclauss bf9fe3badf download_python() 2014-08-23 09:33:16 +02:00
cclauss 9178962b84 download_python() 2014-08-23 09:31:51 +02:00
cclauss 2b4a68c8c8 download_python() 2014-08-23 09:30:25 +02:00
cclauss f38eec962f download_python() 2014-08-23 09:28:48 +02:00
cclauss a313e66d93 download_python() 2014-08-23 09:27:48 +02:00
cclauss c755286323 download_python() 2014-08-23 09:26:02 +02:00
cclauss 0d219f5d2e download_python() 2014-08-23 09:24:29 +02:00
cclauss 28bdeb6f4b download_python() 2014-08-23 09:22:58 +02:00
cclauss 496a1ad7d8 download_python() 2014-08-23 09:21:33 +02:00
cclauss 57dec77718 download_python() 2014-08-23 09:20:21 +02:00
cclauss 4dc60cb4ca download_python() 2014-08-23 09:18:53 +02:00
cclauss f5f67653f8 download_python() 2014-08-23 09:17:16 +02:00
cclauss b7fd5915a5 download_python() 2014-08-23 09:15:16 +02:00
cclauss 72f7c510b9 download_python() 2014-08-23 09:14:03 +02:00
cclauss ac62aa01d5 download_python() 2014-08-23 09:12:24 +02:00
cclauss a727daa6ff download_python() 2014-08-23 09:11:21 +02:00
cclauss 2187855da2 download_python() 2014-08-23 09:10:16 +02:00
cclauss fb1ed99470 download_python() 2014-08-23 09:08:21 +02:00
cclauss be68853991 download_python() 2014-08-23 09:06:38 +02:00
cclauss c9d794dc76 download_python() 2014-08-23 09:05:20 +02:00
cclauss c1cc0910c5 download_python() 2014-08-23 09:04:14 +02:00
cclauss 61095f726d download_python() 2014-08-23 09:02:56 +02:00
cclauss 721d062421 download_python() 2014-08-23 09:01:51 +02:00
cclauss f38c90b1d5 download_python() 2014-08-23 09:00:20 +02:00
cclauss 8c0284dbe8 download_python() 2014-08-23 08:58:47 +02:00
cclauss f8f4facdca download_python() 2014-08-23 08:57:32 +02:00
cclauss e97f13395f download_python() 2014-08-23 08:54:55 +02:00
cclauss dc87fca814 download_python() 2014-08-23 08:53:15 +02:00
cclauss aafd7caf77 download_python() 2014-08-23 08:51:50 +02:00
cclauss ef964bfc1a download_python() 2014-08-23 08:50:31 +02:00
cclauss e5ae885ae1 download_python() 2014-08-23 08:49:13 +02:00
cclauss 2291255133 download_python() 2014-08-23 08:47:11 +02:00
cclauss d48294f940 download_python() 2014-08-23 08:46:01 +02:00
cclauss ef87cce5a9 download_python() 2014-08-23 08:44:38 +02:00
cclauss 63048e641d download_python() 2014-08-23 08:43:05 +02:00
cclauss 91aa427137 download_python() 2014-08-23 08:41:49 +02:00
cclauss 811c1ceeb6 download_python() 2014-08-23 08:40:06 +02:00
cclauss 8c2e95fb46 download_python() 2014-08-23 08:38:27 +02:00
cclauss d47fb9f718 download_python() 2014-08-23 08:36:32 +02:00
cclauss 4625eca277 download_python() 2014-08-23 08:35:17 +02:00
cclauss b2abb41a38 download_python() 2014-08-23 08:33:05 +02:00
cclauss b228d36041 download_python() 2014-08-23 08:31:30 +02:00
cclauss 7680aea223 download_python() 2014-08-23 08:30:01 +02:00
cclauss 771042a619 download_python() 2014-08-23 08:28:41 +02:00
cclauss b1f7713916 download_python() 2014-08-23 08:27:22 +02:00
cclauss 7b0c04b95b download_python() 2014-08-23 08:25:44 +02:00
cclauss 9f09c934bf download_python() 2014-08-23 08:24:30 +02:00
cclauss 88bad450fd download_python() 2014-08-23 08:22:06 +02:00
cclauss 7614f77431 download_python() 2014-08-23 08:20:44 +02:00
cclauss 761f27958a download_python() 2014-08-23 08:19:25 +02:00
Daniel Graña 52347a0c98 Do not fail if buildpack dir is readonly 2014-08-22 11:05:31 -03:00
Kenneth Reitz e2e97b774a Merge remote-tracking branch 'origin/master' 2014-08-21 14:33:06 -04:00
Kenneth Reitz 4f0f97959f package finder update for pip-pop 2014-08-21 14:33:02 -04:00
kennethreitz 93f4eeb227 Merge pull request #162 from cclauss/patch-6
Updated pypy to 2.3.1 and added pypy3
2014-08-19 12:49:28 -04:00
cclauss ec769e00bb Update Readme.md 2014-08-12 22:12:02 +02:00
cclauss ade975d48f Update Readme.md 2014-08-09 08:33:40 +02:00
Kenneth Reitz 16a07abd51 fix for libmemcached & cedar-14 2014-08-06 17:10:23 -04:00
Kenneth Reitz 2bc071b323 python 3 compatibility 2014-08-05 13:33:12 -04:00
cclauss 3c07ec133e Updated pypy to 2.3.1 and added pypy3
Both are marked (unsupported, experimental).
2014-08-05 14:46:28 +02:00
Kenneth Reitz 5c74244695 fix for cryptography detection 2014-08-04 13:11:05 -04:00
Kenneth Reitz 4e877e4f11 conanical source tarball 2014-08-04 12:11:29 -04:00
Kenneth Reitz 51ec7e3741 attempt of libffi 2014-08-01 21:19:44 -04:00
Kenneth Reitz 1f983fea40 libffi for cedar attempt 2014-08-01 21:12:30 -04:00
Kenneth Reitz a26f0374ec setuptools sanity check 2014-08-01 18:16:54 -04:00
Kenneth Reitz a0029a8411 suppress pip-grep errors 2014-08-01 18:10:15 -04:00
Kenneth Reitz 2de3b6cf1c remove debug statement 2014-08-01 18:04:46 -04:00
Kenneth Reitz fd19ec2c6a support for cryptography! 2014-08-01 18:00:49 -04:00
Kenneth Reitz 6aec3ed37a pylibmc 2014-08-01 17:56:44 -04:00
Kenneth Reitz 7f7f0f7e3d actual libffi support! 2014-08-01 17:37:26 -04:00
Kenneth Reitz dd210c9002 libffi support? 2014-08-01 17:32:17 -04:00
Kenneth Reitz 2ae4bd156f vendor dir for libffi 2014-08-01 16:58:17 -04:00
Kenneth Reitz 8740fcdbad bugfix! 2014-08-01 16:49:08 -04:00
Kenneth Reitz fb18948243 Merge branch 'master' into pylibmc 2014-08-01 16:40:39 -04:00
Kenneth Reitz e104d36785 sub-env 2014-08-01 16:37:00 -04:00
Kenneth Reitz 1786231a49 move requirements to home directory first. 2014-08-01 16:34:53 -04:00
Kenneth Reitz fa8e09ae9c debug 2014-08-01 16:05:57 -04:00
Kenneth Reitz 2dd212d020 silence untar 2014-08-01 16:03:45 -04:00
Kenneth Reitz 15acd305d1 mkdir -p 2014-08-01 16:02:32 -04:00
Kenneth Reitz 5a65a39c5e sub-env, not source 2014-08-01 15:57:24 -04:00
Kenneth Reitz f18754f8f0 pylibmc attempt 2014-08-01 15:46:14 -04:00
Kenneth Reitz e860234d05 fix for pip-grep 2014-08-01 15:15:37 -04:00
Kenneth Reitz 50d61d2935 moving things around 2014-08-01 15:12:19 -04:00
Kenneth Reitz 47c40ce086 Squashed commit of smart-requirements branch
commit 60a2a9d0720693b9438b0f1c75f570dc96bf3a4b
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:58:29 2014 -0400

    silent mode

commit 20368e741993a2c96739aa1de457618a5272bfe7
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:56:00 2014 -0400

    pylibmc

commit 8a512995d806ad58e4a8cab9cd712e762277dcf3
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:55:25 2014 -0400

    fix for pip-grep

commit 0b83a0ac11ee67f08dc843b01ecfe72c9b9c2938
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:50:35 2014 -0400

    cat that shit

commit 27095d320f4e6c0a6bccec945efbdb6f09598cfc
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:49:11 2014 -0400

    don't silence the output

commit db15ac279169467e1e78cfcc55cb740660d4b4c9
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:46:55 2014 -0400

    hello

commit 6b851815b07331bf185f218c40d62123df048b7b
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:41:37 2014 -0400

    cleanup

commit b2ccf76ccb244976e5ee71164cfe591925cb13a4
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:41:14 2014 -0400

    remove last debugging statement

commit fdcb7a210327f01fdc49dba00c3928cbb4778c72
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:39:10 2014 -0400

    remove debugging statements

commit dd58a898e4e5244f3b78ce0402537a1b730a3cc3
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:36:02 2014 -0400

    bp watch

commit c722f6e964b2a25f91d153c65f0c473ff22ff4c8
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:34:34 2014 -0400

    install finished

commit 81644ba1956798c06f55a8ce4c86239ca4ee8036
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Fri Aug 1 14:33:04 2014 -0400

    install started

commit 62d0e3b81a5ac25e8ceab735e25cf2bb8d161f0b
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 14:54:59 2014 -0400

    debug

commit 1775a1b206780fd99d013ca7c0cb8d8de17a8461
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 13:01:15 2014 -0400

    test0

commit 3d20cf89ae0f9436a54c456779a544a3b9d226ac
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:57:07 2014 -0400

    test2/2

commit 751d7496893bc84430a93cd479511786bce9abb9
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:50:11 2014 -0400

    silent mode

commit f927b7b3dee18c6ee58b36a3f96ad66e53b8d46d
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:44:58 2014 -0400

    pylibmc with pip-grep

commit 00dfc36701bf72191f0ad7b7d5533ba7a9ac3b10
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:41:11 2014 -0400

    no debug echo

commit 38d78d800583fc89100cadc551ce715c5800f0b8
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:40:06 2014 -0400

    source, not subenv

commit f455de19a8c1150aa2a4df164b90c2dc9a195942
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:36:35 2014 -0400

    don't print "installing dependencies with pip" twice

commit e72ed7ddbafa0722d2ac6f0cdaf4ac4d0ca0f634
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:35:47 2014 -0400

    refactor

commit 64819d9fd7ac042ef56499750b47214eb863f8d2
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:24:26 2014 -0400

    pip-grep

commit 5e075dd7dbeda9084ea7ce0151dc17924251c258
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Thu Jul 31 12:24:13 2014 -0400

    no more travis

commit bc9baba04436dc7b8aefeaee24e820a9720ee9e8
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 29 13:32:40 2014 -0400

    if not requirement

commit 0918d781e50e6190d1045c19c5c5a37e00d669dc
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 29 13:28:28 2014 -0400

    only use requirments that are truthy

commit 4f0f750407eae6bc7faea50c7b607a10a11ad1c5
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 29 13:25:15 2014 -0400

    new version of pip-diff

commit d13b397a21733d0a0a5e31c4995dc6a3b65cd977
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 29 13:12:23 2014 -0400

    ignore errors for pip-diff

commit bb09fb0d5051f69a35e086030b11fd39d1539f84
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 29 12:55:55 2014 -0400

    uninstall the packages

commit 29b2e1f2dbe7761e3f7f55827d0adcd0025aeb4b
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 29 12:47:21 2014 -0400

    maybe this one should be relative

commit 2448558624fdce634350e904eaad5fd3aa725c22
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 29 12:44:04 2014 -0400

    docopt

commit 47010d297330869516f6add46ace97a41cdccb8d
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 29 12:40:36 2014 -0400

    first pass at pip-pop integration

commit 59ac5912e1322be771d1969687891ebeb9f4b5f0
Author: Kenneth Reitz <me@kennethreitz.com>
Date:   Tue Jul 22 14:42:08 2014 -0400

    copy requirements
2014-08-01 15:00:38 -04:00
Kenneth Reitz 2032942b61 Merge remote-tracking branch 'origin/master' 2014-07-18 14:46:33 -04:00
Kenneth Reitz 0076fe4f53 remove bunk pypys 2014-07-18 14:46:31 -04:00
Kenneth Reitz 9b18412ecc pypy ALL the things! 2014-07-18 14:30:02 -04:00
Kenneth Reitz 5f0ba6a371 pypy 2.3.1 attempt for cedar-14 2014-07-18 14:08:02 -04:00
kennethreitz 1e2953b22e Update Readme.md 2014-07-18 13:53:51 -04:00
kennethreitz e27ad6f919 Update Readme.md 2014-07-18 13:52:48 -04:00
Kenneth Reitz bfa7180b7b setuptools v5.4.1 2014-07-18 13:46:06 -04:00
Kenneth Reitz 24ae4f9bda further output cleanups 2014-07-18 13:42:32 -04:00
Kenneth Reitz cbb7512c9a cleanup build output a bit 2014-07-18 13:39:36 -04:00
Kenneth Reitz 869576e8ab hard-coded to system python 2014-07-18 13:31:14 -04:00
Kenneth Reitz 9187dccb54 remove debugging information 2014-07-17 16:44:38 -04:00
Kenneth Reitz eb6193d13e really don't skip install 2014-07-17 16:43:38 -04:00
Kenneth Reitz a43eaaaf81 don't skip the install 2014-07-17 16:42:05 -04:00
Kenneth Reitz c31574d7d6 record the stack 2014-07-17 16:40:04 -04:00
Kenneth Reitz 3a42f565cb change the order of things 2014-07-17 16:39:29 -04:00
Kenneth Reitz 8f1942a9a5 don't hardcode cedar-14 2014-07-17 16:24:38 -04:00
Kenneth Reitz ab05b61638 stack changed, delete things 2014-07-17 16:21:36 -04:00
Kenneth Reitz 5c4a414cb7 $STACK and $CACHED_PYTHON_STACK 2014-07-17 15:56:13 -04:00
Kenneth Reitz 0e11dbadbf bpwatch 2014-07-17 15:40:32 -04:00
Kenneth Reitz 96cf5718b2 2.6.0, 2.6.1 notices for cedar, not cedar-14 2014-07-16 10:34:25 -04:00
Kenneth Reitz d3f8351744 no tests 2014-07-15 10:56:04 -04:00
Kenneth Reitz 9d903fd92f changes 2014-07-15 10:36:01 -04:00
Kenneth Reitz f77d8aaec3 disable sticky versions 2014-07-11 14:50:31 -04:00
Kenneth Reitz 4c2b867172 cedar-14 in download url, echo stack 2014-07-11 14:36:51 -04:00
Kenneth Reitz 1bdf4a0c64 debugging 2014-07-11 13:39:16 -04:00
Kenneth Reitz c2b1465548 missed two more 2014-07-11 13:36:41 -04:00
Kenneth Reitz f4471062a9 missed one 2014-07-11 13:35:05 -04:00
Kenneth Reitz f843a95343 comment out all bpwatch calls 2014-07-11 13:28:28 -04:00
Kenneth Reitz 1605422808 no pypy yet 2014-07-09 16:37:33 -04:00
Kenneth Reitz 5ee2bdbd10 no shared for python-2.7.8 2014-07-09 16:37:12 -04:00
Kenneth Reitz f4c7160763 ld_library_path? 2014-07-07 14:20:34 -04:00
Kenneth Reitz 3e81740517 pypy v2.3.1 2014-07-07 14:10:38 -04:00
Kenneth Reitz a8e065969f libffi: --enable-shared 2014-07-07 13:59:34 -04:00
Kenneth Reitz 688d167190 pypy 2.0 2014-07-07 13:54:40 -04:00
Kenneth Reitz 4553dafeca autoconf formula 2014-07-07 13:47:02 -04:00
Kenneth Reitz 8aeceb00e4 libffi 2014-07-07 13:42:06 -04:00
Kenneth Reitz 022aa736ec update of autoconf 2014-07-07 13:39:36 -04:00
Kenneth Reitz 2cad413958 new libffi attempt 2014-07-07 13:28:12 -04:00
Kenneth Reitz f5fb42e535 add autoconf 2014-07-07 13:21:45 -04:00
Kenneth Reitz 4995eeec41 follow redirects 2014-07-07 13:16:19 -04:00
Kenneth Reitz 0961b59420 libffi attempt 2014-07-07 13:13:48 -04:00
Kenneth Reitz 1fdeedf112 python 3.3.5 2014-07-03 16:55:45 -04:00
Kenneth Reitz 43c7079a07 Default Python: 2.7.8 2014-07-02 10:33:24 -04:00
Kenneth Reitz 097f64721a merge 2014-07-02 10:28:38 -04:00
Kenneth Reitz b3b6c78657 update readme with new python versions 2014-07-02 10:27:38 -04:00
Kenneth Reitz fcfc2f8651 python-2.7.8 (--shared) 2014-07-02 10:12:19 -04:00
kennethreitz 1f9b0bfe02 Merge pull request #150 from cclauss/patch-2
Readme: Update Python versions to match compile
2014-06-20 06:04:33 +08:00
kennethreitz 533def6b57 Merge pull request #152 from yunojuno/master
Update pylibmc to support nested requirements.
2014-06-20 06:03:25 +08:00
Hugo Rodger-Brown 826193ef5a Update pylibmc to support nested requirements.
The current regex assumes that pylibmc appears at the beginning of a line
(whitespace only precedes it), which is a fair assumption in a single 'flat'
requirements.txt file. However, if you are using nested requirements then
this is not the case - your pylibmc may exist in a sub-directory. This is
very similar to the way in which mercurial is installed if "hg+" is found
in the requirements file (see the /bin/compile script). By insisting that
pylibmc appear at the beginning of the file, it's impossible to fool the
compilation into installing libmemcached (as this script does) by simply
putting the phrase into a comment, which is what you *can* do with 'hg+'.

I've updated the regex to remove the beginning of line restriction. This
means that you can add a comment to a top-level requirements.txt that
will trigger the install, without having to functionally alter your
nested requirements.

e.g. top-level requirements.txt:

    # fake comment to trigger pylibmc script
    # fake comment to trigger hg+ install
    -r requirements/production.txt
2014-06-18 18:13:37 +01:00
cclauss 631aa4b356 Readme: Update Python versions to match compile
Also matches recent updates to https://devcenter.heroku.com/articles/python-runtimes
2014-06-17 20:09:25 +02:00
Kenneth Reitz 067422b4b4 disabled shared for python-2.7.7 (for reportlab) 2014-06-12 16:46:34 -04:00
Kenneth Reitz 7ec8f12648 append $LD_LIBRARY_PATH 2014-06-04 17:12:24 -04:00
Kenneth Reitz 731a0cb0bf ignore LIBRARY_CONFIG from the environment. 2014-06-04 11:21:02 -04:00
Kenneth Reitz ebd97e9b93 Make LD_LIBRARY_PATH 2014-06-04 11:20:20 -04:00
kennethreitz 9fcf81c170 Merge pull request #147 from cclauss/patch-7
Update pypy-1.9
2014-06-03 16:12:38 -04:00
kennethreitz 1f2cb16dbb Merge pull request #148 from cclauss/patch-6
Update pypy-1.8
2014-06-03 14:45:29 -04:00
cclauss 827306728f Update pypy-1.9
1.7 --> 1.9 in two locations.
2014-06-03 06:57:01 +02:00
cclauss f6076cb7f0 Update pypy-1.8
1.7 --> 1.8 in two locations.
2014-06-03 06:55:47 +02:00
Kenneth Reitz 694386e233 pypy time 2014-06-02 17:55:32 -04:00
Kenneth Reitz f11928af11 pypy 1.x series 2014-06-02 17:49:12 -04:00
Kenneth Reitz acda8f640a ughhhhhh 2014-06-02 17:41:01 -04:00
Kenneth Reitz 4ff3a5d818 lol consistency
Who was the 3.3.0 release manager? :)
2014-06-02 17:39:07 -04:00
Kenneth Reitz 314b729c8a 3.3.x series 2014-06-02 17:35:10 -04:00
Kenneth Reitz 9fb676aba9 python 3.x series 2014-06-02 17:12:42 -04:00
Kenneth Reitz b91741d10d 3.1.x series 2014-06-02 17:08:15 -04:00
Kenneth Reitz f3787356b6 2.4.x series 2014-06-02 16:56:26 -04:00
Kenneth Reitz def3136c85 no shared for 2.5 2014-06-02 15:34:28 -04:00
Kenneth Reitz abb0c9b384 Python 2.5.x series 2014-06-02 14:49:11 -04:00
Kenneth Reitz 87b2891c1a set LIBRARY_PATH and LD_LIBRARY_PATH in runtime 2014-06-02 14:03:59 -04:00
Kenneth Reitz 52c34ef64f append to include paths 2014-06-02 13:55:05 -04:00
Kenneth Reitz 40bc836a55 --enable-shared
/cc @GrahamDumpleton
2014-06-02 10:44:05 -04:00
Kenneth Reitz d2738ece19 fix for 2.6.x series 2014-06-02 10:40:09 -04:00
Kenneth Reitz f758a5d738 --enable-shared 2014-06-02 10:28:35 -04:00
Kenneth Reitz 63edc5d89b let's see if that helps 2014-06-02 10:28:29 -04:00
Kenneth Reitz 0db1584f21 try different tarball 2014-06-02 10:15:03 -04:00
Kenneth Reitz 1ed173f21d 2.6.5 2014-06-02 10:06:12 -04:00
Kenneth Reitz b17f3f51f7 2.6.x series! 2014-06-02 10:05:28 -04:00
Kenneth Reitz 4f0556cce7 Import of full 2.7.x series 2014-06-02 09:44:20 -04:00
Kenneth Reitz b55a5e5ec8 python-2.7.7, new build infrastructure 2014-06-02 09:35:57 -04:00
Kenneth Reitz 68acbb064d chmod +x 2014-06-02 09:14:19 -04:00
Kenneth Reitz 92df76793f python 2.7.7 2014-06-02 08:47:06 -04:00
Kenneth Reitz 5cda51c7a5 Removing PYTHONPATH from sub-env blacklist
This should fixe the mysterious collectstatic bug. (#143)
2014-06-02 08:38:29 -04:00
Kenneth Reitz 659a406eb8 3.4.0 2014-05-30 09:43:29 -04:00
Kenneth Reitz 4cf2dd5b32 removed old pip vendoring style 2014-05-30 09:35:25 -04:00
Kenneth Reitz 100a5ba0bc fix uploads 2014-05-30 09:34:39 -04:00
Kenneth Reitz ab16abaa88 new style of pip and setuptools vendoring 2014-05-30 09:31:02 -04:00
Kenneth Reitz 989dd1dd2a pip v1.5.6, setuptools v3.6 2014-05-30 09:06:42 -04:00
Kenneth Reitz 0468ef22c4 revert pip/setuptools changes 2014-05-29 09:00:15 -04:00
kennethreitz 6238994a17 Merge pull request #131 from dulaccc/fix-build-api-compilation
Use a default SLUG_ID value
2014-05-26 09:09:37 -04:00
kennethreitz 7ba2fe66a0 Merge pull request #138 from cclauss/master
Test cases for django 1.6, simple-runtime-P2, P3, and Pypy2
2014-05-26 09:08:49 -04:00
kennethreitz dfaec438d9 Merge pull request #141 from cclauss/patch-3
Create python-3.4.1
2014-05-26 08:30:46 -04:00
cclauss aaeef59ff6 Create python-3.4.1 2014-05-19 21:13:31 +02:00
cclauss 4d35f5129a Updated latest supported Python3 to 3.4.0 2014-05-11 23:29:01 +02:00
cclauss 84f610347c Updated pip to 1.5.5 and setuptools to 3.6 2014-05-11 23:04:33 +02:00
cclauss 44bfda1320 Added django 1.6, simple-runtime-P2, P3, and Pypy2 2014-05-11 23:00:05 +02:00
cclauss 330524adba Changed if len(history): to if history: 2014-05-11 22:47:30 +02:00
cclauss 85bddf8f00 Added simple runtime test for Pypy 2 2014-05-11 22:44:39 +02:00
cclauss 7b0d891f4d Added simple runtime test for Pypy 2 2014-05-11 22:43:45 +02:00
cclauss 84f0e2feba Added simple runtime test for Pypy 2 2014-05-11 22:42:49 +02:00
cclauss 76309c35ec Added simple runtime test for Python 2 2014-05-11 22:38:35 +02:00
cclauss 3f6b453c0a Added simple runtime test for Python 2 2014-05-11 22:37:03 +02:00
cclauss 43dbb49103 Updated Requests to 2.2.1 2014-05-11 22:33:33 +02:00
cclauss f08f93f347 Updated Python to 3.4.0 2014-05-11 22:32:20 +02:00
cclauss e0c852f4b9 Added django 1.6 skeleton for testing 2014-05-11 22:30:27 +02:00
cclauss 15373996f4 Added django 1.6 skeleton for testing 2014-05-11 22:29:42 +02:00
cclauss ff1e8da0cb Added django 1.6 skeleton for testing 2014-05-11 22:28:41 +02:00
cclauss 99f7f5b9f1 Update __init__.py 2014-05-11 22:27:31 +02:00
cclauss 656f390de8 Added django 1.6 skeleton for testing 2014-05-11 22:27:15 +02:00
cclauss 42a7e79359 Added django 1.6 skeleton for testing 2014-05-11 22:26:20 +02:00
cclauss bf084cc2ac Added django 1.6 skeleton for testing 2014-05-11 22:24:44 +02:00
cclauss eaaba665bc Added django 1.6 skeleton for testing 2014-05-11 22:23:24 +02:00
kennethreitz 94d311134c Merge pull request #132 from dulaccc/fix-tests
Add missing Makefile
2014-04-28 18:16:50 -04:00
Pierre Dulac 0d49ae9851 Add missing Makefile 2014-04-21 11:46:45 +02:00
Pierre Dulac a5c39384a8 Use a default SLUG_ID value
otherwise the build fails using the Heroku beta
[builds api](https://gist.github.com/friism/c5df3e3e0091bbc6b9f2)
2014-04-20 14:53:47 +02:00
Kenneth Reitz cb6bc30bc6 deploy instructions 2014-04-02 14:40:15 -04:00
Kenneth Reitz 82c72a94d9 v0.0.5 2014-04-02 14:32:12 -04:00
Kenneth Reitz f327afd364 builds for python 2014-04-02 14:29:33 -04:00
Kenneth Reitz d94f4c5bbc Merge branch 'master' into builds 2014-04-02 14:06:57 -04:00
Kenneth Reitz 8be04ea656 no ! 2014-04-02 14:05:09 -04:00
Kenneth Reitz de7c16d942 handhold for collectstatic 2014-04-02 14:02:18 -04:00
Kenneth Reitz 5ea843458a improved collectstatic experience 2014-04-02 13:37:19 -04:00
Kenneth Reitz 758941d12f readme stub 2014-03-26 11:33:14 -04:00
Kenneth Reitz e01d5bc18b bob-builder start 2014-03-26 11:30:27 -04:00
Kenneth Reitz 2c16539190 Merge branch 'stop-finding' of git://github.com/agriffis/heroku-buildpack-python into develop 2014-03-21 15:57:39 -04:00
kennethreitz ed79e61a2f Merge pull request #120 from agriffis/sed-func
Use a sed() function for unbuffered output.
2014-03-21 15:51:18 -04:00
kennethreitz b7bcc69722 Update Readme.md 2014-03-03 16:02:31 -05:00
Kenneth Reitz 3dde375d0b pip v1.5.4 2014-02-21 10:08:50 -06:00
Kenneth Reitz 483e30a5ba --allow-all-external 2014-02-21 10:04:23 -06:00
Aron Griffis e783556e6b dotglob FTW. Doesn't expand . or .. but be explicit just in case. 2014-02-19 20:43:18 -05:00
Kenneth Reitz 5645a433dc Merge remote-tracking branch 'origin/master' 2014-02-19 11:59:07 -05:00
Kenneth Reitz 715ab8b96a Update to Setuptools 2.1 and Pip 1.5.2
So seamless.
2014-02-19 11:59:02 -05:00
Aron Griffis 5f96190eb5 Stop calling find for simple operations. Just use extglob.
Additionally use `cp -a` consistently rather than alternating between
`cp -a` and `cp -r`, and don't fail compile if the glob doesn't expand to
anything.
2014-02-17 15:28:17 -05:00
Aron Griffis c579162ef9 Use consistent syntax for declaring functions in utils 2014-02-17 14:55:55 -05:00
Aron Griffis a5cca6de75 Use a sed() function for unbuffered output.
In `bin/steps/collectstatic` the unbuffered output in `indent` is subverted
by calling `sed` first:

```shell
python $MANAGE_FILE collectstatic --noinput  2>&1 | sed '/^Copying/d;/^$/d;/^ /d' | indent
```

This commit fixes this by making `sed` itself unbuffered rather than
putting that logic in the `indent` function.
2014-02-17 14:49:09 -05:00
kennethreitz b7f1157693 Merge pull request #118 from uniphil/master
fix url to testing buildpack
2014-02-14 13:58:49 -05:00
Phil Schleihauf ae7b6fc715 fix url to testing buildpack 2014-02-14 13:56:49 -05:00
Kenneth Reitz e0c3b72950 update runtime docs, thanks @uniphil!
#117
2014-02-14 13:41:34 -05:00
Kenneth Reitz 566f7f4555 new buildpack env standard 2014-01-21 17:47:05 -05:00
Kenneth Reitz 4ff62b2b41 sticky python versions bugfix 2014-01-17 17:06:54 -08:00
Kenneth Reitz d47970fd81 sticky runtimes 2014-01-17 16:47:55 -08:00
Kenneth Reitz 69bdca063f fix sub-env for when env file is not present 2013-12-20 17:15:24 -05:00
Kenneth Reitz 63cea99415 chmod +x 2013-12-20 16:48:34 -05:00
Kenneth Reitz 5ecd27e3b8 chmod +x 2013-12-13 16:03:39 -08:00
Kenneth Reitz 206a2dbc04 third argument support for envs in compile 2013-12-13 15:48:39 -08:00
kennethreitz 2a083791b6 Merge pull request #113 from zyegfryed/patch-3
Fixed Python runtime according to the official Heroku doc
2013-11-14 19:59:56 -08:00
kennethreitz d5b2b0b464 Merge pull request #114 from catsby/update_default_postgresql
Update Heroku Postgresql default add-on to hobby-dev
2013-11-14 19:59:40 -08:00
Clint Shryock 2eab1ad845 Update Heroku Postgresql default add-on to hobby-dev 2013-11-12 14:10:52 -06:00
Sébastien Fievet 2b16420d41 Fixed Python runtime according to the official Heroku doc
See https://devcenter.heroku.com/articles/python-runtimes#supported-runtimes
2013-11-04 09:24:36 +01:00
kennethreitz 9fa0889499 Update bpwatch 2013-10-17 15:43:51 -04:00
kennethreitz 99b17fabeb Merge pull request #105 from bacongobbler/patch-1
update shebang to use python2 for bpwatch
2013-10-17 11:37:00 -07:00
kennethreitz 933d3014d7 Merge pull request #103 from grosskur/library-path-fix
Make vendored libraries available at compile time (fixes #57)
2013-10-17 11:36:34 -07:00
Kenneth Reitz 018e0f31de Merge remote-tracking branch 'origin/master' 2013-09-01 06:27:46 +05:30
Kenneth Reitz cf1647e937 no --use-mirrors 2013-09-01 06:27:18 +05:30
Matthew Fisher b9f154bf38 update shebang to use python2 for bpwatch 2013-08-27 16:49:55 -07:00
Kenneth Reitz 4cc18ce0af Merge pull request #104 from zyegfryed/patch-1
Typo
2013-08-27 09:12:23 -07:00
Sébastien Fievet f5ea1c24a3 Typo 2013-08-25 18:41:46 +02:00
Kenneth Reitz 952b0bb735 v28 2013-08-14 22:02:11 -04:00
Kenneth Reitz 8b7edad8a2 bugfix for bpwatch 2013-08-14 22:01:16 -04:00
Kenneth Reitz 02787ac910 update bpwatch.zip for request_id 2013-08-14 21:19:12 -04:00
Alan Grosskurth bcc3ba09ca Make vendored libraries available at compile time (fixes #57)
When building, BUILD_DIR is set to a temporary directory. Vendored
libraries (e.g., pylibmc) are downloaded and unpacked in
$BUILD_DIR/.heroku/vendor/lib, but this is not currently in
LIBRARY_PATH or LD_LIBRARY_PATH.

Fix this by doing the following:

* Add $BUILD_DIR/.heroku/vendor/lib to LIBRARY_PATH/LD_LIBRARY_PATH

* Add $BUILD_DIR/.heroku/vendor/include to
  C_INCLUDE_PATH/CPLUS_INCLUDE_PATH

* Add $BUILD_DIR/.heroku/vendor/bin to PATH, so vendored commands can
  be used at compile time (e.g., curl-config)

* Add $BUILD_DIR/.heroku/vendor/lib/pkg-config to PKG_CONFIG_PATH, so
  vendored packages can be found with pkg-config
2013-08-14 16:59:31 -07:00
Kenneth Reitz 31e65dc58b new bpwatch 2013-07-17 17:04:37 -04:00
Kenneth Reitz 9a227e6c73 v24 2013-07-17 08:38:47 -04:00
Kenneth Reitz ddc9c24d34 deep-rm for normal builds 2013-07-17 08:34:14 -04:00
Kenneth Reitz 42488a2be7 deep-rm 2013-07-17 08:33:36 -04:00
Kenneth Reitz 839486c25b make things pretty, skip anvil build for normal runs 2013-07-17 08:25:17 -04:00
Kenneth Reitz 5d56200179 bugfix for legacy apps + usr_env_compile 2013-07-16 16:54:33 -04:00
306 changed files with 2742 additions and 52737 deletions
-6
View File
@@ -1,6 +0,0 @@
language: python
python:
- 2.7
script: make tests
notifications:
email: false
+59
View File
@@ -0,0 +1,59 @@
# Python Buildpack Changelog
## v70 (2015-10-29)
Improved compatibility with multi and node.js buildpacks.
## v69 (2015-10-12)
Revert to v66.
## v68 (2015-10-12)
Fixed .heroku/venv error with modern apps.
## v67 (2015-10-12)
Further improved cache compatibility with multi and node.js buildpacks.
## v66 (2015-10-09)
Improved compatibility with multi and node.js buildpacks.
## v65 (2015-10-08)
Reverted v64.
## v64 (2015-10-08)
Improved compatibility with multi and node.js buildpacks.
## v63 (2015-10-08)
Updated Pip and Setuptools.
- Setuptools updated to v18.3.2
- Pip updated to v7.1.2
## v62 (2015-08-07)
Updated Pip and Setuptools.
- Setuptools updated to v18.1
- Pip updated to v7.1.0
## v61 (2015-06-30)
Updated Pip and Setuptools.
- Setuptools updated to v18.0.1
- Pip updated to v7.0.3
## v60 (2015-05-27)
Default Python is now latest 2.7.10. Updated Pip and Distribute.
- Default Python version is v2.7.10
- Setuptools updated to v16.0
- Pip updated to v7.0.1
-130
View File
@@ -1,130 +0,0 @@
## v14
Features:
* Full removal of Django settings injection for new apps.
* Support for profile.d
* Fresh app detection.
* Update to Virtualenv v1.7.2
* Updated to Pip v1.1 (patched)
Bugfixes:
* Default pip path exists action.
## v13
Bugfixes:
* Fix pip quoting error.
* Only talk about collectstatic in buildpack output when it's configured.
## v12
Bugfixes:
* Catch database setting corner case.
## v11
Bugfixes:
* Cleanup collectstatic output.
## v10
Bugfixes:
* Check for collectstatic validity with --dry-run instead of --help for Django 1.4.
## v9
Bugfixes:
* Unset PYTHONHOME in buildpack for [user_env_compile](http://devcenter.heroku.com/articles/labs-user-env-compile).
## v8
Features:
* Disable Django collectstatic with `$DISABLE_COLLECTSTATIC` + [user_env_compile](http://devcenter.heroku.com/articles/labs-user-env-compile).
Bugfixes:
* Don't disbable injection for new Django apps.
* Inform user of July 1, 2012 deprecation of Django injection.
## v7
Features:
* Full removal of Django setting injection for new apps.
* Automatic execution of collectstatic.
* Suppress collectstatic errors via env SILENCE_COLLECTSTATIC.
* Increase settings.py search depth to 3.
* Search recursively from included requirements.txt files.
## v6 (03/23/2012)
Features:
* Dist packages (setup.py) support.
* Move new virtualenvs to `/app/.heroku/venv`.
* Heavily improved Django app detection, accounting for `Django` in `requirements.txt`.
* Literate [documentation](http://python-buildpack.herokuapp.com).
* Default `$PYTHONHOME`, `$PYTHONPATH`, and `$LANG` configurations.
* Disable Django setting injection with `$DISABLE_INJECTION` + [user_env_compile](http://devcenter.heroku.com/articles/labs-user-env-compile).
* General code refactor and improved messaging.
* Unit tests.
Bugfixes:
* Django 1.4 startproject template layout support.
* Django `manage.py` location can now be independent from `settings.py`.
## v5 (02/01/2012)
Bugfixes:
* Git requirements 100% work.
## v4 (01/20/2012)
Features:
* Updated to virtualenv v1.7 with patched pip v1.2.
* Actually activate created virtualenv within compile process.
* Use distribute instead of deprecated setuptools.
* Automatically destroy and rebuild corrupt virtualenvs.
* Refactor django and pylibmc detection.
Bugfixes:
* Fixed `package==dev` in requirements with patched pip embedded within virtualenv. Patch upstreamed.
* Minor curl/rm flag fixes (thanks, contributors!)
## v3 (12/07/2011)
Bugfixes:
* Better django setup.py injection.
## v2 (11/15/2011)
Features:
* Support for pylibmc and libmemcached +sasl.
Bugfixes:
* Detect when virtualenv is checked in and alert user.
## v1 (10/01/2011)
* Conception.
+7 -18
View File
@@ -1,21 +1,10 @@
# These targets are not files
.PHONY: tests
tests: tests:
./bin/test ./bin/test
docs: tools:
mkdir -p site git clone https://github.com/kennethreitz/pip-pop.git
shocco -t 'Python Buildpack Compiler' ./bin/compile > site/index.html mv pip-pop/bin/* vendor/pip-pop/
shocco -t 'Django Buildpack Compiler' ./bin/steps/django > site/django.html rm -fr pip-pop
shocco -t 'Python Buildpack Detector' ./bin/detect > site/detect.html
shocco -t 'Pylibmc Buildpack Compiler' ./bin/steps/pylibmc > site/pylibmc.html
shocco -t 'Python Buildpack Changelog' ./Changelog.md > site/changelog.html
site: docs
cd site && git add -A && git commit -m 'update' && git push heroku master
pip:
git clone git@github.com:kennethreitz/pip.git --branch heroku --depth 1
rm -fr vendor/virtualenv-1.8.4/virtualenv_support/pip-1.2.1.tar.gz
rm -fr pip/.git
tar -pczf vendor/virtualenv-1.8.4/virtualenv_support/pip-1.2.1.tar.gz pip
rm -fr pip
+21 -23
View File
@@ -1,9 +1,8 @@
Heroku buildpack: Python # Heroku buildpack: Python
======================== ![python-banner](https://cloud.githubusercontent.com/assets/51578/8914205/ecf2047c-346b-11e5-98c5-42547f9f4410.jpg)
This is a [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Python apps, powered by [pip](http://www.pip-installer.org/). This is a [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Python apps, powered by [pip](http://www.pip-installer.org/).
[![Build Status](https://secure.travis-ci.org/heroku/heroku-buildpack-python.png?branch=master)](http://travis-ci.org/heroku/heroku-buildpack-python)
Usage Usage
----- -----
@@ -13,31 +12,27 @@ Example usage:
$ ls $ ls
Procfile requirements.txt web.py Procfile requirements.txt web.py
$ heroku create --stack cedar --buildpack git://github.com/heroku/heroku-buildpack-python.git $ heroku create --buildpack git://github.com/heroku/heroku-buildpack-python.git
$ git push heroku master $ git push heroku master
... ...
-----> Fetching custom git buildpack... done
-----> Python app detected -----> Python app detected
-----> No runtime.txt provided; assuming python-2.7.3. -----> Installing runtime (python-2.7.10)
-----> Preparing Python runtime (python-2.7.3) -----> Installing dependencies using pip
-----> Installing Distribute (0.6.34) Downloading/unpacking requests (from -r requirements.txt (line 1))
-----> Installing Pip (1.2.1) Installing collected packages: requests
-----> Installing dependencies using Pip (1.2.1) Successfully installed requests
Downloading/unpacking Flask==0.7.2 (from -r requirements.txt (line 1))
Downloading/unpacking Werkzeug>=0.6.1 (from Flask==0.7.2->-r requirements.txt (line 1))
Downloading/unpacking Jinja2>=2.4 (from Flask==0.7.2->-r requirements.txt (line 1))
Installing collected packages: Flask, Werkzeug, Jinja2
Successfully installed Flask Werkzeug Jinja2
Cleaning up... Cleaning up...
-----> Discovering process types
Procfile declares types -> (none)
You can also add it to upcoming builds of an existing application: You can also add it to upcoming builds of an existing application:
$ heroku config:add BUILDPACK_URL=git://github.com/heroku/heroku-buildpack-python.git $ heroku buildpacks:set git://github.com/heroku/heroku-buildpack-python.git
The buildpack will detect your app as Python if it has the file `requirements.txt` in the root. The buildpack will detect your app as Python if it has the file `requirements.txt` in the root.
It will use Pip to install your dependencies, vendoring a copy of the Python runtime into your slug. It will use Pip to install your dependencies, vendoring a copy of the Python runtime into your slug.
Specify a Runtime Specify a Runtime
----------------- -----------------
@@ -45,10 +40,13 @@ Specify a Runtime
You can also provide arbitrary releases Python with a `runtime.txt` file. You can also provide arbitrary releases Python with a `runtime.txt` file.
$ cat runtime.txt $ cat runtime.txt
python-3.3.0 python-3.5.0
Runtime options include: Runtime options include:
- python-2.7.4 - python-2.7.10
- python-3.3.1 - python-3.5.0
- pypy-1.9 (experimental) - pypy-2.6.1 (unsupported, experimental)
- pypy3-2.4.0 (unsupported, experimental)
Other [unsupported runtimes](https://github.com/heroku/heroku-buildpack-python/tree/master/builds/runtimes) are available as well.
+123 -136
View File
@@ -2,12 +2,13 @@
# Usage: # Usage:
# #
# $ bin/compile <build-dir> <cache-dir> # $ bin/compile <build-dir> <cache-dir> <env-path>
# Fail fast and fail hard. # Fail fast and fail hard.
set -eo pipefail set -eo pipefail
[ "$BUILDPACK_XTRACE" ] && set -o xtrace
# Prepend proper path for virtualenv hackery. This will be deprecated soon. # Prepend proper path for virtualenv hackery. This will be deprecated soon.
export PATH=:/usr/local/bin:$PATH export PATH=:/usr/local/bin:$PATH
@@ -16,30 +17,34 @@ BIN_DIR=$(cd $(dirname $0); pwd) # absolute path
ROOT_DIR=$(dirname $BIN_DIR) ROOT_DIR=$(dirname $BIN_DIR)
BUILD_DIR=$1 BUILD_DIR=$1
CACHE_DIR=$2 CACHE_DIR=$2
ENV_DIR=$3
CACHED_DIRS=".heroku"
# Static configurations for virtualenv caches. # Static configurations for virtualenv caches.
VIRTUALENV_LOC=".heroku/venv" VIRTUALENV_LOC=".heroku/venv"
LEGACY_TRIGGER="lib/python2.7" LEGACY_TRIGGER="lib/python2.7"
PROFILE_PATH="$BUILD_DIR/.profile.d/python.sh"
# Python version. This will be used in the future to specify custom Pythons. DEFAULT_PYTHON_VERSION="python-2.7.10"
DEFAULT_PYTHON_VERSION="python-2.7.4" DEFAULT_PYTHON_STACK="cedar"
PYTHON_EXE="/app/.heroku/python/bin/python" PYTHON_EXE="/app/.heroku/python/bin/python"
PIP_VERSION="1.3.1" PIP_VERSION="7.1.2"
DISTRIBUTE_VERSION="0.6.36" SETUPTOOLS_VERSION="18.3.2"
# Setup bpwatch
export PATH=$PATH:$ROOT_DIR/vendor/bpwatch export PATH=$PATH:$ROOT_DIR/vendor/bpwatch
LOGPLEX_KEY="t.b90d9d29-5388-4908-9737-b4576af1d4ce"
LOGPLEX_KEY="t.b396af7f-ad75-4643-8b9e-ebb288acc624"
BUILDPACK_VERSION=HEAD
export BPWATCH_STORE_PATH=$CACHE_DIR/bpwatch.json export BPWATCH_STORE_PATH=$CACHE_DIR/bpwatch.json
BUILDPACK_VERSION=v28
# Setup pip-pop (pip-diff)
export PATH=$PATH:$ROOT_DIR/vendor/pip-pop
# Support Anvil Build_IDs
[ ! "$SLUG_ID" ] && SLUG_ID="defaultslug"
[ ! "$REQUEST_ID" ] && REQUEST_ID=$SLUG_ID [ ! "$REQUEST_ID" ] && REQUEST_ID=$SLUG_ID
[ ! "$STACK" ] && STACK=$DEFAULT_PYTHON_STACK
# Sanitizing environment variables.
unset GIT_DIR PYTHONHOME PYTHONPATH LD_LIBRARY_PATH LIBRARY_PATH
bpwatch init $LOGPLEX_KEY bpwatch init $LOGPLEX_KEY
bpwatch build python $BUILDPACK_VERSION $REQUEST_ID bpwatch build python $BUILDPACK_VERSION $REQUEST_ID
@@ -47,13 +52,6 @@ TMP_APP_DIR=$CACHE_DIR/tmp_app_dir
bpwatch start compile bpwatch start compile
# Sanitizing environment variables.
unset GIT_DIR PYTHONHOME PYTHONPATH LD_LIBRARY_PATH LIBRARY_PATH
# We'll need to send these statics to other scripts we `source`.
export BUILD_DIR CACHE_DIR BIN_DIR PROFILE_PATH
# Syntax sugar. # Syntax sugar.
source $BIN_DIR/utils source $BIN_DIR/utils
@@ -61,45 +59,75 @@ source $BIN_DIR/utils
APP_DIR='/app' APP_DIR='/app'
TMP_APP_DIR=$CACHE_DIR/tmp_app_dir TMP_APP_DIR=$CACHE_DIR/tmp_app_dir
# Copy Anvil app dir to temporary storage... # Skip these steps for Docker.
bpwatch start anvil_appdir_stage if [[ ! "$DOCKER_BUILD" ]]; then
mkdir -p $TMP_APP_DIR
deep-mv $APP_DIR $TMP_APP_DIR # Copy Anvil app dir to temporary storage...
bpwatch stop anvil_appdir_stage bpwatch start anvil_appdir_stage
if [ "$SLUG_ID" ]; then
mkdir -p $TMP_APP_DIR
deep-mv $APP_DIR $TMP_APP_DIR
else
deep-rm $APP_DIR
fi
bpwatch stop anvil_appdir_stage
# Copy Application code in.
bpwatch start appdir_stage
deep-cp $BUILD_DIR $APP_DIR
bpwatch stop appdir_stage
fi
# Copy Application code in.
bpwatch start appdir_stage
deep-mv $BUILD_DIR $APP_DIR
bpwatch stop appdir_stage
# Set new context. # Set new context.
ORIG_BUILD_DIR=$BUILD_DIR ORIG_BUILD_DIR=$BUILD_DIR
BUILD_DIR=$APP_DIR BUILD_DIR=$APP_DIR
# Set up outputs under new context
PROFILE_PATH="$BUILD_DIR/.profile.d/python.sh"
WEBCONCURRENCY_PROFILE_PATH="$BUILD_DIR/.profile.d/python.webconcurrency.sh"
# We'll need to send these statics to other scripts we `source`.
export BUILD_DIR CACHE_DIR BIN_DIR PROFILE_PATH
# Prepend proper path buildpack use. # Prepend proper path buildpack use.
export PATH=$BUILD_DIR/.heroku/python/bin:$PATH export PATH=$BUILD_DIR/.heroku/python/bin:$BUILD_DIR/.heroku/vendor/bin:$PATH
export PYTHONUNBUFFERED=1 export PYTHONUNBUFFERED=1
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
export LIBRARY_PATH=/app/.heroku/vendor/lib export C_INCLUDE_PATH=/app/.heroku/vendor/include:$BUILD_DIR/.heroku/vendor/include:/app/.heroku/python/include
export LD_LIBRARY_PATH=/app/.heroku/vendor/lib export CPLUS_INCLUDE_PATH=/app/.heroku/vendor/include:$BUILD_DIR/.heroku/vendor/include:/app/.heroku/python/include
export LIBRARY_PATH=/app/.heroku/vendor/lib:$BUILD_DIR/.heroku/vendor/lib:/app/.heroku/python/lib
export LD_LIBRARY_PATH=/app/.heroku/vendor/lib:$BUILD_DIR/.heroku/vendor/lib:/app/.heroku/python/lib
export PKG_CONFIG_PATH=/app/.heroku/vendor/lib/pkg-config:$BUILD_DIR/.heroku/vendor/lib/pkg-config:/app/.heroku/python/lib/pkg-config
# Switch to the repo's context. # Switch to the repo's context.
cd $BUILD_DIR cd $BUILD_DIR
# Experimental pre_compile hook. # Experimental pre_compile hook.
bpwatch start pre_compile bpwatch start pre_compile
source $BIN_DIR/steps/hooks/pre_compile source $BIN_DIR/steps/hooks/pre_compile
bpwatch stop pre_compile bpwatch stop pre_compile
# If no requirements given, assume `setup.py develop`. # If no requirements given, assume `setup.py develop`.
if [ ! -f requirements.txt ]; then if [ ! -f requirements.txt ]; then
puts-step "No requirements.txt provided; assuming dist package."
echo "-e ." > requirements.txt echo "-e ." > requirements.txt
fi fi
# Sticky runtimes.
if [ -f $CACHE_DIR/.heroku/python-version ]; then
DEFAULT_PYTHON_VERSION=$(cat $CACHE_DIR/.heroku/python-version)
fi
# Stack fallback for non-declared caches.
if [ -f $CACHE_DIR/.heroku/python-stack ]; then
CACHED_PYTHON_STACK=$(cat $CACHE_DIR/.heroku/python-stack)
else
CACHED_PYTHON_STACK=$DEFAULT_PYTHON_STACK
fi
# If no runtime given, assume default version. # If no runtime given, assume default version.
if [ ! -f runtime.txt ]; then if [ ! -f runtime.txt ]; then
puts-step "No runtime.txt provided; assuming $DEFAULT_PYTHON_VERSION."
echo $DEFAULT_PYTHON_VERSION > runtime.txt echo $DEFAULT_PYTHON_VERSION > runtime.txt
fi fi
@@ -108,15 +136,20 @@ mkdir -p $CACHE_DIR
# Purge "old-style" virtualenvs. # Purge "old-style" virtualenvs.
bpwatch start clear_old_venvs bpwatch start clear_old_venvs
[ -d $CACHE_DIR/$LEGACY_TRIGGER ] && rm -fr $CACHE_DIR/.heroku/bin $CACHE_DIR/.heroku/lib $CACHE_DIR/.heroku/include [ -d $CACHE_DIR/$LEGACY_TRIGGER ] && rm -fr $CACHE_DIR/.heroku/bin $CACHE_DIR/.heroku/lib $CACHE_DIR/.heroku/include
[ -d $CACHE_DIR/$VIRTUALENV_LOC ] && rm -fr $CACHE_DIR/.heroku/venv $CACHE_DIR/.heroku/src [ -d $CACHE_DIR/$VIRTUALENV_LOC ] && rm -fr $CACHE_DIR/.heroku/venv $CACHE_DIR/.heroku/src
bpwatch stop clear_old_venvs bpwatch stop clear_old_venvs
# Restore old artifacts from the cache. # Restore old artifacts from the cache.
bpwatch start restore_cache bpwatch start restore_cache
for dir in $CACHED_DIRS; do mkdir -p .heroku
cp -R $CACHE_DIR/$dir . &> /dev/null || true
done cp -R $CACHE_DIR/.heroku/python .heroku/ &> /dev/null || true
cp -R $CACHE_DIR/.heroku/python-stack .heroku/ &> /dev/null || true
cp -R $CACHE_DIR/.heroku/python-version .heroku/ &> /dev/null || true
cp -R $CACHE_DIR/.heroku/vendor .heroku/ &> /dev/null || true
cp -R $CACHE_DIR/.heroku/venv .heroku/ &> /dev/null || true
bpwatch stop restore_cache bpwatch stop restore_cache
set +e set +e
@@ -126,99 +159,33 @@ set -e
mkdir -p $(dirname $PROFILE_PATH) mkdir -p $(dirname $PROFILE_PATH)
set +e
PYTHON_VERSION=$(cat runtime.txt)
# Install Python. # Install Python.
if [ -f .heroku/python-version ]; then source $BIN_DIR/steps/python
if [ ! $(cat .heroku/python-version) = $PYTHON_VERSION ]; then
bpwatch start uninstall_python
puts-step "Found $(cat .heroku/python-version), removing."
rm -fr .heroku/python
bpwatch stop uninstall_python
else
SKIP_INSTALL=1
fi
fi
# Sanity check for setuptools/distribute.
source $BIN_DIR/steps/setuptools
if [ ! "$SKIP_INSTALL" ]; then # Uninstall removed dependencies with Pip.
bpwatch start install_python source $BIN_DIR/steps/pip-uninstall
puts-step "Preparing Python runtime ($PYTHON_VERSION)"
curl http://envy-versions.s3.amazonaws.com/$PYTHON_VERSION.tar.bz2 -s | tar jx &> /dev/null
if [[ $? != 0 ]] ; then
puts-warn "Requested runtime ($PYTHON_VERSION) was not found."
puts-warn "Aborting. More info: https://devcenter.heroku.com/articles/python-support"
exit 1
fi
mv python .heroku/python
bpwatch stop install_python
# Record for future reference. # Mercurial support.
echo $PYTHON_VERSION > .heroku/python-version source $BIN_DIR/steps/mercurial
FRESH_PYTHON=true
hash -r
else
puts-step "Using Python runtime ($PYTHON_VERSION)"
fi
# If Pip isn't up to date:
if [ "$FRESH_PYTHON" ] || [[ ! $(pip --version) == *$PIP_VERSION* ]]; then
WORKING_DIR=$(pwd)
bpwatch start prepare_environment
bpwatch start install_distribute
# Prepare it for the real world
puts-step "Installing Distribute ($DISTRIBUTE_VERSION)"
cd $ROOT_DIR/vendor/distribute-$DISTRIBUTE_VERSION/
python setup.py install &> /dev/null
cd $WORKING_DIR
bpwatch stop install_distribute
bpwatch start install_pip
puts-step "Installing Pip ($PIP_VERSION)"
cd $ROOT_DIR/vendor/pip-$PIP_VERSION/
python setup.py install &> /dev/null
cd $WORKING_DIR
bpwatch stop install_pip
bpwatch stop prepare_environment
fi
set -e
hash -r
# Pylibmc support. # Pylibmc support.
# See [`bin/steps/pylibmc`](pylibmc.html).
bpwatch start pylibmc_install
source $BIN_DIR/steps/pylibmc source $BIN_DIR/steps/pylibmc
bpwatch stop pylibmc_install
# Install Mercurial if it appears to be required. # Libffi support.
if (grep -Fiq "hg+" requirements.txt) then source $BIN_DIR/steps/cryptography
bpwatch start mercurial_install
/app/.heroku/python/bin/pip install --use-mirrors mercurial | cleanup | indent # GDAL support.
bpwatch stop mercurial_install source $BIN_DIR/steps/gdal
fi
# Install dependencies with Pip. # Install dependencies with Pip.
puts-step "Installing dependencies using Pip ($PIP_VERSION)" source $BIN_DIR/steps/pip-install
[ ! "$FRESH_PYTHON" ] && bpwatch start pip_install
[ "$FRESH_PYTHON" ] && bpwatch start pip_install_first
/app/.heroku/python/bin/pip install --use-mirrors -r requirements.txt --exists-action=w --src=./.heroku/src | cleanup | indent
[ ! "$FRESH_PYTHON" ] && bpwatch stop pip_install
[ "$FRESH_PYTHON" ] && bpwatch stop pip_install_first
# Django collectstatic support. # Django collectstatic support.
bpwatch start collectstatic sub-env $BIN_DIR/steps/collectstatic
source $BIN_DIR/steps/collectstatic
bpwatch stop collectstatic
# ### Finalize # ### Finalize
# #
@@ -227,33 +194,53 @@ bpwatch stop collectstatic
set-env PATH '$HOME/.heroku/python/bin:$PATH' set-env PATH '$HOME/.heroku/python/bin:$PATH'
set-env PYTHONUNBUFFERED true set-env PYTHONUNBUFFERED true
set-env PYTHONHOME /app/.heroku/python set-env PYTHONHOME /app/.heroku/python
set-default-env LIBRARY_PATH /app/.heroku/vendor/lib set-env LIBRARY_PATH '/app/.heroku/vendor/lib:/app/.heroku/python/lib:$LIBRARY_PATH'
set-default-env LD_LIBRARY_PATH /app/.heroku/vendor/lib set-env LD_LIBRARY_PATH '/app/.heroku/vendor/lib:/app/.heroku/python/lib:$LD_LIBRARY_PATH'
set-default-env LANG en_US.UTF-8 set-default-env LANG en_US.UTF-8
set-default-env PYTHONHASHSEED random set-default-env PYTHONHASHSEED random
set-default-env PYTHONPATH /app/ set-default-env PYTHONPATH /app/
# Install sane-default script for WEB_CONCURRENCY environment variable.
cp $ROOT_DIR/vendor/python.webconcurrency.sh $WEBCONCURRENCY_PROFILE_PATH
# Experimental post_compile hook. # Experimental post_compile hook.
bpwatch start post_compile bpwatch start post_compile
source $BIN_DIR/steps/hooks/post_compile source $BIN_DIR/steps/hooks/post_compile
bpwatch stop post_compile bpwatch stop post_compile
# Store new artifacts in cache. # Store new artifacts in cache.
bpwatch start dump_cache bpwatch start dump_cache
for dir in $CACHED_DIRS; do
rm -rf $CACHE_DIR/$dir rm -rf $CACHE_DIR/.heroku/python
cp -R $dir $CACHE_DIR/ rm -rf $CACHE_DIR/.heroku/python-version
done rm -rf $CACHE_DIR/.heroku/python-stack
rm -rf $CACHE_DIR/.heroku/vendor
rm -rf $CACHE_DIR/.heroku/venv
mkdir -p $CACHE_DIR/.heroku
cp -R .heroku/python $CACHE_DIR/.heroku/
cp -R .heroku/python-version $CACHE_DIR/.heroku/
cp -R .heroku/python-stack $CACHE_DIR/.heroku/
cp -R .heroku/vendor $CACHE_DIR/.heroku/ &> /dev/null || true
cp -R .heroku/venv $CACHE_DIR/.heroku/ &> /dev/null || true
bpwatch stop dump_cache bpwatch stop dump_cache
# ### Fin. # ### Fin.
bpwatch start appdir_commit if [[ ! "$DOCKER_BUILD" ]]; then
deep-mv $BUILD_DIR $ORIG_BUILD_DIR
bpwatch stop appdir_commit
bpwatch start anvil_appdir_commit bpwatch start appdir_commit
deep-mv $TMP_APP_DIR $APP_DIR deep-rm $ORIG_BUILD_DIR
bpwatch stop anvil_appdir_commit deep-mv $BUILD_DIR $ORIG_BUILD_DIR
bpwatch stop appdir_commit
bpwatch start anvil_appdir_commit
if [ "$SLUG_ID" ]; then
deep-mv $TMP_APP_DIR $APP_DIR
fi
bpwatch stop anvil_appdir_commit
bpwatch stop compile
fi
bpwatch stop compile
+1 -1
View File
@@ -18,6 +18,6 @@ if [[ $MANAGE_FILE ]]; then
cat <<EOF cat <<EOF
addons: addons:
heroku-postgresql:dev heroku-postgresql:hobby-dev
EOF EOF
fi fi
Regular → Executable
+11 -11
View File
@@ -1,36 +1,36 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Syntax sugar. source $BIN_DIR/utils
indent() {
RE="s/^/ /"
[ $(uname) == "Darwin" ] && sed -l "$RE" || sed -u "$RE"
}
MANAGE_FILE=$(find . -maxdepth 3 -type f -name 'manage.py' | head -1) MANAGE_FILE=$(find . -maxdepth 3 -type f -name 'manage.py' -printf '%d\t%P\n' | sort -nk1 | cut -f2 | head -1)
MANAGE_FILE=${MANAGE_FILE:-fakepath} MANAGE_FILE=${MANAGE_FILE:-fakepath}
[ -f .heroku/collectstatic_disabled ] && DISABLE_COLLECTSTATIC=1 [ -f .heroku/collectstatic_disabled ] && DISABLE_COLLECTSTATIC=1
bpwatch start collectstatic
if [ ! "$DISABLE_COLLECTSTATIC" ] && [ -f "$MANAGE_FILE" ]; then if [ ! "$DISABLE_COLLECTSTATIC" ] && [ -f "$MANAGE_FILE" ]; then
set +e set +e
echo "-----> Preparing static assets"
# Check if collectstatic is configured properly. # Check if collectstatic is configured properly.
python $MANAGE_FILE collectstatic --dry-run --noinput &> /dev/null && RUN_COLLECTSTATIC=true python $MANAGE_FILE collectstatic --dry-run --noinput &> /dev/null && RUN_COLLECTSTATIC=true
# Compile assets if collectstatic appears to be kosher. # Compile assets if collectstatic appears to be kosher.
if [ "$RUN_COLLECTSTATIC" ]; then if [ "$RUN_COLLECTSTATIC" ]; then
echo "-----> Collecting static files" echo " Running collectstatic..."
python $MANAGE_FILE collectstatic --noinput 2>&1 | sed '/^Copying/d;/^$/d;/^ /d' | indent python $MANAGE_FILE collectstatic --noinput 2>&1 | sed '/^Copying/d;/^$/d;/^ /d' | indent
[ $? -ne 0 ] && { [ $? -ne 0 ] && {
echo " ! Error running manage.py collectstatic. More info:" echo " ! Error running 'manage.py collectstatic'. More info:"
echo " http://devcenter.heroku.com/articles/django-assets" echo " http://devcenter.heroku.com/articles/django-assets"
} }
else
echo " Collectstatic configuration error. To debug, run:"
echo " $ heroku run python $MANAGE_FILE collectstatic --noinput"
fi fi
echo echo
fi fi
bpwatch stop collectstatic
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/env bash
# This script serves as the Pylibmc build step of the
# [**Python Buildpack**](https://github.com/heroku/heroku-buildpack-python)
# compiler.
#
# A [buildpack](http://devcenter.heroku.com/articles/buildpacks) is an
# adapter between a Python application and Heroku's runtime.
#
# This script is invoked by [`bin/compile`](/).
# The location of the pre-compiled cryptography binary.
VENDORED_LIBFFI="https://lang-python.s3.amazonaws.com/$STACK/libraries/vendor/libffi.tar.gz"
PKG_CONFIG_PATH="/app/.heroku/vendor/lib/pkgconfig:$PKG_CONFIG_PATH"
# Syntax sugar.
source $BIN_DIR/utils
bpwatch start libffi_install
# If pylibmc exists within requirements, use vendored cryptography.
if (pip-grep -s requirements.txt bcrypt cffi cryptography pyOpenSSL PyOpenSSL requests[security] &> /dev/null) then
if [ -d ".heroku/vendor/lib/libffi-3.1.1" ]; then
export LIBFFI=$(pwd)/vendor
else
echo "-----> Noticed cffi. Bootstrapping libffi."
mkdir -p .heroku/vendor
# Download and extract cryptography into target vendor directory.
curl $VENDORED_LIBFFI -s | tar zxv -C .heroku/vendor &> /dev/null
export LIBFFI=$(pwd)/vendor
fi
fi
bpwatch stop libffi_install
Executable
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/env bash
# This script serves as the GDAL build step of the
# [**Python Buildpack**](https://github.com/heroku/heroku-buildpack-python)
# compiler.
#
# A [buildpack](http://devcenter.heroku.com/articles/buildpacks) is an
# adapter between a Python application and Heroku's runtime.
#
# This script is invoked by [`bin/compile`](/).
# The location of the pre-compiled cryptography binary.
VENDORED_GDAL="https://lang-python.s3.amazonaws.com/$STACK/libraries/vendor/gdal.tar.gz"
PKG_CONFIG_PATH="/app/.heroku/vendor/lib/pkgconfig:$PKG_CONFIG_PATH"
# Syntax sugar.
source $BIN_DIR/utils
bpwatch start gdal_install
# If GDAL exists within requirements, use vendored gdal.
if (pip-grep -s requirements.txt GDAL &> /dev/null) then
if [ -f ".heroku/vendor/bin/gdalserver" ]; then
export GDAL=$(pwd)/vendor
else
echo "-----> Noticed GDAL. Bootstrapping gdal."
mkdir -p .heroku/vendor
# Download and extract cryptography into target vendor directory.
curl $VENDORED_GDAL -s | tar zxv -C .heroku/vendor &> /dev/null
export GDAL=$(pwd)/vendor
fi
fi
bpwatch stop gdal_install
Regular → Executable
+1 -1
View File
@@ -3,5 +3,5 @@
if [ -f bin/post_compile ]; then if [ -f bin/post_compile ]; then
echo "-----> Running post-compile hook" echo "-----> Running post-compile hook"
chmod +x bin/post_compile chmod +x bin/post_compile
bin/post_compile sub-env bin/post_compile
fi fi
Regular → Executable
+1 -1
View File
@@ -3,5 +3,5 @@
if [ -f bin/pre_compile ]; then if [ -f bin/pre_compile ]; then
echo "-----> Running pre-compile hook" echo "-----> Running pre-compile hook"
chmod +x bin/pre_compile chmod +x bin/pre_compile
bin/pre_compile sub-env bin/pre_compile
fi fi
+6
View File
@@ -0,0 +1,6 @@
# Install Mercurial if it appears to be required.
if (grep -Fiq "hg+" requirements.txt) then
bpwatch start mercurial_install
/app/.heroku/python/bin/pip install mercurial | cleanup | indent
bpwatch stop mercurial_install
fi
+16
View File
@@ -0,0 +1,16 @@
# Install dependencies with Pip.
puts-step "Installing dependencies with pip"
[ ! "$FRESH_PYTHON" ] && bpwatch start pip_install
[ "$FRESH_PYTHON" ] && bpwatch start pip_install_first
/app/.heroku/python/bin/pip install -r requirements.txt --exists-action=w --src=./.heroku/src --allow-all-external --disable-pip-version-check --no-cache-dir | cleanup | indent
# Smart Requirements handling
cp requirements.txt .heroku/python/requirements-declared.txt
/app/.heroku/python/bin/pip freeze > .heroku/python/requirements-installed.txt
[ ! "$FRESH_PYTHON" ] && bpwatch stop pip_install
[ "$FRESH_PYTHON" ] && bpwatch stop pip_install_first
echo
+18
View File
@@ -0,0 +1,18 @@
set +e
# Install dependencies with Pip.
bpwatch start pip_uninstall
if [[ -f .heroku/python/requirements-declared.txt ]]; then
cp .heroku/python/requirements-declared.txt requirements-declared.txt
pip-diff --stale requirements-declared.txt requirements.txt --exclude setuptools pip > .heroku/python/requirements-stale.txt
rm -fr requirements-declared.txt
if [[ -s .heroku/python/requirements-stale.txt ]]; then
puts-step "Uninstalling stale dependencies"
/app/.heroku/python/bin/pip uninstall -r .heroku/python/requirements-stale.txt -y --exists-action=w | cleanup | indent
fi
fi
bpwatch stop pip_uninstall
set -e
+12 -14
View File
@@ -10,29 +10,27 @@
# This script is invoked by [`bin/compile`](/). # This script is invoked by [`bin/compile`](/).
# The location of the pre-compiled libmemcached binary. # The location of the pre-compiled libmemcached binary.
VENDORED_MEMCACHED="http://cl.ly/0a191R3K160t1w1P0N25/vendor-libmemcached.tar.gz" VENDORED_MEMCACHED="https://lang-python.s3.amazonaws.com/$STACK/libraries/vendor/libmemcache.tar.gz"
# Syntax sugar. # Syntax sugar.
source $BIN_DIR/utils source $BIN_DIR/utils
# If pylibmc exists within requirements, use vendored libmemcached.
if (grep -Eiq "^\s*pylibmc" requirements.txt) then
echo "-----> Noticed pylibmc. Bootstrapping libmemcached."
cd .heroku
if [ -d "vendor/lib/sasl2" ]; then bpwatch start pylibmc_install
# If pylibmc exists within requirements, use vendored libmemcached.
if (pip-grep -s requirements.txt pylibmc &> /dev/null) then
if [ -d ".heroku/vendor/lib/sasl2" ]; then
export LIBMEMCACHED=$(pwd)/vendor export LIBMEMCACHED=$(pwd)/vendor
else else
echo "-----> Noticed pylibmc. Bootstrapping libmemcached."
mkdir -p .heroku/vendor
# Download and extract libmemcached into target vendor directory. # Download and extract libmemcached into target vendor directory.
curl -s -L -o tmp-libmemcached.tar.gz $VENDORED_MEMCACHED curl $VENDORED_MEMCACHED -s | tar zxv -C .heroku/vendor &> /dev/null
tar -zxvf tmp-libmemcached.tar.gz > /dev/null
rm tmp-libmemcached.tar.gz
export LIBMEMCACHED=$(pwd)/vendor export LIBMEMCACHED=$(pwd)/vendor
fi fi
export LIBMEMCACHED=$(pwd)/vendor
cd ..
fi fi
bpwatch stop pylibmc_install
+78
View File
@@ -0,0 +1,78 @@
set +e
PYTHON_VERSION=$(cat runtime.txt)
# Install Python.
if [ -f .heroku/python-version ]; then
if [ ! $(cat .heroku/python-version) = $PYTHON_VERSION ]; then
bpwatch start uninstall_python
puts-step "Found runtime $(cat .heroku/python-version), removing"
rm -fr .heroku/python
bpwatch stop uninstall_python
else
SKIP_INSTALL=1
fi
fi
if [ ! $STACK = $CACHED_PYTHON_STACK ]; then
bpwatch start uninstall_python
rm -fr .heroku/python .heroku/python-stack .heroku/vendor
unset SKIP_INSTALL
bpwatch stop uninstall_python
fi
if [ ! "$SKIP_INSTALL" ]; then
bpwatch start install_python
puts-step "Installing runtime ($PYTHON_VERSION)"
# Prepare destination directory.
mkdir -p .heroku/python
curl https://lang-python.s3.amazonaws.com/$STACK/runtimes/$PYTHON_VERSION.tar.gz -s | tar zxv -C .heroku/python &> /dev/null
if [[ $? != 0 ]] ; then
puts-warn "Requested runtime ($PYTHON_VERSION) is not available for this stack ($STACK)."
puts-warn "Aborting. More info: https://devcenter.heroku.com/articles/python-support"
exit 1
fi
bpwatch stop install_python
# Record for future reference.
echo $PYTHON_VERSION > .heroku/python-version
echo $STACK > .heroku/python-stack
FRESH_PYTHON=true
hash -r
fi
# If Pip isn't up to date:
if [ "$FRESH_PYTHON" ] || [[ ! $(pip --version) == *$PIP_VERSION* ]]; then
WORKING_DIR=$(pwd)
bpwatch start prepare_environment
TMPTARDIR=$(mktemp -d)
trap "rm -rf $TMPTARDIR" RETURN
bpwatch start install_setuptools
# Prepare it for the real world
# puts-step "Installing Setuptools ($SETUPTOOLS_VERSION)"
tar zxf $ROOT_DIR/vendor/setuptools-$SETUPTOOLS_VERSION.tar.gz -C $TMPTARDIR
cd $TMPTARDIR/setuptools-$SETUPTOOLS_VERSION/
python setup.py install &> /dev/null
cd $WORKING_DIR
bpwatch stop install_setuptoools
bpwatch start install_pip
# puts-step "Installing Pip ($PIP_VERSION)"
tar zxf $ROOT_DIR/vendor/pip-$PIP_VERSION.tar.gz -C $TMPTARDIR
cd $TMPTARDIR/pip-$PIP_VERSION/
python setup.py install &> /dev/null
cd $WORKING_DIR
bpwatch stop install_pip
bpwatch stop prepare_environment
fi
set -e
hash -r
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Syntax sugar.
source $BIN_DIR/utils
if (pip-grep -s requirements.txt setuptools distribute &> /dev/null) then
puts-warn 'The package setuptools/distribute is listed in requirements.txt.'
puts-warn 'Please remove to ensure expected behavior. '
fi
+24 -1
View File
@@ -2,7 +2,7 @@
# #
# Create a Heroku app with the following buildpack: # Create a Heroku app with the following buildpack:
# https://github.com/ddollar/buildpack-tet # https://github.com/ddollar/buildpack-test
# #
# Push this Python buildpack to that Heroku app to # Push this Python buildpack to that Heroku app to
# run the tests. # run the tests.
@@ -20,6 +20,12 @@ testDetectWithEmptyReqs() {
assertCapturedSuccess assertCapturedSuccess
} }
testDetectDjango16() {
detect "django-1.6-skeleton"
assertCapturedEquals "Python"
assertCapturedSuccess
}
testDetectDjango15() { testDetectDjango15() {
detect "django-1.5-skeleton" detect "django-1.5-skeleton"
assertCapturedEquals "Python" assertCapturedEquals "Python"
@@ -62,6 +68,23 @@ testDetectNotPython() {
assertEquals "1" "${RETURN}" assertEquals "1" "${RETURN}"
} }
testDetectSimpleRuntimePypy2() {
detect "simple-runtime-pypy2"
assertCapturedEquals "Python"
assertCapturedSuccess
}
testDetectSimpleRuntimePython2() {
detect "simple-runtime-python2"
assertCapturedEquals "Python"
assertCapturedSuccess
}
testDetectSimpleRuntimePython3() {
detect "simple-runtime" # should probably be renamed simple-runtime-python3
assertCapturedEquals "Python"
assertCapturedSuccess
}
## utils ######################################## ## utils ########################################
+58 -19
View File
@@ -1,54 +1,93 @@
shopt -s extglob shopt -s extglob
[ $(uname) == "Darwin" ] && SED_FLAG='-l' || SED_FLAG='-u' if [ $(uname) == Darwin ]; then
sed() { command sed -l "$@"; }
else
sed() { command sed -u "$@"; }
fi
# Syntax sugar. # Syntax sugar.
indent() { indent() {
RE="s/^/ /" sed "s/^/ /"
sed $SED_FLAG "$RE"
} }
# Clean up pip output # Clean up pip output
cleanup() { cleanup() {
sed $SED_FLAG -e 's/\.\.\.\+/.../g' | sed $SED_FLAG '/already satisfied/Id' | sed $SED_FLAG -e '/Overwriting/Id' | sed $SED_FLAG -e '/python executable/Id' | sed $SED_FLAG -e '/no previously-included files/Id' sed -e 's/\.\.\.\+/.../g' | sed -e '/already satisfied/Id' | sed -e '/Overwriting/Id' | sed -e '/python executable/Id' | sed -e '/no previously-included files/Id'
} }
# Buildpack Steps. # Buildpack Steps.
function puts-step (){ puts-step() {
echo "-----> $@" echo "-----> $@"
} }
# Buildpack Warnings. # Buildpack Warnings.
function puts-warn (){ puts-warn() {
echo " ! $@" echo " ! $@"
} }
# Usage: $ set-env key value # Usage: $ set-env key value
function set-env (){ set-env() {
echo "export $1=$2" >> $PROFILE_PATH echo "export $1=$2" >> $PROFILE_PATH
} }
# Usage: $ set-default-env key value # Usage: $ set-default-env key value
function set-default-env (){ set-default-env() {
echo "export $1=\${$1:-$2}" >> $PROFILE_PATH echo "export $1=\${$1:-$2}" >> $PROFILE_PATH
} }
# Usage: $ set-default-env key value # Usage: $ un-set-env key
function un-set-env (){ un-set-env() {
echo "unset $1" >> $PROFILE_PATH echo "unset $1" >> $PROFILE_PATH
} }
# Does some serious copying. # Does some serious copying.
function deep-cp (){ deep-cp() {
find -H $1 -maxdepth 1 -name '.*' -a \( -type d -o -type f -o -type l \) -exec cp -a '{}' $2 \; declare source="$1" target="$2"
cp -r $1/!(tmp) $2
# echo copying $1 to $2 mkdir -p "$target"
# cp doesn't like being called without source params,
# so make sure they expand to something first.
# subshell to avoid surprising caller with shopts.
(
shopt -s nullglob dotglob
set -- "$source"/!(tmp|.|..)
[[ $# == 0 ]] || cp -a "$@" "$target"
)
} }
# Does some serious moving. # Does some serious moving.
function deep-mv (){ deep-mv() {
deep-cp $1 $2 deep-cp "$1" "$2"
deep-rm "$1"
rm -fr $1/!(tmp) }
find -H $1 -maxdepth 1 -name '.*' -a \( -type d -o -type f -o -type l \) -exec rm -fr '{}' \;
# Does some serious deleting.
deep-rm() {
# subshell to avoid surprising caller with shopts.
(
shopt -s dotglob
rm -rf "$1"/!(.curlrc|.netrc|tmp|.|..)
)
}
sub-env() {
WHITELIST=${2:-''}
BLACKLIST=${3:-'^(GIT_DIR|PYTHONHOME|LD_LIBRARY_PATH|LIBRARY_PATH|PATH)$'}
(
if [ -d "$ENV_DIR" ]; then
for e in $(ls $ENV_DIR); do
echo "$e" | grep -E "$WHITELIST" | grep -qvE "$BLACKLIST" &&
export "$e=$(cat $ENV_DIR/$e)"
:
done
fi
$1
)
} }
+31
View File
@@ -0,0 +1,31 @@
# Python Buildpack Binaries
To get started with it, create an app on Heroku inside a clone of this repository, and set your S3 config vars:
$ heroku create --buildpack https://github.com/heroku/heroku-buildpack-python#not-heroku
$ heroku config:set WORKSPACE_DIR=builds
$ heroku config:set AWS_ACCESS_KEY_ID=<your_aws_key>
$ heroku config:set AWS_SECRET_ACCESS_KEY=<your_aws_secret>
$ heroku config:set S3_BUCKET=<your_s3_bucket_name>
Then, shell into an instance and run a build by giving the name of the formula inside `builds`:
$ heroku run bash
Running `bash` attached to terminal... up, run.6880
~ $ bob build runtimes/python-2.7.6
Fetching dependencies... found 2:
- libraries/sqlite
Building formula runtimes/python-2.7.6:
=== Building Python 2.7.6
Fetching Python v2.7.6 source...
Compiling...
If this works, run `bob deploy` instead of `bob build` to have the result uploaded to S3 for you.
To speed things up drastically, it'll usually be a good idea to `heroku run bash --size PX` instead.
Enjoy :)
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
OUT_PREFIX=$1
echo "Building autoconf..."
SOURCE_TARBALL='https://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz'
curl -L $SOURCE_TARBALL | tar xz
cd autoconf-2.68
./configure --prefix=$OUT_PREFIX
make
make install
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
OUT_PREFIX=$1
# Use new path, containing autoconf.
export PATH="/app/.heroku/python/bin/:$PATH"
hash -r
echo "Building libffi..."
SOURCE_TARBALL='https://cl.ly/2s1t1u3v0N0I/download/libffi-3.1.tar'
curl -L $SOURCE_TARBALL | tar x
cd libffi-3.1
./configure --prefix=$OUT_PREFIX --disable-static &&
make
make install
# Cleanup
cd ..
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
OUT_PREFIX=$1
echo "Building SQLite..."
SOURCE_TARBALL='https://www.sqlite.org/sqlite-autoconf-3070900.tar.gz'
curl $SOURCE_TARBALL | tar xz
# jx
mv sqlite-autoconf-3070900 sqlite
cd sqlite
./configure --prefix=$OUT_PREFIX
make
make install
# Cleanup
cd ..
rm -fr sqlite
Vendored Executable
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/vendor/
OUT_PREFIX=$1
# Use new path, containing autoconf.
export PATH="/app/.heroku/python/bin/:$PATH"
hash -r
echo "Building gdal..."
SOURCE_TARBALL='http://download.osgeo.org/gdal/1.11.0/gdal-1.11.0.tar.gz'
curl -L $SOURCE_TARBALL | tar zx
cd gdal-1.11.0
./configure --prefix=$OUT_PREFIX &&
make
make install
# Cleanup
cd ..
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/vendor/
OUT_PREFIX=$1
# Use new path, containing autoconf.
export PATH="/app/.heroku/python/bin/:$PATH"
hash -r
echo "Building libffi..."
SOURCE_TARBALL='ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz'
curl -L $SOURCE_TARBALL | tar x
cd libffi-3.1
./configure --prefix=$OUT_PREFIX --disable-static &&
make
make install
# Cleanup
cd ..
+40
View File
@@ -0,0 +1,40 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/vendor/
OUT_PREFIX=$1
# fail hard
set -o pipefail
# fail harder
set -eux
DEFAULT_VERSION="1.0.18"
dep_version=${VERSION:-$DEFAULT_VERSION}
dep_dirname=libmemcached-${dep_version}
dep_archive_name=${dep_dirname}.tar.gz
dep_url=https://launchpad.net/libmemcached/1.0/${dep_version}/+download/${dep_archive_name}
# SASL Support.
echo "-----> Building cyrus-sasl 2.1.26..."
curl -LO ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-2.1.26.tar.gz
# FTP doesn't play well with piping into tar xz
tar xzf cyrus-sasl-2.1.26.tar.gz
pushd cyrus-sasl-2.1.26
./configure --prefix=${OUT_PREFIX} --with-plugindir=${OUT_PREFIX}lib/sasl2 --with-configdir=${OUT_PREFIX}lib/sasl2
make -s -j 9
make install -s
popd
echo "-----> Building libmemcached ${dep_version}..."
curl -L ${dep_url} | tar xz
pushd ${dep_dirname}
CPPFLAGS=-I${OUT_PREFIX}/include LDFLAGS=-L${OUT_PREFIX}/lib ./configure --prefix=${OUT_PREFIX} --without-memcached
make -s -j 9
make install -s
popd
echo "-----> Done."
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-1.7-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-1.7/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-1.8-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-1.8/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-1.9-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-1.9/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.0-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.0/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.0.1-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.0.1/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.0.2-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.0.2/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.1-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.1/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.2-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.2-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.2.1-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite, libraries/libffi
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.3-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.3-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.3.1-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.3.1-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.4.0-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.0-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.5.0-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.5.1-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.5.1-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.0-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.6.0-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.1-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-2.6.1-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy-4.0.0-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy-4.0.0-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy3-2.3.1-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy3-2.3.1-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy $OUT_PREFIX/bin/python
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar-14 stack, not cedar.
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy3-2.4.0-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy3-2.4.0-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy3 $OUT_PREFIX/bin/python
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.4 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.4.4/Python-2.4.4.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.4.4 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.4 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.4.5/Python-2.4.5.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.4.5 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.4 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.4.6/Python-2.4.6.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.4.6 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.5 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.5/Python-2.5.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.5 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.5.1/Python-2.5.1.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.1 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.5 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.5.2/Python-2.5.2.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.2 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.5 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.5.3/Python-2.5.3.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.3 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.5 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.5.4/Python-2.5.4.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.4 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.5.5/Python-2.5.5.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.5 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.5 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.5.6/Python-2.5.6.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.6 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar stack, not cedar-14.
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://www.python.org/ftp/python/2.6/Python-2.6.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
mv Python-2.6 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
# NOTICE: This formula only works for the cedar stack, not cedar-14.
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.1/Python-2.6.1.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.1 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.2/Python-2.6.2.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.2 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.3/Python-2.6.3.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.3 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.4/Python-2.6.4.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.4 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.5/Python-2.6.5.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.5 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.6/Python-2.6.6.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.6 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.7/Python-2.6.7.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.7 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.8/Python-2.6.8.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.8 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
# Protect 2.6 builds from parent Python (causes segfault during build).
unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.6.9/Python-2.6.9.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.9 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7/Python-2.7.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.1/Python-2.7.1.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.1 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.10/Python-2.7.10.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.10 src
cd src
./configure --prefix=$OUT_PREFIX --with-ensurepip=no
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.2/Python-2.7.2.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.2 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.3/Python-2.7.3.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.3 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.4/Python-2.7.4.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.4 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.5/Python-2.7.5.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.5 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.6/Python-2.7.6.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.6 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.7/Python-2.7.7.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.7 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.7/Python-2.7.7.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.7 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.8/Python-2.7.8.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.8 src
cd src
./configure --prefix=$OUT_PREFIX
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.8/Python-2.7.8.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.8 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/2.7.9/Python-2.7.9.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.9 src
cd src
./configure --prefix=$OUT_PREFIX --with-ensurepip=no
make
make install
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.1/Python-3.1.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.1.1/Python-3.1.1.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.1 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.1.2/Python-3.1.2.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.2 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.1.3/Python-3.1.3.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.3 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.1.4/Python-3.1.4.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.4 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.1.5/Python-3.1.5.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.5 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.2/Python-3.2.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.2.1/Python-3.2.1.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.1 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.2.2/Python-3.2.2.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.2 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.2.3/Python-3.2.3.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.3 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.2.4/Python-3.2.4.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.4 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.2.5/Python-3.2.5.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.5 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.3.0/Python-3.3.0.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.0 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.3.1/Python-3.3.1.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.1 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.3.2/Python-3.3.2.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.2 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.3.3/Python-3.3.3.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.3 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.3.4/Python-3.3.4.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.4 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.3.5/Python-3.3.5.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.5 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.3.6/Python-3.3.6.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.6 src
cd src
./configure --prefix=$OUT_PREFIX --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.4.0/Python-3.4.0.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.4.0 src
cd src
./configure --prefix=$OUT_PREFIX --with-ensurepip=no --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite
OUT_PREFIX=$1
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.4.1/Python-3.4.1.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.4.1 src
cd src
./configure --prefix=$OUT_PREFIX --with-ensurepip=no --enable-shared
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python

Some files were not shown because too many files have changed in this diff Show More