Commit f788cfaa authored by Kevin Modzelewski's avatar Kevin Modzelewski

Merge pull request #1212 from kmod/packaging

Some packaging / distributing updates
parents 7974eb8c 865f7ba8
......@@ -402,7 +402,7 @@ set(CMAKE_EXECUTABLE_FORMAT "ELF") # Otherwise cmake thinks this is a cross-comp
install(TARGETS pyston DESTINATION ".")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "4")
set(CPACK_PACKAGE_VERSION_MINOR "5")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_SYSTEM_NAME "linux64")
......
......@@ -15,17 +15,31 @@ Currently, Pyston targets Python 2.7, only runs on x86_64 platforms, and only ha
We have some experimental docker images available; try running
```
docker run --it pyston/pyston
docker run -it pyston/pyston
```
to be dropped in to a container that runs a pre-activated pyston virtualenv. This means that the "pip" and "python" commands correspond to Pyston, so you can directly start doing `pip install numpy; python my_numpy_script.py` to get started. As mentioned though, the docker images are experimental, so please give us feedback [on gitter](https.://gitter.im/dropbox/pyston).
to be dropped in to a container that runs a pre-activated pyston virtualenv. This means that the "pip" and "python" commands correspond to Pyston, so you can directly start doing `pip install mypackage` to get started. As mentioned though, the docker images are experimental, so please give us feedback [on gitter](https.://gitter.im/dropbox/pyston).
You can also download the latest release [from GitHub](https://github.com/dropbox/pyston/releases). It should for the most part just extract and run. One thing to note is that current virtualenv versions do not support Pyston, so you will need to use our version that we ship in the releases, such as by `pyston-0.5.0-linux64/pyston pyston-0.5.0-linux/pyston/virtualenv/virtualenv.py my_new_env`.
You can also download the latest release [from GitHub](https://github.com/dropbox/pyston/releases). It should for the most part just extract and run. One thing to note is that current virtualenv versions do not support Pyston, so you will need to use our version that we ship in the releases. See our [Dockerfile](https://github.com/dropbox/pyston/blob/master/docker/Dockerfile) for how to do this.
You can also build Pyston directly from source. We have some build instructions at [INSTALLING.md](https://github.com/dropbox/pyston/blob/master/docs/INSTALLING.md). If you have any issues, please feel free to file an issue in the issue tracker, or mention it via email or gitter.
##### NumPy
##### Contributing
The easiest way to get started with NumPy-on-Pyston is to use another one of docker containers:
```
docker run -it pyston/pyston-numpy
```
To install it yourself, one needs a modified Cython, as well as to install numpy from source in order to invoke our modified Cython.
```
pip install https://github.com/dropbox/pyston/releases/download/v0.5.0/Cython-0.22.0-pyston.tar.gz
pip install git+git://github.com/numpy/numpy@v1.11.0
```
### Contributing
Pyston welcomes any kind of contribution; please see [CONTRIBUTING.md](https://github.com/dropbox/pyston/blob/master/CONTRIBUTING.md) for details.
> tl;dr: You will need to sign the [Dropbox CLA](https://opensource.dropbox.com/cla/) and run the tests.
......@@ -38,9 +52,7 @@ See [travis-ci.org/dropbox/pyston/builds](https://travis-ci.org/dropbox/pyston/b
### Roadmap
##### v0.5: Coming soon
- Focus is on being ready to run Dropbox's production services. Initial plan:
- Support for a final few esoteric Python features
- Better stability and performance (but particularly for the Dropbox servers)
- Focus is on being ready to run Dropbox's production services. Blog post coming soon.
##### v0.4: [released 11/3/2015](http://blog.pyston.org/2015/11/03/102/)
- Many new features and better language support
......
......@@ -9,3 +9,8 @@ if (${ENABLE_REF_DEBUG})
endif()
configure_file(lib_pyston/_sysconfigdata.py.in lib_pyston/_sysconfigdata.py)
# CMake sucks: it has no idea that configure-generated files can be installed.
# Just tell it to install whatever file is at that particular location, and rely on
# the rest of the build rules to ensure that it's made in time.
install(FILES ${CMAKE_BINARY_DIR}/lib_pyston/_sysconfigdata.py DESTINATION lib_pyston)
To produce a new docker build:
```
cd ~/pyston/docker
BUILD_NAME=0.5.0
docker build -t pyston/pyston:latest -t pyston/pyston:${BUILD_NAME} .
docker push pyston/pyston:latest
docker push pyston/pyston:${BUILD_NAME}
```
### For Pyston developers
To produce a new docker build, do `bash build_docker.sh`. You will need to do `docker login` first.
Then using docker is just a matter of `docker run -it pyston/pyston` and running python/pip etc.
......
# Adapted from CPython's Dockerfile:
FROM buildpack-deps:jessie
# http://bugs.python.org/issue19846
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
ENV LANG C.UTF-8
ENV PYSTON_TAG v0.5.0
ENV PYSTON_VERSION 0.5.0
RUN set -x \
&& curl -SL "https://github.com/dropbox/pyston/releases/download/${PYSTON_TAG}/pyston-${PYSTON_VERSION}-linux64.tar.gz" | tar -xzC / \
&& /pyston-${PYSTON_VERSION}-linux64/pyston /pyston-${PYSTON_VERSION}-linux64/virtualenv/virtualenv.py /pyston_env
ENV PATH /pyston_env/bin/:$PATH
RUN pip install https://github.com/dropbox/pyston/releases/download/${PYSTON_TAG}/Cython-0.22-pyston.tar.gz
RUN echo "source /pyston_env/bin/activate" >> /root/.bashrc
RUN pip install git+git://github.com/numpy/numpy@v1.11.0
CMD ["/bin/bash"];
......@@ -6,13 +6,12 @@ FROM buildpack-deps:jessie
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
ENV LANG C.UTF-8
ENV PYSTON_TAG v0.4
ENV PYSTON_VERSION 0.4.0
ENV PYSTON_TAG v0.5.0
ENV PYSTON_VERSION 0.5.0
RUN set -x \
&& curl -SL "https://github.com/dropbox/pyston/releases/download/${PYSTON_TAG}/pyston-${PYSTON_VERSION}-linux64.tar.gz" | tar -xzC /
RUN /pyston-${PYSTON_VERSION}-linux64/pyston /pyston-${PYSTON_VERSION}-linux64/virtualenv/virtualenv.py /pyston_env
&& curl -SL "https://github.com/dropbox/pyston/releases/download/${PYSTON_TAG}/pyston-${PYSTON_VERSION}-linux64.tar.gz" | tar -xzC / \
&& /pyston-${PYSTON_VERSION}-linux64/pyston /pyston-${PYSTON_VERSION}-linux64/virtualenv/virtualenv.py /pyston_env
ENV PATH /pyston_env/bin/:$PATH
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment