Compare commits

...

81 Commits

Author SHA1 Message Date
kennethreitz a3ed9c7155 Fix egg-links
commit cb2c57dcffe856ad547ad8fbd1907815713dc4a7
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:44:39 2017 -0500

    no files were found

commit 38f861f6c6dbb2825c6551f220e610bea619c27f
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:37:35 2017 -0500

    uninstall

commit db1db5d2a0ad364d646d378ccff62b9aa0257efd
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:36:41 2017 -0500

    pip cleanup

commit 2e16f233849f683ad9c9d00bad51c2dd5da11c18
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:35:13 2017 -0500

    uninstall

commit 078e43d2926b77a40f21026969ee930aa7ad0fee
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:31:39 2017 -0500

    fix

commit eff318eaf37161f0c496e130688b27d596b9cd7a
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:30:09 2017 -0500

    wfwef

commit d8955b452190b1b6a40049c94df564144c4607dc
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:28:30 2017 -0500

    oops

commit 0e83a0ae238bdea06ce0d184c8139b598f71745e
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:24:28 2017 -0500

    find

commit b9cb901ecb9d9075020f5c63e5faee04aade1ad7
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:23:04 2017 -0500

    don't

commit 3fd1a448e244a7c3f877ae75cd8672ef42a3f550
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:22:29 2017 -0500

    output

commit 884c6a40ee14365fccd4c9a34fb7733a833303a4
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:17:47 2017 -0500

    delete egg links

commit 9a16a8676abbd34b9ae0de3de4d52b4d358b2e35
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 11:14:18 2017 -0500

    remove egg-links

commit d45d9e977adc8ad7c5c18a27f1dfb20eb286bb5d
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 10:35:24 2017 -0500

    no echo

commit 5cfb64387db1c69fff57ac9afa0c996a34a4362d
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 10:33:58 2017 -0500

    debug

commit ac143097e9ee0a23464d16e2c6d414437046132e
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 10:26:27 2017 -0500

    no print 0

commit 72adfe2e4abd975f5df5350f06f93d1309ff4ed1
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 10:25:27 2017 -0500

    cat other one

commit e51e83ca3ec9a6710add90424f80f9bc7c3d5bf3
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 10:23:52 2017 -0500

    echo

commit def0231dd068fe4a854074bf42409ef373ac0977
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Jan 2 10:20:31 2017 -0500

    cat the files
2017-01-02 11:48:45 -05:00
matsulib 8db1f07fba Update README.md (#354) 2016-12-30 20:17:21 -05:00
kennethreitz 17081d0328 Squashed commit of the following:
commit b611ff0cd6ed05ff27a42b6c2da656441056cfba
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Fri Dec 23 23:11:51 2016 -0500

    remove debugging statements

commit d1ab87748b
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Fri Dec 23 23:05:46 2016 -0500

    ln -s

commit 6844d1252d
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Fri Dec 23 22:55:41 2016 -0500

    further debug

commit 1346c29089
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Fri Dec 23 22:54:42 2016 -0500

    debug

commit 3bc1b5e697
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Fri Dec 23 22:53:23 2016 -0500

    say when installing pip or setuptools
2016-12-23 23:24:34 -05:00
kennethreitz 9a6fa0478a Python 3.6.0 2016-12-23 12:51:20 -05:00
Jason Dusek 573ded6d41 Idempotency in symlink creation (#349) 2016-12-21 23:23:35 -05:00
kennethreitz b4ec35433a v96 2016-12-21 01:58:54 -05:00
kennethreitz cf1148f0a8 keep things in place 2016-12-20 14:04:17 -05:00
kennethreitz a0649b1e50 move things around for collectstatic 2016-12-20 14:03:12 -05:00
kennethreitz 2f2fd24421 v95 2016-12-20 13:48:47 -05:00
kennethreitz f754ae16bb capture stderr 2016-12-20 13:47:25 -05:00
kennethreitz cef1be80a5 silence find output 2016-12-20 13:41:06 -05:00
kennethreitz c0571d86bf don't fail 2016-12-20 13:39:26 -05:00
kennethreitz d82eddca03 support for pypy 2016-12-20 13:35:44 -05:00
kennethreitz 119e8145c3 move .src up for collectstatic 2016-12-20 12:09:51 -05:00
kennethreitz 99dae0f671 v92 2016-12-19 22:16:11 -05:00
kennethreitz f54dfff8a9 fix permission denied 2016-12-19 22:12:57 -05:00
kennethreitz c9760ae0ee fix deep-cp 2016-12-19 22:09:51 -05:00
kennethreitz 98ff1670b3 cleanup 2016-12-19 22:05:28 -05:00
kennethreitz bdd466f838 cleanup pip install steps, caching src 2016-12-19 22:04:51 -05:00
kennethreitz 324ebc9223 attempted fix 2016-12-19 18:03:13 -05:00
kennethreitz 42ec6d8701 remove extra stuff 2016-12-19 17:59:02 -05:00
kennethreitz 19513067bb Merge branch 'dash-e'
# Conflicts:
#	bin/compile
2016-12-19 17:58:02 -05:00
kennethreitz 753c912ecc changelog 2016-12-19 17:53:01 -05:00
kennethreitz 4e8c469ec7 deep copy 2016-12-19 17:50:31 -05:00
kennethreitz 852723f867 find all *.pth files for sed replacement 2016-12-19 16:58:31 -05:00
David Zuelke 94514a8179 fix egg links containing refs to /tmp 2016-12-19 22:52:46 +01:00
kennethreitz 7d57744c0a v90 2016-12-19 16:49:24 -05:00
kennethreitz a41ddf6bd1 skip set if no path-links are found 2016-12-19 16:48:30 -05:00
kennethreitz 197b7bae3f Merge branch 'egg-links' 2016-12-19 16:45:16 -05:00
kennethreitz f468739cfb v89 2016-12-19 16:45:04 -05:00
kennethreitz 555d5bd2be cp the cache 2016-12-19 16:42:33 -05:00
kennethreitz 0a4d32c8a5 cache src 2016-12-19 16:39:34 -05:00
kennethreitz 1a1cedfc21 symlink eggs 2016-12-19 16:37:03 -05:00
kennethreitz d35ee2c14c Squashed commit of the following:
commit 554a8bbae6
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 16:26:18 2016 -0500

    comment out debugging line

commit 6572ad3d44
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 16:21:03 2016 -0500

    test

commit 35cabaeebc
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 16:09:21 2016 -0500

    try .

commit 300285a92d
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 16:05:22 2016 -0500

    find

commit 7a6f1eb010
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 16:02:24 2016 -0500

    find

commit 66d754978e
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 15:55:04 2016 -0500

    fix xargs

commit 9c222a9350
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 15:53:04 2016 -0500

    copy src

commit 7f4273f47f
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 15:45:20 2016 -0500

    new replace script

commit dd707c21e3
Author: Kenneth Reitz <me@kennethreitz.org>
Date:   Mon Dec 19 15:40:35 2016 -0500

    re-write egg-links
2016-12-19 16:31:29 -05:00
kennethreitz 554a8bbae6 comment out debugging line 2016-12-19 16:26:18 -05:00
kennethreitz 6572ad3d44 test 2016-12-19 16:21:03 -05:00
kennethreitz 35cabaeebc try . 2016-12-19 16:09:21 -05:00
kennethreitz 300285a92d find 2016-12-19 16:05:22 -05:00
kennethreitz 7a6f1eb010 find 2016-12-19 16:02:24 -05:00
kennethreitz 66d754978e fix xargs 2016-12-19 15:55:04 -05:00
kennethreitz 9c222a9350 copy src 2016-12-19 15:53:04 -05:00
kennethreitz 7f4273f47f new replace script 2016-12-19 15:45:20 -05:00
kennethreitz dd707c21e3 re-write egg-links 2016-12-19 15:40:35 -05:00
kennethreitz 7833743f96 don't change to /app 2016-12-19 15:19:32 -05:00
kennethreitz 5a9155e311 build dir for pip 2016-12-19 15:04:57 -05:00
kennethreitz 857c47ad66 /app for pip 2016-12-19 15:02:14 -05:00
kennethreitz 87cf6073dc add note about /app/.heroku/src 2016-12-18 13:58:22 -05:00
kennethreitz 36dd089808 cleanup indentation 2016-12-18 13:57:30 -05:00
kennethreitz c58f52e06e remove purging of old virtualenvs
since old stacks aren't supported
2016-12-18 13:56:16 -05:00
kennethreitz 265a95d3b6 v88 2016-12-18 13:53:09 -05:00
kennethreitz 290c1377fb Revert "see if symlink works now"
This reverts commit 8e42040d01.
2016-12-18 13:51:03 -05:00
kennethreitz 8e42040d01 see if symlink works now 2016-12-18 13:48:48 -05:00
kennethreitz d8755e6791 be specific in pip install directory 2016-12-18 13:44:10 -05:00
kennethreitz 364a1fafd9 -e fixings 2016-12-18 13:31:22 -05:00
kennethreitz 251b7f7960 copy the -e directory instead of symlinking 2016-12-18 13:26:47 -05:00
kennethreitz 6d491f9f2b fix for -e 2016-12-18 13:16:49 -05:00
kennethreitz 7cfbce82fd remove bunk autoconf 2016-12-17 21:15:28 -05:00
kennethreitz d520ca4291 new pypys 2016-12-17 19:21:39 -05:00
kennethreitz bf252422fc attempted fix for pypy 2016-12-17 19:12:18 -05:00
kennethreitz d7874d583b move v87 notes 2016-12-17 18:59:44 -05:00
kennethreitz d32dc82e1c v87 2016-12-17 18:58:58 -05:00
kennethreitz bd048d50b5 update default python to 2.7.13 2016-12-17 18:58:51 -05:00
kennethreitz 26b2eeee20 update setuptools to v31.1.0 2016-12-17 18:58:32 -05:00
kennethreitz e527457ba3 Merge branch 'master' of heroku.com:python-builder-cedar-14 2016-12-17 18:48:19 -05:00
kennethreitz 1b7bd02bf2 Merge branch 'master' into docker-builds 2016-12-16 20:25:00 -05:00
kennethreitz de9b0b9383 v86 2016-12-16 20:24:07 -05:00
David Zülke 991f4126d7 Greatly simplify code copying (#340)
* drop duplicate mkdir for .heroku

* simplify linking and moving of python and source

* steps/python needs its own symlink setup

* fix symlink destinations for vendor and venv

* always symlink python
2016-12-16 17:13:57 -08:00
kennethreitz 076a457ad9 changes 2016-12-16 11:08:49 -05:00
kennethreitz 264f74d159 skip binaries for heroku-16 2016-12-15 16:10:37 -05:00
kennethreitz 9f89c4e744 bob-builder==0.0.5 2016-12-15 13:52:53 -05:00
kennethreitz 8d2788094b python-2.7.13 with UCS-4 2016-12-15 13:20:51 -05:00
kennethreitz e2f4fd442a dockerfile for bob-builder 2016-12-14 16:00:32 -05:00
kennethreitz 1bccc03b30 Update CHANGELOG.md 2016-11-18 15:45:17 -05:00
kennethreitz adac27fa9c Merge pull request #334 from cclauss/patch-3
Upgrade to pip-9.0.1 and setuptools-28.8.0
2016-11-15 09:39:41 -05:00
kennethreitz d1c30fd24b updated pip and setuptools 2016-11-15 09:39:29 -05:00
kennethreitz a1cfa41cb2 Merge pull request #328 from joshfriend/pypy-5.4
Add PyPy2 v5.6.0
2016-11-14 14:26:48 -05:00
cclauss 57e9bb0054 Upgrade to pip-9.0.1 and setuptools-28.8.0
This would REQUIRE that the latest versions are placed into:
https://github.com/heroku/heroku-buildpack-python/tree/master/vendor

https://pypi.python.org/pypi/pip
https://pypi.python.org/pypi/setuptools
2016-11-13 10:48:32 +01:00
Josh Friend 8e34179b1c Fix pypy2 v5.3.1 download url 2016-11-12 15:45:28 -05:00
Josh Friend c03cb26961 Add pypy2 v5.4.1 2016-11-12 15:45:28 -05:00
kennethreitz 28b67dd208 update pypy formula 2016-08-19 08:57:19 -04:00
kennethreitz 24f73fbc2d pypi workaround 2016-08-19 08:54:24 -04:00
18 changed files with 209 additions and 90 deletions
+60 -2
View File
@@ -1,5 +1,63 @@
# Python Buildpack Changelog
## 96
Bugfix.
## 95
Improved output support.
## v94
Improved support for PyPy.
## v93
Improved support for PyPy.
## v92
Improved cache functionality and fix egg-links regression.
## v91
Bugfix, rolled back to v88.
## v90
Bugfix.
## v89
Improved cache functionality and fix egg-links regression.
## v88
Fixed bug with editable pip installations.
## v87
Updated default Python 2.7.13.
- Python 2.7.13 uses UCS-4 build, more compatibile with linux wheels.
- Updated setuptools to v32.1.0.
## v86
Refactor and multi-buildpack compatibility.
## v85
Packaging fix.
## v84
Updated pip and setuptools.
- Updated pip to v9.0.1.
- Updated setuptools to v28.8.0.
## v83
Support for Heroku CI.
@@ -16,8 +74,8 @@ Update to library detection mechnisms (pip-pop).
Updated default Python to 2.7.11.
- Updated setuptools to v8.1.2.
- Updated pip to v23.1.0.
- Updated pip to v8.1.2.
- Updated setuptools to v23.1.0.
## v80 (2016-04-05)
+11
View File
@@ -0,0 +1,11 @@
FROM heroku/heroku:16-build
WORKDIR /app
ENV WORKSPACE_DIR=/app/builds
RUN apt-get update && apt-get install -y python-pip
# Install bob-builder application
RUN pip install bob-builder==0.0.5
COPY . /app
+8 -8
View File
@@ -21,12 +21,12 @@ Deploying a Python application couldn't be easier:
$ git push heroku master
...
-----> Python app detected
-----> Installing python-2.7.12
-----> Installing python-2.7.13
$ pip install -r requirements.txt
Collecting requests (from -r requirements.txt (line 1))
Downloading requests-2.10.0-py2.py3-none-any.whl (501kB)
Downloading requests-2.12.4-py2.py3-none-any.whl (576KB)
Installing collected packages: requests
Successfully installed requests-2.10.0
Successfully installed requests-2.12.4
-----> Discovering process types
Procfile declares types -> (none)
@@ -44,11 +44,11 @@ Specify a Python Runtime
Specific versions of the Python runtime can be specified with a `runtime.txt` file:
$ cat runtime.txt
python-3.5.2
python-3.6.0
Runtime options include:
- `python-2.7.12`
- `python-3.5.2`
- `pypy-5.3.1` (unsupported, experimental)
- `pypy3-2.4.0` (unsupported, experimental)
- `python-2.7.13`
- `python-3.6.0`
- `pypy-5.6.0` (unsupported, experimental)
- `pypy3-5.5.0` (unsupported, experimental)
+44 -62
View File
@@ -31,11 +31,11 @@ ENV_DIR=$3
VIRTUALENV_LOC=".heroku/venv"
LEGACY_TRIGGER="lib/python2.7"
DEFAULT_PYTHON_VERSION="python-2.7.12"
DEFAULT_PYTHON_VERSION="python-2.7.13"
DEFAULT_PYTHON_STACK="cedar-14"
PYTHON_EXE="/app/.heroku/python/bin/python"
PIP_VERSION="8.1.2"
SETUPTOOLS_VERSION="25.2.0"
PIP_VERSION="9.0.1"
SETUPTOOLS_VERSION="32.1.0"
# Common Problem Warnings
export WARNINGS_LOG=$(mktemp)
@@ -54,7 +54,6 @@ export PATH=$PATH:$ROOT_DIR/vendor/pip-pop
[ ! "$SLUG_ID" ] && SLUG_ID="defaultslug"
[ ! "$REQUEST_ID" ] && REQUEST_ID=$SLUG_ID
[ ! "$STACK" ] && STACK=$DEFAULT_PYTHON_STACK
[[ $BUILD_DIR == "/app" ]] && SKIP_MOVE_BUILD=1
# Sanitizing environment variables.
unset GIT_DIR PYTHONHOME PYTHONPATH
@@ -64,7 +63,6 @@ unset CYTOKINE_LOG_FILE GEM_PATH
# Setup buildpack instrumentation.
bpwatch init $LOGPLEX_KEY
bpwatch build python $BUILDPACK_VERSION $REQUEST_ID
TMP_APP_DIR=$CACHE_DIR/tmp_app_dir
bpwatch start compile
@@ -74,33 +72,8 @@ source $BIN_DIR/utils
# Import collection of warnings.
source $BIN_DIR/warnings
# Directory Hacks for path consistency.
APP_DIR='/app'
TMP_APP_DIR=$CACHE_DIR/tmp_app_dir
# Skip these steps for Docker.
if [[ ! "$SKIP_MOVE_BUILD" ]]; then
# Copy Anvil app dir to temporary storage...
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
# Set new context.
ORIG_BUILD_DIR=$BUILD_DIR
BUILD_DIR=$APP_DIR
# we need to put a bunch of symlinks in there later
mkdir -p /app/.heroku
# Set up outputs under new context
PROFILE_PATH="$BUILD_DIR/.profile.d/python.sh"
@@ -111,14 +84,14 @@ GUNICORN_PROFILE_PATH="$BUILD_DIR/.profile.d/python.gunicorn.sh"
export BUILD_DIR CACHE_DIR BIN_DIR PROFILE_PATH EXPORT_PATH
# Prepend proper environment variables for Python use.
export PATH=$BUILD_DIR/.heroku/python/bin:$BUILD_DIR/.heroku/vendor/bin:$PATH
export PATH=/app/.heroku/python/bin:/app/.heroku/vendor/bin:$PATH
export PYTHONUNBUFFERED=1
export LANG=en_US.UTF-8
export C_INCLUDE_PATH=/app/.heroku/vendor/include:$BUILD_DIR/.heroku/vendor/include:/app/.heroku/python/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/app/.heroku/vendor/include:$BUILD_DIR/.heroku/vendor/include:/app/.heroku/python/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/app/.heroku/vendor/lib:$BUILD_DIR/.heroku/vendor/lib:/app/.heroku/python/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/app/.heroku/vendor/lib:$BUILD_DIR/.heroku/vendor/lib:/app/.heroku/python/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/app/.heroku/vendor/lib/pkg-config:$BUILD_DIR/.heroku/vendor/lib/pkg-config:/app/.heroku/python/lib/pkg-config:$PKG_CONFIG_PATH
export C_INCLUDE_PATH=/app/.heroku/vendor/include:/app/.heroku/python/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/app/.heroku/vendor/include:/app/.heroku/python/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/app/.heroku/vendor/lib:/app/.heroku/python/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/app/.heroku/vendor/lib:/app/.heroku/python/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/app/.heroku/vendor/lib/pkg-config:/app/.heroku/python/lib/pkg-config:$PKG_CONFIG_PATH
# Switch to the repo's context.
cd $BUILD_DIR
@@ -175,15 +148,23 @@ bpwatch start restore_cache
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
if [[ -d $CACHE_DIR/.heroku/src ]]; then
cp -R $CACHE_DIR/.heroku/src .heroku/ &> /dev/null || true
fi
bpwatch stop restore_cache
set +e
# Create set-aside `.heroku` folder.
mkdir .heroku &> /dev/null
set -e
mkdir -p $(dirname $PROFILE_PATH)
mkdir -p /app/.heroku/src
if [[ $BUILD_DIR != '/app' ]]; then
# python expects to reside in /app, so set up symlinks
# we will not remove these later so subsequent buildpacks can still invoke it
ln -nsf $BUILD_DIR/.heroku/python /app/.heroku/python
ln -nsf $BUILD_DIR/.heroku/vendor /app/.heroku/vendor
ln -nsf $BUILD_DIR/.heroku/venv /app/.heroku/venv
# Note: .heroku/src is copied in later.
fi
# Install Python.
source $BIN_DIR/steps/python
@@ -209,13 +190,16 @@ sub-env $BIN_DIR/steps/geo-libs
# GDAL support.
source $BIN_DIR/steps/gdal
# Install dependencies with Pip.
# Install dependencies with Pip (where the magic happens).
source $BIN_DIR/steps/pip-install
# Support for pip install -e.
rm -fr $BUILD_DIR/.heroku/src
deep-cp /app/.heroku/src $BUILD_DIR/.heroku/src
# Django collectstatic support.
sub-env $BIN_DIR/steps/collectstatic
# Create .profile script for application runtime environment variables.
set-env PATH '$HOME/.heroku/python/bin:$PATH'
set-env PYTHONUNBUFFERED true
@@ -229,12 +213,21 @@ set-default-env PYTHONPATH /app/
# Install sane-default script for $WEB_CONCURRENCY and $FORWARDED_ALLOW_IPS.
cp $ROOT_DIR/vendor/python.gunicorn.sh $GUNICORN_PROFILE_PATH
# Experimental post_compile hook.
bpwatch start post_compile
source $BIN_DIR/steps/hooks/post_compile
bpwatch stop post_compile
set +e
# rewrite build dir in egg links to /app so things are found at runtime
find .heroku/python/lib/python*/site-packages/ -name "*.pth" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#$(pwd)#/app#" &> /dev/null
set -e
set +e
# Support for PyPy
find .heroku/python/lib-python/*/site-packages/ -name "*.pth" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#$(pwd)#/app#" &> /dev/null
set -e
# Store new artifacts in cache.
bpwatch start dump_cache
@@ -243,6 +236,7 @@ bpwatch start dump_cache
rm -rf $CACHE_DIR/.heroku/python-stack
rm -rf $CACHE_DIR/.heroku/vendor
rm -rf $CACHE_DIR/.heroku/venv
rm -rf $CACHE_DIR/.heroku/src
mkdir -p $CACHE_DIR/.heroku
cp -R .heroku/python $CACHE_DIR/.heroku/
@@ -250,23 +244,11 @@ bpwatch start dump_cache
cp -R .heroku/python-stack $CACHE_DIR/.heroku/ &> /dev/null || true
cp -R .heroku/vendor $CACHE_DIR/.heroku/ &> /dev/null || true
cp -R .heroku/venv $CACHE_DIR/.heroku/ &> /dev/null || true
if [[ -d .heroku/src ]]; then
cp -R .heroku/src $CACHE_DIR/.heroku/ &> /dev/null || true
fi
bpwatch stop dump_cache
# Fin.
if [[ ! "$SKIP_MOVE_BUILD" ]]; then
bpwatch start appdir_commit
deep-rm $ORIG_BUILD_DIR
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
+13 -1
View File
@@ -1,11 +1,23 @@
# Install dependencies with Pip.
puts-cmd "pip install -r requirements.txt"
set +e
# delete any existing egg links, to uninstall exisisting installations.
find .heroku/python/lib/python*/site-packages/ -name "*.egg-link" -delete 2> /dev/null
find .heroku/python/lib/python*/site-packages/ -name "*.pth" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#/app/#/$(pwd)/#" &> /dev/null
set -e
set +e
# Support for the above, for PyPy.
find .heroku/python/lib-python/*/site-packages/ -name "*.egg-link" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#/app/#$(pwd)/#" &> /dev/null
find .heroku/python/lib-python/*/site-packages/ -name "*.pth" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#/app/#/$(pwd)/#" &> /dev/null
set -e
[ ! "$FRESH_PYTHON" ] && bpwatch start pip_install
[ "$FRESH_PYTHON" ] && bpwatch start pip_install_first
set +e
/app/.heroku/python/bin/pip install -r requirements.txt --exists-action=w --src=./.heroku/src --disable-pip-version-check --no-cache-dir 2>&1 | tee $WARNINGS_LOG | cleanup | indent
/app/.heroku/python/bin/pip install -r $BUILD_DIR/requirements.txt --exists-action=w --src=/app/.heroku/src --disable-pip-version-check --no-cache-dir 2>&1 | tee $WARNINGS_LOG | cleanup | indent
PIP_STATUS="${PIPESTATUS[0]}"
set -e
+1 -1
View File
@@ -13,7 +13,7 @@ indent() {
# Clean up pip output
cleanup() {
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'
sed -e 's/\.\.\.\+/.../g' | sed -e '/already satisfied/Id' | sed -e '/No files were found to uninstall/Id' | sed -e '/Overwriting/Id' | sed -e '/python executable/Id' | sed -e '/no previously-included files/Id'
}
# Buildpack Indented line.
-15
View File
@@ -1,15 +0,0 @@
#!/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
+5
View File
@@ -3,6 +3,11 @@
OUT_PREFIX=$1
# Skip the build for heroku-16.
if [[ $S3_PREFIX == "heroku-16" ]]; then
exit 0
fi
# Use new path, containing autoconf.
export PATH="/app/.heroku/python/bin/:$PATH"
hash -r
+5
View File
@@ -3,6 +3,11 @@
OUT_PREFIX=$1
# Skip the build for heroku-16.
if [[ $S3_PREFIX == "heroku-16" ]]; then
exit 0
fi
# fail hard
set -o pipefail
# fail harder
+1 -1
View File
@@ -7,7 +7,7 @@
OUT_PREFIX=$1
echo "Building PyPy..."
SOURCE_TARBALL='https://bbuseruploads.s3.amazonaws.com/54220cd1-b139-4188-9455-1e13e663f1ac/downloads/265504fc-8c03-4c1d-935a-2b8fbc6da51a/pypy2-v5.3.1-linux64.tar.bz2?Signature=F%2FnnB39QrCTPldSErIJoqzAt8YA%3D&Expires=1471612628&AWSAccessKeyId=AKIAIWY5XSVPZPDQYRQQ&versionId=kJjoDTh5eNcLrGrt5hYT0_5XGjg3.gl0&response-content-disposition=attachment%3B%20filename%3D%22pypy2-v5.3.1-linux64.tar.bz2%22'
SOURCE_TARBALL='https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.3.1-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy2-v5.3.1-linux64/* $OUT_PREFIX
+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/pypy2-v5.6.0-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy2-v5.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/pypy3.3-v5.5.0-alpha-linux64.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx
cp -R pypy3-v5.5.0-linux64/* $OUT_PREFIX
ln $OUT_PREFIX/bin/pypy3 $OUT_PREFIX/bin/python
+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.13/Python-2.7.13.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.13 src
cd src
./configure --prefix=$OUT_PREFIX --enable-unicode=ucs4 --with-ensurepip=no
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
echo "Building Python..."
SOURCE_TARBALL='https://python.org/ftp/python/3.6.0/Python-3.6.0.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.6.0 src
cd src
./configure --prefix=$OUT_PREFIX --with-ensurepip=no
make
make install
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.