Compare commits

...

154 Commits

Author SHA1 Message Date
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
83 changed files with 379 additions and 116 deletions
+5
View File
@@ -3,3 +3,8 @@
tests: tests:
./bin/test ./bin/test
tools:
git clone https://github.com/kennethreitz/pip-pop.git
mv pip-pop/bin/* vendor/pip-pop/
rm -fr pip-pop
+7 -6
View File
@@ -17,7 +17,7 @@ Example usage:
$ git push heroku master $ git push heroku master
... ...
-----> Python app detected -----> Python app detected
-----> Installing runtime (python-2.7.8) -----> Installing runtime (python-2.7.9)
-----> Installing dependencies using pip -----> Installing dependencies using pip
Downloading/unpacking requests (from -r requirements.txt (line 1)) Downloading/unpacking requests (from -r requirements.txt (line 1))
Installing collected packages: requests Installing collected packages: requests
@@ -28,7 +28,7 @@ Example usage:
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.
@@ -40,12 +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.4.1 python-3.4.3
Runtime options include: Runtime options include:
- python-2.7.8 - python-2.7.9
- python-3.4.1 - python-3.4.3
- pypy-1.9 (experimental) - pypy-2.4.0 (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. Other [unsupported runtimes](https://github.com/heroku/heroku-buildpack-python/tree/master/builds/runtimes) are available as well.
+34 -17
View File
@@ -24,12 +24,13 @@ CACHED_DIRS=".heroku"
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" PROFILE_PATH="$BUILD_DIR/.profile.d/python.sh"
WEBCONCURRENCY_PROFILE_PATH="$BUILD_DIR/.profile.d/python.webconcurrency.sh"
DEFAULT_PYTHON_VERSION="python-2.7.8" DEFAULT_PYTHON_VERSION="python-2.7.9"
DEFAULT_PYTHON_STACK="cedar" DEFAULT_PYTHON_STACK="cedar"
PYTHON_EXE="/app/.heroku/python/bin/python" PYTHON_EXE="/app/.heroku/python/bin/python"
PIP_VERSION="1.5.6" PIP_VERSION="6.1.1"
SETUPTOOLS_VERSION="5.4.1" SETUPTOOLS_VERSION="15.2"
# Setup bpwatch # Setup bpwatch
export PATH=$PATH:$ROOT_DIR/vendor/bpwatch export PATH=$PATH:$ROOT_DIR/vendor/bpwatch
@@ -65,20 +66,25 @@ 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
# Copy Anvil app dir to temporary storage...
bpwatch start anvil_appdir_stage
if [ "$SLUG_ID" ]; then if [ "$SLUG_ID" ]; then
mkdir -p $TMP_APP_DIR mkdir -p $TMP_APP_DIR
deep-mv $APP_DIR $TMP_APP_DIR deep-mv $APP_DIR $TMP_APP_DIR
else else
deep-rm $APP_DIR deep-rm $APP_DIR
fi fi
bpwatch stop anvil_appdir_stage bpwatch stop anvil_appdir_stage
# Copy Application code in.
bpwatch start appdir_stage
deep-mv $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
@@ -107,6 +113,7 @@ if [ ! -f requirements.txt ]; then
echo "-e ." > requirements.txt echo "-e ." > requirements.txt
fi fi
# Sticky runtimes. # Sticky runtimes.
if [ -f $CACHE_DIR/.heroku/python-version ]; then if [ -f $CACHE_DIR/.heroku/python-version ]; then
DEFAULT_PYTHON_VERSION=$(cat $CACHE_DIR/.heroku/python-version) DEFAULT_PYTHON_VERSION=$(cat $CACHE_DIR/.heroku/python-version)
@@ -165,6 +172,9 @@ source $BIN_DIR/steps/pylibmc
# Libffi support. # Libffi support.
source $BIN_DIR/steps/cryptography source $BIN_DIR/steps/cryptography
# GDAL support.
source $BIN_DIR/steps/gdal
# Install dependencies with Pip. # Install dependencies with Pip.
source $BIN_DIR/steps/pip-install source $BIN_DIR/steps/pip-install
@@ -179,12 +189,15 @@ sub-env $BIN_DIR/steps/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-env LIBRARY_PATH /app/.heroku/vendor/lib:/app/.heroku/python/lib set-env LIBRARY_PATH '/app/.heroku/vendor/lib:/app/.heroku/python/lib:$LIBRARY_PATH'
set-env LD_LIBRARY_PATH '/app/.heroku/vendor/lib:/app/.heroku/python/lib:$LD_LIBRARY_PATH' 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
@@ -200,14 +213,18 @@ bpwatch start dump_cache
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 $BUILD_DIR $ORIG_BUILD_DIR
bpwatch stop appdir_commit
bpwatch start anvil_appdir_commit
if [ "$SLUG_ID" ]; then if [ "$SLUG_ID" ]; then
deep-mv $TMP_APP_DIR $APP_DIR deep-mv $TMP_APP_DIR $APP_DIR
fi fi
bpwatch stop anvil_appdir_commit bpwatch stop anvil_appdir_commit
bpwatch stop compile bpwatch stop compile
fi
+2 -2
View File
@@ -2,7 +2,7 @@
source $BIN_DIR/utils source $BIN_DIR/utils
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
@@ -33,4 +33,4 @@ if [ ! "$DISABLE_COLLECTSTATIC" ] && [ -f "$MANAGE_FILE" ]; then
echo echo
fi fi
bpwatch stop collectstatic bpwatch stop collectstatic
+2 -2
View File
@@ -10,7 +10,7 @@
# This script is invoked by [`bin/compile`](/). # This script is invoked by [`bin/compile`](/).
# The location of the pre-compiled cryptography binary. # The location of the pre-compiled cryptography binary.
VENDORED_LIBFFI="http://lang-python.s3.amazonaws.com/$STACK/libraries/vendor/libffi.tar.gz" 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" PKG_CONFIG_PATH="/app/.heroku/vendor/lib/pkgconfig:$PKG_CONFIG_PATH"
@@ -20,7 +20,7 @@ source $BIN_DIR/utils
bpwatch start libffi_install bpwatch start libffi_install
# If pylibmc exists within requirements, use vendored cryptography. # If pylibmc exists within requirements, use vendored cryptography.
if (pip-grep -s requirements.txt cffi pylibmc &> /dev/null) then if (pip-grep -s requirements.txt bcrypt cffi cryptography pyOpenSSL PyOpenSSL &> /dev/null) then
if [ -d ".heroku/vendor/lib/libffi-3.1.1" ]; then if [ -d ".heroku/vendor/lib/libffi-3.1.1" ]; then
export LIBFFI=$(pwd)/vendor export LIBFFI=$(pwd)/vendor
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
+1 -1
View File
@@ -5,7 +5,7 @@ if [[ -f .heroku/python/requirements-declared.txt ]]; then
cp .heroku/python/requirements-declared.txt requirements-declared.txt cp .heroku/python/requirements-declared.txt requirements-declared.txt
pip-diff --stale requirements-declared.txt requirements.txt > .heroku/python/requirements-stale.txt pip-diff --stale requirements-declared.txt requirements.txt --exclude setuptools pip > .heroku/python/requirements-stale.txt
rm -fr requirements-declared.txt rm -fr requirements-declared.txt
+1 -1
View File
@@ -10,7 +10,7 @@
# 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://lang-python.s3.amazonaws.com/$STACK/libraries/vendor/libmemcache.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
+10 -11
View File
@@ -15,8 +15,7 @@ fi
if [ ! $STACK = $CACHED_PYTHON_STACK ]; then if [ ! $STACK = $CACHED_PYTHON_STACK ]; then
bpwatch start uninstall_python bpwatch start uninstall_python
puts-step "Stack changed, re-installing runtime" rm -fr .heroku/python .heroku/python-stack .heroku/vendor
rm -fr .heroku/python
unset SKIP_INSTALL unset SKIP_INSTALL
bpwatch stop uninstall_python bpwatch stop uninstall_python
fi fi
@@ -29,7 +28,7 @@ if [ ! "$SKIP_INSTALL" ]; then
# Prepare destination directory. # Prepare destination directory.
mkdir -p .heroku/python mkdir -p .heroku/python
curl http://lang-python.s3.amazonaws.com/$STACK/runtimes/$PYTHON_VERSION.tar.gz -s | tar zxv -C .heroku/python &> /dev/null curl https://lang-python.s3.amazonaws.com/$STACK/runtimes/$PYTHON_VERSION.tar.gz -s | tar zxv -C .heroku/python &> /dev/null
if [[ $? != 0 ]] ; then if [[ $? != 0 ]] ; then
puts-warn "Requested runtime ($PYTHON_VERSION) is not available for this stack ($STACK)." 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" puts-warn "Aborting. More info: https://devcenter.heroku.com/articles/python-support"
@@ -52,22 +51,22 @@ if [ "$FRESH_PYTHON" ] || [[ ! $(pip --version) == *$PIP_VERSION* ]]; then
bpwatch start prepare_environment bpwatch start prepare_environment
TMPTARDIR=$(mktemp -d)
trap "rm -rf $TMPTARDIR" RETURN
bpwatch start install_setuptools bpwatch start install_setuptools
# Prepare it for the real world # Prepare it for the real world
# puts-step "Installing Setuptools ($SETUPTOOLS_VERSION)" # puts-step "Installing Setuptools ($SETUPTOOLS_VERSION)"
cd $ROOT_DIR/vendor/ tar zxf $ROOT_DIR/vendor/setuptools-$SETUPTOOLS_VERSION.tar.gz -C $TMPTARDIR
tar zxf setuptools-$SETUPTOOLS_VERSION.tar.gz cd $TMPTARDIR/setuptools-$SETUPTOOLS_VERSION/
cd $ROOT_DIR/vendor/setuptools-$SETUPTOOLS_VERSION/
python setup.py install &> /dev/null python setup.py install &> /dev/null
cd $WORKING_DIR cd $WORKING_DIR
bpwatch stop install_setuptoools bpwatch stop install_setuptoools
bpwatch start install_pip bpwatch start install_pip
# puts-step "Installing Pip ($PIP_VERSION)" # puts-step "Installing Pip ($PIP_VERSION)"
tar zxf $ROOT_DIR/vendor/pip-$PIP_VERSION.tar.gz -C $TMPTARDIR
cd $ROOT_DIR/vendor/ cd $TMPTARDIR/pip-$PIP_VERSION/
tar zxf pip-$PIP_VERSION.tar.gz
cd $ROOT_DIR/vendor/pip-$PIP_VERSION/
python setup.py install &> /dev/null python setup.py install &> /dev/null
cd $WORKING_DIR cd $WORKING_DIR
@@ -76,4 +75,4 @@ if [ "$FRESH_PYTHON" ] || [[ ! $(pip --version) == *$PIP_VERSION* ]]; then
fi fi
set -e set -e
hash -r hash -r
+2 -2
View File
@@ -36,7 +36,7 @@ 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
un-set-env() { un-set-env() {
echo "unset $1" >> $PROFILE_PATH echo "unset $1" >> $PROFILE_PATH
} }
@@ -68,7 +68,7 @@ deep-rm() {
# subshell to avoid surprising caller with shopts. # subshell to avoid surprising caller with shopts.
( (
shopt -s dotglob shopt -s dotglob
rm -rf "$1"/!(tmp|.|..) rm -rf "$1"/!(.curlrc|.netrc|tmp|.|..)
) )
} }
+1 -1
View File
@@ -6,7 +6,7 @@ OUT_PREFIX=$1
echo "Building autoconf..." echo "Building autoconf..."
SOURCE_TARBALL='http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz' SOURCE_TARBALL='https://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
cd autoconf-2.68 cd autoconf-2.68
+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 ..
+1 -1
View File
@@ -6,7 +6,7 @@ OUT_PREFIX=$1
echo "Building SQLite..." echo "Building SQLite..."
SOURCE_TARBALL='http://www.sqlite.org/sqlite-autoconf-3070900.tar.gz' SOURCE_TARBALL='https://www.sqlite.org/sqlite-autoconf-3070900.tar.gz'
curl $SOURCE_TARBALL | tar xz curl $SOURCE_TARBALL | tar xz
# jx # jx
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 ..
+1 -1
View File
@@ -10,7 +10,7 @@ hash -r
echo "Building libffi..." echo "Building libffi..."
SOURCE_TARBALL='http://cl.ly/2s1t1u3v0N0I/download/libffi-3.1.tar' SOURCE_TARBALL='ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz'
curl -L $SOURCE_TARBALL | tar x curl -L $SOURCE_TARBALL | tar x
+2 -1
View File
@@ -22,7 +22,8 @@ curl -LO ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-2.1.26.tar.gz
tar xzf cyrus-sasl-2.1.26.tar.gz tar xzf cyrus-sasl-2.1.26.tar.gz
pushd cyrus-sasl-2.1.26 pushd cyrus-sasl-2.1.26
./configure --prefix=${OUT_PREFIX} ./configure --prefix=${OUT_PREFIX} --with-plugindir=${OUT_PREFIX}lib/sasl2 --with-configdir=${OUT_PREFIX}lib/sasl2
make -s -j 9 make -s -j 9
make install -s make install -s
popd popd
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Build Path: /app/.heroku/python/ # Build Path: /app/.heroku/python/
# Build Deps: libraries/sqlite # Build Deps: libraries/sqlite, libraries/libffi
# NOTICE: This formula only works for the cedar-14 stack, not cedar. # NOTICE: This formula only works for the cedar-14 stack, not cedar.
+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/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
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.4.4/Python-2.4.4.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.4.4/Python-2.4.4.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.4.4 src mv Python-2.4.4 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.4.5/Python-2.4.5.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.4.5/Python-2.4.5.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.4.5 src mv Python-2.4.5 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.4.6/Python-2.4.6.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.4.6/Python-2.4.6.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.4.6 src mv Python-2.4.6 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.5/Python-2.5.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.5/Python-2.5.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5 src mv Python-2.5 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.5.1/Python-2.5.1.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.5.1/Python-2.5.1.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.1 src mv Python-2.5.1 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.5.2/Python-2.5.2.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.5.2/Python-2.5.2.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.2 src mv Python-2.5.2 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.5.3/Python-2.5.3.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.5.3/Python-2.5.3.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.3 src mv Python-2.5.3 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.5.4/Python-2.5.4.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.5.4/Python-2.5.4.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.4 src mv Python-2.5.4 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.5.5/Python-2.5.5.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.5.5/Python-2.5.5.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.5 src mv Python-2.5.5 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.5.6/Python-2.5.6.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.5.6/Python-2.5.6.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.5.6 src mv Python-2.5.6 src
cd src cd src
+1 -1
View File
@@ -10,7 +10,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://www.python.org/ftp/python/2.6/Python-2.6.tar.bz2' SOURCE_TARBALL='https://www.python.org/ftp/python/2.6/Python-2.6.tar.bz2'
curl -L $SOURCE_TARBALL | tar jx curl -L $SOURCE_TARBALL | tar jx
mv Python-2.6 src mv Python-2.6 src
cd src cd src
+1 -1
View File
@@ -10,7 +10,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.1/Python-2.6.1.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.1/Python-2.6.1.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.1 src mv Python-2.6.1 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.2/Python-2.6.2.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.2/Python-2.6.2.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.2 src mv Python-2.6.2 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.3/Python-2.6.3.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.3/Python-2.6.3.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.3 src mv Python-2.6.3 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.4/Python-2.6.4.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.4/Python-2.6.4.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.4 src mv Python-2.6.4 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.5/Python-2.6.5.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.5/Python-2.6.5.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.5 src mv Python-2.6.5 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.6/Python-2.6.6.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.6 src mv Python-2.6.6 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.7/Python-2.6.7.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.7/Python-2.6.7.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.7 src mv Python-2.6.7 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.8/Python-2.6.8.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.8/Python-2.6.8.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.8 src mv Python-2.6.8 src
cd src cd src
+1 -1
View File
@@ -8,7 +8,7 @@ OUT_PREFIX=$1
unset LANG PYTHONHOME PYTHONPATH unset LANG PYTHONHOME PYTHONPATH
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.6.9/Python-2.6.9.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.6.9/Python-2.6.9.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.6.9 src mv Python-2.6.9 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7/Python-2.7.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7/Python-2.7.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7 src mv Python-2.7 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.1/Python-2.7.1.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.1/Python-2.7.1.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.1 src mv Python-2.7.1 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.2/Python-2.7.2.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.2 src mv Python-2.7.2 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.3/Python-2.7.3.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.3 src mv Python-2.7.3 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.4/Python-2.7.4.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.4 src mv Python-2.7.4 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.5/Python-2.7.5.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.5 src mv Python-2.7.5 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.6/Python-2.7.6.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.6/Python-2.7.6.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.6 src mv Python-2.7.6 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.7/Python-2.7.7.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.7/Python-2.7.7.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.7 src mv Python-2.7.7 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.7/Python-2.7.7.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.7/Python-2.7.7.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.7 src mv Python-2.7.7 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.8/Python-2.7.8.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.8 src mv Python-2.7.8 src
cd src cd src
+2 -2
View File
@@ -5,11 +5,11 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz' SOURCE_TARBALL='https://python.org/ftp/python/2.7.8/Python-2.7.8.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-2.7.8 src mv Python-2.7.8 src
cd src cd src
./configure --prefix=$OUT_PREFIX ./configure --prefix=$OUT_PREFIX --enable-shared
make make
make install 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
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.1/Python-3.1.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.1/Python-3.1.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1 src mv Python-3.1 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.1.1/Python-3.1.1.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.1.1/Python-3.1.1.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.1 src mv Python-3.1.1 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.1.2/Python-3.1.2.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.1.2/Python-3.1.2.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.2 src mv Python-3.1.2 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.1.3/Python-3.1.3.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.3 src mv Python-3.1.3 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.1.4/Python-3.1.4.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.4 src mv Python-3.1.4 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.1.5/Python-3.1.5.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.1.5/Python-3.1.5.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.1.5 src mv Python-3.1.5 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.2/Python-3.2.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.2/Python-3.2.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2 src mv Python-3.2 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.2.1/Python-3.2.1.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.2.1/Python-3.2.1.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.1 src mv Python-3.2.1 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.2.2/Python-3.2.2.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.2 src mv Python-3.2.2 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.2.3/Python-3.2.3.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.2.3/Python-3.2.3.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.3 src mv Python-3.2.3 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.2.4/Python-3.2.4.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.2.4/Python-3.2.4.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.4 src mv Python-3.2.4 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.2.5/Python-3.2.5.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.2.5/Python-3.2.5.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.2.5 src mv Python-3.2.5 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.3.0/Python-3.3.0.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.3.0/Python-3.3.0.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.0 src mv Python-3.3.0 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.3.1/Python-3.3.1.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.3.1/Python-3.3.1.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.1 src mv Python-3.3.1 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.3.2/Python-3.3.2.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.3.2/Python-3.3.2.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.2 src mv Python-3.3.2 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.3.3/Python-3.3.3.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.3.3/Python-3.3.3.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.3 src mv Python-3.3.3 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.3.4/Python-3.3.4.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.3.4/Python-3.3.4.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.4 src mv Python-3.3.4 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.3.5/Python-3.3.5.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.3.5/Python-3.3.5.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.3.5 src mv Python-3.3.5 src
cd src cd src
+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
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.4.0/Python-3.4.0.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.4.0/Python-3.4.0.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.4.0 src mv Python-3.4.0 src
cd src cd src
+1 -1
View File
@@ -5,7 +5,7 @@
OUT_PREFIX=$1 OUT_PREFIX=$1
echo "Building Python..." echo "Building Python..."
SOURCE_TARBALL='http://python.org/ftp/python/3.4.1/Python-3.4.1.tgz' SOURCE_TARBALL='https://python.org/ftp/python/3.4.1/Python-3.4.1.tgz'
curl -L $SOURCE_TARBALL | tar xz curl -L $SOURCE_TARBALL | tar xz
mv Python-3.4.1 src mv Python-3.4.1 src
cd src cd src
+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.2/Python-3.4.2.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.4.2 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.3/Python-3.4.3.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.4.3 src
cd src
./configure --prefix=$OUT_PREFIX --with-ensurepip=no --enable-shared
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.
+19 -12
View File
@@ -2,7 +2,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""Usage: """Usage:
pip-diff (--fresh | --stale) <reqfile1> <reqfile2> pip-diff (--fresh | --stale) <reqfile1> <reqfile2> [--exclude <package>...]
pip-diff (-h | --help) pip-diff (-h | --help)
Options: Options:
@@ -13,6 +13,10 @@ Options:
import os import os
from docopt import docopt from docopt import docopt
from pip.req import parse_requirements from pip.req import parse_requirements
from pip.index import PackageFinder
from pip._vendor.requests import session
requests = session()
class Requirements(object): class Requirements(object):
def __init__(self, reqfile=None): def __init__(self, reqfile=None):
@@ -31,12 +35,13 @@ class Requirements(object):
if not os.path.exists(reqfile): if not os.path.exists(reqfile):
raise ValueError('The given requirements file does not exist.') raise ValueError('The given requirements file does not exist.')
for requirement in parse_requirements(reqfile): finder = PackageFinder([], [], session=requests)
for requirement in parse_requirements(reqfile, finder=finder, session=requests):
if requirement.req: if requirement.req:
self.requirements.append(requirement.req) self.requirements.append(requirement.req)
def diff(self, requirements, ignore_versions=False): def diff(self, requirements, ignore_versions=False, excludes=None):
r1 = self r1 = self
r2 = requirements r2 = requirements
results = {'fresh': [], 'stale': []} results = {'fresh': [], 'stale': []}
@@ -50,7 +55,7 @@ class Requirements(object):
for req in r2.requirements: for req in r2.requirements:
r = req.project_name if ignore_versions else req r = req.project_name if ignore_versions else req
if r not in other_reqs: if r not in other_reqs and r not in excludes:
results['fresh'].append(req) results['fresh'].append(req)
# Generate stale packages. # Generate stale packages.
@@ -62,7 +67,7 @@ class Requirements(object):
for req in r1.requirements: for req in r1.requirements:
r = req.project_name if ignore_versions else req r = req.project_name if ignore_versions else req
if r not in other_reqs: if r not in other_reqs and r not in excludes:
results['stale'].append(req) results['stale'].append(req)
return results return results
@@ -71,26 +76,27 @@ class Requirements(object):
def diff(r1, r2, include_fresh=False, include_stale=False): def diff(r1, r2, include_fresh=False, include_stale=False, excludes=None):
include_versions = True if include_stale else False include_versions = True if include_stale else False
excludes = excludes if len(excludes) else []
try: try:
r1 = Requirements(r1) r1 = Requirements(r1)
r2 = Requirements(r2) r2 = Requirements(r2)
except ValueError: except ValueError:
print 'There was a problem loading the given requirements files.' print('There was a problem loading the given requirements files.')
exit(os.EX_NOINPUT) exit(os.EX_NOINPUT)
results = r1.diff(r2, ignore_versions=True) results = r1.diff(r2, ignore_versions=True, excludes=excludes)
if include_fresh: if include_fresh:
for line in results['fresh']: for line in results['fresh']:
print line.project_name if include_versions else line print(line.project_name if include_versions else line)
if include_stale: if include_stale:
for line in results['stale']: for line in results['stale']:
print line.project_name if include_versions else line print(line.project_name if include_versions else line)
@@ -101,7 +107,8 @@ def main():
'r1': args['<reqfile1>'], 'r1': args['<reqfile1>'],
'r2': args['<reqfile2>'], 'r2': args['<reqfile2>'],
'include_fresh': args['--fresh'], 'include_fresh': args['--fresh'],
'include_stale': args['--stale'] 'include_stale': args['--stale'],
'excludes': args['<package>']
} }
diff(**kwargs) diff(**kwargs)
@@ -109,4 +116,4 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
main() main()
+10 -5
View File
@@ -10,6 +10,10 @@ Options:
import os import os
from docopt import docopt from docopt import docopt
from pip.req import parse_requirements from pip.req import parse_requirements
from pip.index import PackageFinder
from pip._vendor.requests import session
requests = session()
class Requirements(object): class Requirements(object):
def __init__(self, reqfile=None): def __init__(self, reqfile=None):
@@ -28,7 +32,8 @@ class Requirements(object):
if not os.path.exists(reqfile): if not os.path.exists(reqfile):
raise ValueError('The given requirements file does not exist.') raise ValueError('The given requirements file does not exist.')
for requirement in parse_requirements(reqfile): finder = PackageFinder([], [], session=requests)
for requirement in parse_requirements(reqfile, finder=finder, session=requests):
self.requirements.append(requirement) self.requirements.append(requirement)
@@ -41,7 +46,7 @@ def grep(reqfile, packages, silent=False):
except ValueError: except ValueError:
if not silent: if not silent:
print 'There was a problem loading the given requirement file.' print('There was a problem loading the given requirement file.')
exit(os.EX_NOINPUT) exit(os.EX_NOINPUT)
@@ -52,12 +57,12 @@ def grep(reqfile, packages, silent=False):
if requirement.req.project_name in packages: if requirement.req.project_name in packages:
if not silent: if not silent:
print 'Package {} found!'.format(requirement.req.project_name) print('Package {} found!'.format(requirement.req.project_name))
exit(0) exit(0)
if not silent: if not silent:
print 'Not found.'.format(requirement.req.project_name) print('Not found.'.format(requirement.req.project_name))
exit(1) exit(1)
@@ -73,4 +78,4 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
main() main()
+21
View File
@@ -0,0 +1,21 @@
case $(ulimit -u) in
# 1X DYNO
256)
export DYNO_RAM=512
export WEB_CONCURRENCY=${WEB_CONCURRENCY:-2}
;;
# 2X DYNO
512)
export DYNO_RAM=1024
export WEB_CONCURRENCY=${WEB_CONCURRENCY:-4}
;;
# PX DYNO
32768)
export DYNO_RAM=6144
export WEB_CONCURRENCY=${WEB_CONCURRENCY:-9}
;;
esac
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.