Support scripts for generating wheels.

[skip ci]
This commit is contained in:
Jason Madden 2016-09-22 17:56:10 -05:00
parent 8e2679f387
commit f889008277
No known key found for this signature in database
GPG Key ID: 349F84431A08B99E
4 changed files with 77 additions and 0 deletions

1
.gitignore vendored
View File

@ -12,6 +12,7 @@
htmlcov/
bin/
develop-eggs/
wheelhouse/
dist/
eggs/
include/

23
.travis/make-manylinux Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
# Initially based on a snippet from the greenlet project.
# This needs to be run from the root of the project.
set -e
export PYTHONUNBUFFERED=1
export PYTHONDONTWRITEBYTECODE=1
if [ -d /relstorage -a -d /opt/python ]; then
# Running inside docker
yum -y install libffi-devel
cd /relstorage
rm -rf wheelhouse
for variant in `ls -d /opt/python/cp{27,3}*`; do
rm -rf dist build *.egg-info
$variant/bin/pip install -U cffi setuptools wheel
PATH=$variant/bin:$PATH $variant/bin/python setup.py bdist_wheel
auditwheel repair dist/*.whl
done
rm -rf dist build *.egg-info
exit 0
fi
docker run --rm -ti -v "$(pwd):/relstorage" quay.io/pypa/manylinux1_x86_64 /relstorage/.travis/$(basename $0)

30
.travis/release.sh Executable file
View File

@ -0,0 +1,30 @@
#!/opt/local/bin/bash
#
# Quick hack script to build a single gevent release in a virtual env. Takes one
# argument, the path to python to use.
# Has hardcoded paths, probably only works on my (JAM) machine.
set -e
export WORKON_HOME=$HOME/Projects/VirtualEnvs
export VIRTUALENVWRAPPER_LOG_DIR=~/.virtualenvs
source `which virtualenvwrapper.sh`
# Make sure there are no -march flags set
# https://github.com/gevent/gevent/issues/791
unset CFLAGS
unset CXXFLAGS
unset CPPFLAGS
cd /tmp/relstorage
virtualenv -p $1 `basename $1`
cd `basename $1`
echo "Made tmpenv"
echo `pwd`
source bin/activate
git clone https://github.com/zodb/relstorage
cd relstorage
pip install -U pip
pip install -U setuptools cython greenlet cffi
pip install -U wheel
python ./setup.py sdist bdist_wheel
cp dist/*whl /tmp/relstorage

23
.travis/releases.sh Executable file
View File

@ -0,0 +1,23 @@
#!/opt/local/bin/bash
# Quick hack script to create many gevent releases.
# Contains hardcoded paths. Probably only works on my (JAM) machine
# (OS X 10.11)
mkdir /tmp/relstorage/
# 2.7 is a python.org build, builds a 10_6_intel wheel
./release.sh /usr/local/bin/python2.7
# 3.3 is built by macports, builds a 10_11_64 wheel
# no python.org build available
./release.sh /opt/local/bin/python3.3
# 3.4 is a python.org build, builds a 10_6_intel wheel
./release.sh /usr/local/bin/python3.4
# 3.5 is a python.org build, builds a 10_6_intel wheel
./release.sh /usr/local/bin/python3.5
# PyPy 4.0
./release.sh `which pypy`