Skip to content

Commit 9a219e9

Browse files
committed
Resolve merge conflict with
2 parents 5571d26 + 535f1dd commit 9a219e9

File tree

6 files changed

+152
-94
lines changed

6 files changed

+152
-94
lines changed

.travis.yml

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,37 +11,52 @@ matrix:
1111
env:
1212
- RELEASE=precise
1313
- os: osx
14+
osx_image: xcode8.2
1415
env:
15-
- RELEASE=mavericks
16+
- RELEASE=sierra
17+
- os: osx
18+
osx_image: xcode7.3
19+
env:
20+
- RELEASE=sierra
21+
- os: osx
22+
osx_image: xcode6.4
23+
env:
24+
- RELEASE=yosemite
1625

1726
env:
1827
global:
1928
- VERSION='3.6-dev'
2029
- ALIAS='nightly'
2130

2231
install:
23-
- pushd /opt/pyenv/
24-
- sudo git checkout master
25-
- sudo git pull
26-
- popd
32+
- pushd /opt/pyenv/
33+
- sudo git checkout master
34+
- sudo git pull
35+
- popd
36+
- python -m pip install virtualenv
2737

2838
before_script:
29-
- 'export INSTALL_DEST=${INSTALL_DEST:-/opt/python}'
30-
- export LSB_RELEASE=$(lsb_release -rs 2>/dev/null || sw_vers -productVersion | sed 's/^\([0-9][0-9]*.[0-9][0-9]*\).*/\1/')
31-
- 'export OS_NAME=${OS_NAME:-$((lsb_release -is || echo "osx") | tr "A-Z" "a-z")}'
32-
- 'export ARCH=${ARCH:-$(uname -m)}'
33-
- 'export PACKAGES=${PACKAGES:-pip numpy nose pytest mock wheel}'
39+
- 'export INSTALL_DEST=${INSTALL_DEST:-/opt/python}'
40+
- 'export LSB_RELEASE=${LSB_RELEASE:-$(lsb_release -rs || echo ${$(sw_vers -productVersion)%*.*})}'
41+
- 'export OS_NAME=${OS_NAME:-$(lsb_release -is | tr "A-Z" "a-z" || echo "osx")}'
42+
- 'export ARCH=${ARCH:-$(uname -m)}'
43+
- 'export PACKAGES=${PACKAGES:-pip nose pytest mock wheel}'
44+
- 'export CPYTHON_ONLY_PKGS="numpy"'
45+
- export PYTHON_CONFIGURE_OPTS="--with-wide-unicode --enable-shared --enable-ipv6 --enable-loadable-sqlite-extensions --with-computed-gotos $CONFIGURE_OPTS"
3446

35-
script: ./build-python
47+
script: ./bin/compile
3648

37-
after_success: ./create-archive
49+
after_success: ./bin/archive
3850

39-
after_failure:
40-
- cat /tmp/python-build.*.log
51+
after_failure: cat /tmp/python-build.*.log
4152

4253
addons:
54+
apt:
55+
packages:
56+
- openssl
4357
artifacts:
4458
paths:
4559
- $LSB_RELEASE/
4660
target_paths:
4761
- /binaries/$OS_NAME/$LSB_RELEASE/$ARCH
62+

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
# cpython-builder
1+
# `cpython-builder`
2+
23
Clones and builds CPython using `python-build`

bin/archive

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#!/usr/bin/env bash
2+
3+
set -o errexit
4+
5+
if [[ ! $LSB_RELEASE ]] ; then
6+
echo 'Missing LSB_RELEASE'
7+
exit 1
8+
fi
9+
10+
if [[ ! $INSTALL_DEST ]] ; then
11+
echo 'Missing INSTALL_DEST'
12+
exit 1
13+
fi
14+
15+
if [[ ! $VERSION ]] ; then
16+
echo 'Missing VERSION'
17+
exit 1
18+
fi
19+
20+
set -o xtrace
21+
22+
: ${TAR_PATHS:=$INSTALL_DEST/$VERSION}
23+
: ${DESTS:=}
24+
25+
if [[ $VERSION =~ ^python|pypy ]] ; then
26+
VERSION="${VERSION}"
27+
SHORT_VERSION="${VERSION}"
28+
else
29+
SHORT_VERSION="python${VERSION}"
30+
VERSION="python-${VERSION}"
31+
fi
32+
33+
TAR_PATHS="$TAR_PATHS $INSTALL_DEST/$VERSION $HOME/virtualenv/${SHORT_VERSION}"
34+
DESTS="$TRAVIS_BUILD_DIR/$LSB_RELEASE/${VERSION}.tar.bz2"
35+
36+
if [[ $ALIAS ]] ; then
37+
if [[ $ALIAS =~ ^python|pypy ]] ; then
38+
SHORT_ALIAS="${ALIAS}"
39+
LONG_ALIAS="${ALIAS}"
40+
else
41+
SHORT_ALIAS="python${ALIAS}"
42+
LONG_ALIAS="python-${ALIAS}"
43+
fi
44+
TAR_PATHS="$TAR_PATHS $INSTALL_DEST/$ALIAS $HOME/virtualenv/${SHORT_ALIAS}"
45+
DESTS="$DESTS $TRAVIS_BUILD_DIR/$LSB_RELEASE/${LONG_ALIAS}.tar.bz2"
46+
fi
47+
48+
for DEST in $DESTS ; do
49+
mkdir -p $(dirname $DEST)
50+
tar -cjf $DEST $(ls -d $TAR_PATHS 2>/dev/null || true)
51+
52+
pushd $(dirname $DEST) &>/dev/null
53+
54+
shopt -s nullglob
55+
for f in *.* ; do
56+
sha256sum $f > ${f}.sha256sum.txt
57+
done
58+
59+
popd &>/dev/null
60+
61+
echo "---> $DEST"
62+
done

bin/compile

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/usr/bin/env bash
2+
3+
set -o errexit
4+
5+
if [[ ! $INSTALL_DEST ]] ; then
6+
echo 'Missing INSTALL_DEST'
7+
exit 1
8+
fi
9+
10+
if [[ ! $VERSION ]] ; then
11+
echo 'Missing $VERSION'
12+
exit 1
13+
fi
14+
15+
function install_numpy() {
16+
if [[ $VERSION == pypy* ]]; then
17+
$HOME/virtualenv/$VIRTENV_VERSION/bin/pypy -m ensurepip
18+
fi
19+
$HOME/virtualenv/$VIRTENV_VERSION/bin/pip install --upgrade numpy
20+
}
21+
22+
set -o xtrace
23+
24+
sudo env PYTHON_BUILD_ROOT=/opt/pyenv/plugins/python-build \
25+
/opt/pyenv/plugins/python-build/bin/python-build $VERSION $INSTALL_DEST/$VERSION
26+
27+
if [[ $ALIAS ]] ; then
28+
rm -f $INSTALL_DEST/$ALIAS
29+
sudo ln -sf $INSTALL_DEST/$VERSION $INSTALL_DEST/$ALIAS
30+
fi
31+
32+
# set up virtualenv arguments
33+
if [[ $VERSION = pypy-* ]]; then
34+
PYTHON_BIN=pypy
35+
VIRTENV_VERSION=$VERSION
36+
elif [[ $VERSION = pypy3* ]]; then
37+
PYTHON_BIN=pypy3
38+
VIRTENV_VERSION=$VERSION
39+
else
40+
PYTHON_BIN=python
41+
VIRTENV_VERSION=python$VERSION
42+
fi
43+
44+
virtualenv --distribute --python=$INSTALL_DEST/$VERSION/bin/python \
45+
$HOME/virtualenv/$VIRTENV_VERSION
46+
47+
if [[ $ALIAS ]] ; then
48+
rm -f $HOME/virtualenv/python$ALIAS
49+
ln -sf $HOME/virtualenv/$VIRTENV_VERSION $HOME/virtualenv/python$ALIAS
50+
fi
51+
52+
$HOME/virtualenv/$VIRTENV_VERSION/bin/python -c "import sys; assert sys.maxunicode > 65535"
53+
54+
if [[ $PACKAGES ]] ; then
55+
$HOME/virtualenv/$VIRTENV_VERSION/bin/pip install --upgrade $PACKAGES
56+
fi
57+
58+
install_numpy
59+

build-python

Lines changed: 0 additions & 33 deletions
This file was deleted.

create-archive

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)