From 5d9b7b00267e99baefcfba2d53dbfc312daa84eb Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 28 Nov 2016 16:37:08 +0100 Subject: Add scripts for building conda packages using Docker --- python/conda/linux_release/README.txt | 2 ++ python/conda/linux_release/buildenv/Dockerfile | 15 +++++++++++++++ python/conda/linux_release/builder/Dockerfile | 8 ++++++++ python/conda/linux_release/release.sh | 19 +++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 python/conda/linux_release/README.txt create mode 100644 python/conda/linux_release/buildenv/Dockerfile create mode 100644 python/conda/linux_release/builder/Dockerfile create mode 100644 python/conda/linux_release/release.sh (limited to 'python/conda/linux_release') diff --git a/python/conda/linux_release/README.txt b/python/conda/linux_release/README.txt new file mode 100644 index 0000000..12cfcbb --- /dev/null +++ b/python/conda/linux_release/README.txt @@ -0,0 +1,2 @@ +This directory contains a Docker container based environment for building linux release packages for conda. + diff --git a/python/conda/linux_release/buildenv/Dockerfile b/python/conda/linux_release/buildenv/Dockerfile new file mode 100644 index 0000000..c73e4b9 --- /dev/null +++ b/python/conda/linux_release/buildenv/Dockerfile @@ -0,0 +1,15 @@ +FROM debian:7 +ENV PATH /root/miniconda3/bin:$PATH +ENV DEBIAN_FRONTEND noninteractive +# http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run +ADD cuda_5.5.22_linux_64.run /root/ +# https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-x86_64.sh +ADD Miniconda3-4.2.12-Linux-x86_64.sh /root/ +RUN apt-get update +RUN apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git +RUN /bin/bash /root/Miniconda3-4.2.12-Linux-x86_64.sh -b +RUN /bin/bash /root/cuda_5.5.22_linux_64.run -toolkit -silent +RUN conda install -y conda-build +ENV CUDA_ROOT /usr/local/cuda +ENV CC gcc +ENV CXX g++ diff --git a/python/conda/linux_release/builder/Dockerfile b/python/conda/linux_release/builder/Dockerfile new file mode 100644 index 0000000..6acef62 --- /dev/null +++ b/python/conda/linux_release/builder/Dockerfile @@ -0,0 +1,8 @@ +FROM astra-build-env +ARG BUILD_NUMBER= +WORKDIR /root +RUN git clone -b conda_release https://github.com/astra-toolbox/astra-toolbox +RUN [ -z $BUILD_NUMBER ] || perl -pi -e "s/^(\s*number:\s*)[0-9]+$/\${1}$BUILD_NUMBER/" astra-toolbox/python/conda/libastra/meta.yaml astra-toolbox/python/conda//meta.yaml +RUN conda-build --python=3.5 astra-toolbox/python/conda/libastra +RUN conda-build --python=3.5 astra-toolbox/python/conda +RUN conda-build --python=2.7 astra-toolbox/python/conda diff --git a/python/conda/linux_release/release.sh b/python/conda/linux_release/release.sh new file mode 100644 index 0000000..35cbdd0 --- /dev/null +++ b/python/conda/linux_release/release.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +D=`mktemp -d` + +[ -f buildenv/cuda_5.5.22_linux_64.run ] || (cd buildenv; wget http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run ) +[ -f buildenv/Miniconda3-4.2.12-Linux-x86_64.sh ] || (cd buildenv; wget https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-x86_64.sh ) + +docker build -t astra-build-env buildenv +docker build --no-cache -t astra-builder builder + +docker run --name astra-build-cnt -v $D:/out:z astra-builder /bin/bash -c "cp /root/miniconda3/conda-bld/linux-64/*astra* /out" + +mkdir -p pkgs +mv $D/* pkgs +rmdir $D + +docker rm astra-build-cnt +docker rmi astra-builder + -- cgit v1.2.3 From 70bc6ff9d036239c6d2810437e5b78cf95c04dce Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Fri, 2 Dec 2016 01:04:35 +0100 Subject: Update versions for 1.8rc1 conda package --- python/conda/linux_release/builder/Dockerfile | 2 +- python/conda/meta.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'python/conda/linux_release') diff --git a/python/conda/linux_release/builder/Dockerfile b/python/conda/linux_release/builder/Dockerfile index 6acef62..d09a9d7 100644 --- a/python/conda/linux_release/builder/Dockerfile +++ b/python/conda/linux_release/builder/Dockerfile @@ -1,7 +1,7 @@ FROM astra-build-env ARG BUILD_NUMBER= WORKDIR /root -RUN git clone -b conda_release https://github.com/astra-toolbox/astra-toolbox +RUN git clone -b master https://github.com/astra-toolbox/astra-toolbox RUN [ -z $BUILD_NUMBER ] || perl -pi -e "s/^(\s*number:\s*)[0-9]+$/\${1}$BUILD_NUMBER/" astra-toolbox/python/conda/libastra/meta.yaml astra-toolbox/python/conda//meta.yaml RUN conda-build --python=3.5 astra-toolbox/python/conda/libastra RUN conda-build --python=3.5 astra-toolbox/python/conda diff --git a/python/conda/meta.yaml b/python/conda/meta.yaml index 84054c1..88c01d1 100644 --- a/python/conda/meta.yaml +++ b/python/conda/meta.yaml @@ -30,14 +30,14 @@ requirements: - numpy - scipy - six - - libastra ==1.8b # TODO: change to release version + - libastra ==1.8rc1 # TODO: change to release version run: - python - numpy - scipy - six - - libastra ==1.8b # TODO: change to release version + - libastra ==1.8rc1 # TODO: change to release version about: -- cgit v1.2.3 From 25f38c8ac5275ff88cc1245ab475510864543ceb Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Fri, 9 Dec 2016 11:37:26 +0100 Subject: Build conda packages for multiple conda versions --- python/conda/linux_release/builder/Dockerfile | 13 +++++++++---- python/conda/linux_release/release.sh | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'python/conda/linux_release') diff --git a/python/conda/linux_release/builder/Dockerfile b/python/conda/linux_release/builder/Dockerfile index d09a9d7..12bde50 100644 --- a/python/conda/linux_release/builder/Dockerfile +++ b/python/conda/linux_release/builder/Dockerfile @@ -1,8 +1,13 @@ FROM astra-build-env ARG BUILD_NUMBER= WORKDIR /root -RUN git clone -b master https://github.com/astra-toolbox/astra-toolbox -RUN [ -z $BUILD_NUMBER ] || perl -pi -e "s/^(\s*number:\s*)[0-9]+$/\${1}$BUILD_NUMBER/" astra-toolbox/python/conda/libastra/meta.yaml astra-toolbox/python/conda//meta.yaml +RUN git clone --depth 1 https://github.com/astra-toolbox/astra-toolbox +RUN [ -z $BUILD_NUMBER ] || perl -pi -e "s/^(\s*number:\s*)[0-9]+$/\${1}$BUILD_NUMBER/" astra-toolbox/python/conda/libastra/meta.yaml astra-toolbox/python/conda/meta.yaml RUN conda-build --python=3.5 astra-toolbox/python/conda/libastra -RUN conda-build --python=3.5 astra-toolbox/python/conda -RUN conda-build --python=2.7 astra-toolbox/python/conda +RUN conda-build --python 2.7 --numpy 1.8 astra-toolbox/python/conda +RUN conda-build --python 2.7 --numpy 1.9 astra-toolbox/python/conda +RUN conda-build --python 2.7 --numpy 1.10 astra-toolbox/python/conda +RUN conda-build --python 2.7 --numpy 1.11 astra-toolbox/python/conda +RUN conda-build --python 3.5 --numpy 1.9 astra-toolbox/python/conda +RUN conda-build --python 3.5 --numpy 1.10 astra-toolbox/python/conda +RUN conda-build --python 3.5 --numpy 1.11 astra-toolbox/python/conda diff --git a/python/conda/linux_release/release.sh b/python/conda/linux_release/release.sh index 35cbdd0..cf62bd5 100644 --- a/python/conda/linux_release/release.sh +++ b/python/conda/linux_release/release.sh @@ -6,6 +6,7 @@ D=`mktemp -d` [ -f buildenv/Miniconda3-4.2.12-Linux-x86_64.sh ] || (cd buildenv; wget https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-x86_64.sh ) docker build -t astra-build-env buildenv +#docker build --no-cache --build-arg=BUILD_NUMBER=0 -t astra-builder builder docker build --no-cache -t astra-builder builder docker run --name astra-build-cnt -v $D:/out:z astra-builder /bin/bash -c "cp /root/miniconda3/conda-bld/linux-64/*astra* /out" -- cgit v1.2.3 From 67ad5142d08fa7708f2f7fc7db5e011e4e54e1d4 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Mon, 2 Jan 2017 18:07:32 +0100 Subject: Build conda packages for linux-64/np111/py36 --- python/conda/linux_release/builder/Dockerfile | 1 + 1 file changed, 1 insertion(+) (limited to 'python/conda/linux_release') diff --git a/python/conda/linux_release/builder/Dockerfile b/python/conda/linux_release/builder/Dockerfile index 12bde50..208e3ad 100644 --- a/python/conda/linux_release/builder/Dockerfile +++ b/python/conda/linux_release/builder/Dockerfile @@ -11,3 +11,4 @@ RUN conda-build --python 2.7 --numpy 1.11 astra-toolbox/python/conda RUN conda-build --python 3.5 --numpy 1.9 astra-toolbox/python/conda RUN conda-build --python 3.5 --numpy 1.10 astra-toolbox/python/conda RUN conda-build --python 3.5 --numpy 1.11 astra-toolbox/python/conda +RUN conda-build --python 3.6 --numpy 1.11 astra-toolbox/python/conda -- cgit v1.2.3 From ef26db6ab96e050acf808029a23184bfcb860237 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Fri, 24 Feb 2017 12:15:05 +0100 Subject: Add np112 to conda build script --- python/conda/linux_release/builder/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) (limited to 'python/conda/linux_release') diff --git a/python/conda/linux_release/builder/Dockerfile b/python/conda/linux_release/builder/Dockerfile index 208e3ad..8be05b8 100644 --- a/python/conda/linux_release/builder/Dockerfile +++ b/python/conda/linux_release/builder/Dockerfile @@ -8,7 +8,10 @@ RUN conda-build --python 2.7 --numpy 1.8 astra-toolbox/python/conda RUN conda-build --python 2.7 --numpy 1.9 astra-toolbox/python/conda RUN conda-build --python 2.7 --numpy 1.10 astra-toolbox/python/conda RUN conda-build --python 2.7 --numpy 1.11 astra-toolbox/python/conda +RUN conda-build --python 2.7 --numpy 1.12 astra-toolbox/python/conda RUN conda-build --python 3.5 --numpy 1.9 astra-toolbox/python/conda RUN conda-build --python 3.5 --numpy 1.10 astra-toolbox/python/conda RUN conda-build --python 3.5 --numpy 1.11 astra-toolbox/python/conda +RUN conda-build --python 3.5 --numpy 1.12 astra-toolbox/python/conda RUN conda-build --python 3.6 --numpy 1.11 astra-toolbox/python/conda +RUN conda-build --python 3.6 --numpy 1.12 astra-toolbox/python/conda -- cgit v1.2.3 From 9f3f78472f7be84694baef8e67fec382febce639 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Tue, 24 Jan 2017 16:44:18 +0100 Subject: Move conda astra-toolbox package files to own subdirectory Recent versions of conda-build (2.1.1 at least) seem to automatically build packages in subdirectories (after the main directory). --- python/conda/astra-toolbox/bld.bat | 33 ++++++++++++++++++ python/conda/astra-toolbox/build.sh | 4 +++ python/conda/astra-toolbox/meta.yaml | 48 +++++++++++++++++++++++++++ python/conda/bld.bat | 33 ------------------ python/conda/build.sh | 4 --- python/conda/linux_release/builder/Dockerfile | 24 +++++++------- python/conda/meta.yaml | 48 --------------------------- 7 files changed, 97 insertions(+), 97 deletions(-) create mode 100644 python/conda/astra-toolbox/bld.bat create mode 100644 python/conda/astra-toolbox/build.sh create mode 100644 python/conda/astra-toolbox/meta.yaml delete mode 100644 python/conda/bld.bat delete mode 100644 python/conda/build.sh delete mode 100644 python/conda/meta.yaml (limited to 'python/conda/linux_release') diff --git a/python/conda/astra-toolbox/bld.bat b/python/conda/astra-toolbox/bld.bat new file mode 100644 index 0000000..15777ce --- /dev/null +++ b/python/conda/astra-toolbox/bld.bat @@ -0,0 +1,33 @@ +@echo off + +set R=%SRC_DIR% + +set B_VC=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64 +call "%B_VC%\vcvars64.bat" + +set B_BV=1_62 +set B_BOOST=D:\wjp\boost_%B_BV%_0 + +cd /D "%B_BOOST%\lib64-msvc-14.0" + +mkdir "%R%\lib\x64" +mkdir "%R%\bin\x64\Release_CUDA" + +copy boost_unit_test_framework-vc140-mt-%B_BV%.lib %R%\lib\x64 +copy libboost_chrono-vc140-mt-%B_BV%.lib %R%\lib\x64 +copy libboost_date_time-vc140-mt-%B_BV%.lib %R%\lib\x64 +copy libboost_system-vc140-mt-%B_BV%.lib %R%\lib\x64 +copy libboost_thread-vc140-mt-%B_BV%.lib %R%\lib\x64 + +cd %B_BOOST% + +xcopy /i /e /q boost "%R%\lib\include\boost" + +cd /D %R% + +cd python + +set VS90COMNTOOLS=%VS140COMNTOOLS% +set CL=/DASTRA_CUDA /DASTRA_PYTHON "/I%R%\include" "/I%R%\lib\include" "/I%CUDA_PATH%\include" +copy "%CONDA_PREFIX%\Library\lib\AstraCuda64.lib" astra.lib +python builder.py build_ext --compiler=msvc install diff --git a/python/conda/astra-toolbox/build.sh b/python/conda/astra-toolbox/build.sh new file mode 100644 index 0000000..951fd88 --- /dev/null +++ b/python/conda/astra-toolbox/build.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cd $SRC_DIR/python/ +CPPFLAGS="-DASTRA_CUDA -DASTRA_PYTHON $CPPFLAGS -I$SRC_DIR/ -I$SRC_DIR/include -I$CUDA_ROOT/include" CC=$CC python ./builder.py build install diff --git a/python/conda/astra-toolbox/meta.yaml b/python/conda/astra-toolbox/meta.yaml new file mode 100644 index 0000000..942397e --- /dev/null +++ b/python/conda/astra-toolbox/meta.yaml @@ -0,0 +1,48 @@ +package: + name: astra-toolbox + version: '1.8' + +source: + git_url: https://github.com/astra-toolbox/astra-toolbox.git + git_tag: v1.8 + +build: + number: 0 + script_env: + - CC # [not win] + - CUDA_ROOT # [not win] + +test: + imports: + - astra + + requires: + # To avoid large downloads just for testing after build phase + - nomkl # [not win] + +requirements: + build: + - python + - cython >=0.13 + - nomkl # [not win] + - numpy + - scipy + - six + - libastra ==1.8 + + run: + - python + - numpy x.x + - scipy + - six + - libastra ==1.8 + + +about: + home: http://www.astra-toolbox.com + license: GPLv3 + summary: 'The ASTRA Toolbox is a Python toolbox of high-performance GPU primitives for 2D and 3D tomography.' + +# See +# http://docs.continuum.io/conda/build.html for +# more information about meta.yaml diff --git a/python/conda/bld.bat b/python/conda/bld.bat deleted file mode 100644 index 15777ce..0000000 --- a/python/conda/bld.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo off - -set R=%SRC_DIR% - -set B_VC=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64 -call "%B_VC%\vcvars64.bat" - -set B_BV=1_62 -set B_BOOST=D:\wjp\boost_%B_BV%_0 - -cd /D "%B_BOOST%\lib64-msvc-14.0" - -mkdir "%R%\lib\x64" -mkdir "%R%\bin\x64\Release_CUDA" - -copy boost_unit_test_framework-vc140-mt-%B_BV%.lib %R%\lib\x64 -copy libboost_chrono-vc140-mt-%B_BV%.lib %R%\lib\x64 -copy libboost_date_time-vc140-mt-%B_BV%.lib %R%\lib\x64 -copy libboost_system-vc140-mt-%B_BV%.lib %R%\lib\x64 -copy libboost_thread-vc140-mt-%B_BV%.lib %R%\lib\x64 - -cd %B_BOOST% - -xcopy /i /e /q boost "%R%\lib\include\boost" - -cd /D %R% - -cd python - -set VS90COMNTOOLS=%VS140COMNTOOLS% -set CL=/DASTRA_CUDA /DASTRA_PYTHON "/I%R%\include" "/I%R%\lib\include" "/I%CUDA_PATH%\include" -copy "%CONDA_PREFIX%\Library\lib\AstraCuda64.lib" astra.lib -python builder.py build_ext --compiler=msvc install diff --git a/python/conda/build.sh b/python/conda/build.sh deleted file mode 100644 index 951fd88..0000000 --- a/python/conda/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cd $SRC_DIR/python/ -CPPFLAGS="-DASTRA_CUDA -DASTRA_PYTHON $CPPFLAGS -I$SRC_DIR/ -I$SRC_DIR/include -I$CUDA_ROOT/include" CC=$CC python ./builder.py build install diff --git a/python/conda/linux_release/builder/Dockerfile b/python/conda/linux_release/builder/Dockerfile index 8be05b8..2404609 100644 --- a/python/conda/linux_release/builder/Dockerfile +++ b/python/conda/linux_release/builder/Dockerfile @@ -2,16 +2,16 @@ FROM astra-build-env ARG BUILD_NUMBER= WORKDIR /root RUN git clone --depth 1 https://github.com/astra-toolbox/astra-toolbox -RUN [ -z $BUILD_NUMBER ] || perl -pi -e "s/^(\s*number:\s*)[0-9]+$/\${1}$BUILD_NUMBER/" astra-toolbox/python/conda/libastra/meta.yaml astra-toolbox/python/conda/meta.yaml +RUN [ -z $BUILD_NUMBER ] || perl -pi -e "s/^(\s*number:\s*)[0-9]+$/\${1}$BUILD_NUMBER/" astra-toolbox/python/conda/libastra/meta.yaml astra-toolbox/python/conda/astra-toolbox/meta.yaml RUN conda-build --python=3.5 astra-toolbox/python/conda/libastra -RUN conda-build --python 2.7 --numpy 1.8 astra-toolbox/python/conda -RUN conda-build --python 2.7 --numpy 1.9 astra-toolbox/python/conda -RUN conda-build --python 2.7 --numpy 1.10 astra-toolbox/python/conda -RUN conda-build --python 2.7 --numpy 1.11 astra-toolbox/python/conda -RUN conda-build --python 2.7 --numpy 1.12 astra-toolbox/python/conda -RUN conda-build --python 3.5 --numpy 1.9 astra-toolbox/python/conda -RUN conda-build --python 3.5 --numpy 1.10 astra-toolbox/python/conda -RUN conda-build --python 3.5 --numpy 1.11 astra-toolbox/python/conda -RUN conda-build --python 3.5 --numpy 1.12 astra-toolbox/python/conda -RUN conda-build --python 3.6 --numpy 1.11 astra-toolbox/python/conda -RUN conda-build --python 3.6 --numpy 1.12 astra-toolbox/python/conda +RUN conda-build --python 2.7 --numpy 1.8 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 2.7 --numpy 1.9 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 2.7 --numpy 1.10 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 2.7 --numpy 1.11 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 2.7 --numpy 1.12 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 3.5 --numpy 1.9 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 3.5 --numpy 1.10 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 3.5 --numpy 1.11 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 3.5 --numpy 1.12 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 3.6 --numpy 1.11 astra-toolbox/python/conda/astra-toolbox +RUN conda-build --python 3.6 --numpy 1.12 astra-toolbox/python/conda/astra-toolbox diff --git a/python/conda/meta.yaml b/python/conda/meta.yaml deleted file mode 100644 index 942397e..0000000 --- a/python/conda/meta.yaml +++ /dev/null @@ -1,48 +0,0 @@ -package: - name: astra-toolbox - version: '1.8' - -source: - git_url: https://github.com/astra-toolbox/astra-toolbox.git - git_tag: v1.8 - -build: - number: 0 - script_env: - - CC # [not win] - - CUDA_ROOT # [not win] - -test: - imports: - - astra - - requires: - # To avoid large downloads just for testing after build phase - - nomkl # [not win] - -requirements: - build: - - python - - cython >=0.13 - - nomkl # [not win] - - numpy - - scipy - - six - - libastra ==1.8 - - run: - - python - - numpy x.x - - scipy - - six - - libastra ==1.8 - - -about: - home: http://www.astra-toolbox.com - license: GPLv3 - summary: 'The ASTRA Toolbox is a Python toolbox of high-performance GPU primitives for 2D and 3D tomography.' - -# See -# http://docs.continuum.io/conda/build.html for -# more information about meta.yaml -- cgit v1.2.3