From 02a71e7abf5cb33c91b8de6bb22e071f99d8f5c7 Mon Sep 17 00:00:00 2001 From: Yann Sionneau Date: Fri, 23 Jan 2015 16:07:56 +0100 Subject: [PATCH] Add conda recipes for artiq and its dependencies --- conda/artiq/bld.bat | 1 + conda/artiq/build.sh | 3 ++ conda/artiq/meta.yaml | 47 ++++++++++++++++++++++++++++++++ conda/cairo/build.sh | 15 ++++++++++ conda/cairo/meta.yaml | 25 +++++++++++++++++ conda/cairoplot3-artiq/meta.yaml | 29 ++++++++++++++++++++ conda/gbulb-artiq/meta.yaml | 28 +++++++++++++++++++ conda/llvmdev-or1k/bld.bat | 24 ++++++++++++++++ conda/llvmdev-or1k/meta.yaml | 25 +++++++++++++++++ conda/llvmlite-or1k/bld.bat | 11 ++++++++ conda/llvmlite-or1k/build.sh | 4 +++ conda/llvmlite-or1k/meta.yaml | 27 ++++++++++++++++++ conda/pixman/build.sh | 4 +++ conda/pixman/meta.yaml | 16 +++++++++++ conda/prettytable/bld.bat | 8 ++++++ conda/prettytable/build.sh | 3 ++ conda/prettytable/meta.yaml | 26 ++++++++++++++++++ conda/pycairo/bld.bat | 1 + conda/pycairo/build.sh | 3 ++ conda/pycairo/meta.yaml | 29 ++++++++++++++++++++ conda/pygobject/build.sh | 6 ++++ conda/pygobject/meta.yaml | 30 ++++++++++++++++++++ setup.py | 4 +-- 23 files changed, 366 insertions(+), 3 deletions(-) create mode 100644 conda/artiq/bld.bat create mode 100755 conda/artiq/build.sh create mode 100644 conda/artiq/meta.yaml create mode 100644 conda/cairo/build.sh create mode 100644 conda/cairo/meta.yaml create mode 100644 conda/cairoplot3-artiq/meta.yaml create mode 100644 conda/gbulb-artiq/meta.yaml create mode 100644 conda/llvmdev-or1k/bld.bat create mode 100644 conda/llvmdev-or1k/meta.yaml create mode 100644 conda/llvmlite-or1k/bld.bat create mode 100755 conda/llvmlite-or1k/build.sh create mode 100644 conda/llvmlite-or1k/meta.yaml create mode 100644 conda/pixman/build.sh create mode 100644 conda/pixman/meta.yaml create mode 100644 conda/prettytable/bld.bat create mode 100644 conda/prettytable/build.sh create mode 100644 conda/prettytable/meta.yaml create mode 100644 conda/pycairo/bld.bat create mode 100755 conda/pycairo/build.sh create mode 100644 conda/pycairo/meta.yaml create mode 100755 conda/pygobject/build.sh create mode 100644 conda/pygobject/meta.yaml diff --git a/conda/artiq/bld.bat b/conda/artiq/bld.bat new file mode 100644 index 000000000..e104111df --- /dev/null +++ b/conda/artiq/bld.bat @@ -0,0 +1 @@ +"%PYTHON%" setup.py install --single-version-externally-managed --record=record.txt diff --git a/conda/artiq/build.sh b/conda/artiq/build.sh new file mode 100755 index 000000000..3786386a7 --- /dev/null +++ b/conda/artiq/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +$PYTHON setup.py install --single-version-externally-managed --record=record.txt diff --git a/conda/artiq/meta.yaml b/conda/artiq/meta.yaml new file mode 100644 index 000000000..e904bdb02 --- /dev/null +++ b/conda/artiq/meta.yaml @@ -0,0 +1,47 @@ +package: + name: artiq + version: "0.0" + +source: + git_url: https://github.com/m-labs/artiq + git_tag: master + +build: + number: 4 + string: dev + entry_points: + - artiq_client = artiq.frontend.artiq_client:main + - artiq_ctlid = artiq.frontend.artiq_ctlid:main + - artiq_gui = artiq.frontend.artiq_gui:main + - artiq_master = artiq.frontend.artiq_master:main + - artiq_run = artiq.frontend.artiq_run:main + - lda_client = artiq.frontend.lda_client:main + - lda_controller = artiq.frontend.lda_controller:main + - pdq2_client = artiq.frontend.pdq2_client:main + - pdq2_controller = artiq.frontend.pdq2_controller:main + +requirements: + build: + - python + - setuptools + - numpy + run: + - python + - llvmlite-or1k + - scipy + - numpy + - prettytable + - pyserial + - sphinx + - gbulb-artiq # [not win] + - cairoplot3-artiq # [not win] + +test: + imports: + - artiq + + +about: + home: http://m-labs.hk/artiq + license: 3-clause BSD + summary: 'ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a next-generation control system for quantum information experiments. It is being developed in partnership with the Ion Storage Group at NIST, and its applicability reaches beyond ion trapping.' diff --git a/conda/cairo/build.sh b/conda/cairo/build.sh new file mode 100644 index 000000000..f390466ca --- /dev/null +++ b/conda/cairo/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash +export CFLAGS="-I$PREFIX/include -L$PREFIX/lib" +./configure \ +--prefix=$PREFIX \ +--disable-static \ +--enable-warnings \ +--enable-ft \ +--enable-ps \ +--enable-pdf \ +--enable-svg \ +--disable-gtk-doc +make +make install +rm -rf $PREFIX/share +# vim:set ts=8 sw=4 sts=4 tw=78 et: diff --git a/conda/cairo/meta.yaml b/conda/cairo/meta.yaml new file mode 100644 index 000000000..001dd9c87 --- /dev/null +++ b/conda/cairo/meta.yaml @@ -0,0 +1,25 @@ +# This conda recipe is based on this one: https://github.com/tpn/trent-conda-recipes/tree/master/cairo + +package: + name: cairo + version: 1.14.0 +source: + fn: cairo-1.14.0.tar.xz + url: http://cairographics.org/releases/cairo-1.14.0.tar.xz +build: + number: 0 +requirements: + build: + - freetype + - libpng + - pixman >=0.30 + - zlib + run: + - freetype + - libpng + - pixman >=0.30 + - zlib +about: + home: http://cairographics.org/ + license: LGPL 2.1 and MPL 1.1 +# vim:set ts=8 sw=2 sts=2 tw=78 et: diff --git a/conda/cairoplot3-artiq/meta.yaml b/conda/cairoplot3-artiq/meta.yaml new file mode 100644 index 000000000..00a171fa6 --- /dev/null +++ b/conda/cairoplot3-artiq/meta.yaml @@ -0,0 +1,29 @@ +package: + name: cairoplot3-artiq + version: "3.1.2" + +source: + git_url: https://github.com/m-labs/cairoplot3 + git_tag: master + +build: + number: 0 + script: $PYTHON setup.py install + +requirements: + build: + - python + - setuptools + run: + - python + - pycairo + +test: + imports: + - cairoplot + - series + +about: + home: https://github.com/m-labs/cairoplot3 + license: LGPL + summary: 'Module to easily plot beautiful graphics using PyCairo' diff --git a/conda/gbulb-artiq/meta.yaml b/conda/gbulb-artiq/meta.yaml new file mode 100644 index 000000000..20baf2e8e --- /dev/null +++ b/conda/gbulb-artiq/meta.yaml @@ -0,0 +1,28 @@ +package: + name: gbulb-artiq + version: "0.1" + +source: + git_url: https://github.com/m-labs/gbulb + git_tag: master + +build: + number: 0 + script: $PYTHON setup.py install + +requirements: + build: + - python + - setuptools + run: + - python + - pygobject + +test: + imports: + - gbulb + +about: + home: https://github.com/m-labs/gbulb + license: Apache 2.0 + summary: 'GLib event loop for tulip (PEP 3156)' diff --git a/conda/llvmdev-or1k/bld.bat b/conda/llvmdev-or1k/bld.bat new file mode 100644 index 000000000..ef75e9db1 --- /dev/null +++ b/conda/llvmdev-or1k/bld.bat @@ -0,0 +1,24 @@ +mkdir build +cd build +set BUILD_CONFIG=Release +REM Configure step +if "%ARCH%"=="32" ( +set CMAKE_GENERATOR=Visual Studio 12 2013 +) else ( +set CMAKE_GENERATOR=Visual Studio 12 2013 Win64 +) +set CMAKE_GENERATOR_TOOLSET=v120_xp +@rem Reduce build times and package size by removing unused stuff +set CMAKE_CUSTOM=-DLLVM_TARGETS_TO_BUILD=OR1K -DLLVM_INCLUDE_TESTS=OFF ^ +-DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF ^ +-DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF +cmake -G "%CMAKE_GENERATOR%" -T "%CMAKE_GENERATOR_TOOLSET%" ^ +-DCMAKE_BUILD_TYPE="%BUILD_CONFIG%" -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ +-DCMAKE_INSTALL_PREFIX:PATH=%LIBRARY_PREFIX% %CMAKE_CUSTOM% %SRC_DIR% +if errorlevel 1 exit 1 +REM Build step +cmake --build . --config "%BUILD_CONFIG%" +if errorlevel 1 exit 1 +REM Install step +cmake --build . --config "%BUILD_CONFIG%" --target install +if errorlevel 1 exit 1 diff --git a/conda/llvmdev-or1k/meta.yaml b/conda/llvmdev-or1k/meta.yaml new file mode 100644 index 000000000..87586bc24 --- /dev/null +++ b/conda/llvmdev-or1k/meta.yaml @@ -0,0 +1,25 @@ +package: + name: llvmdev-or1k + version: "3.4" + +source: + git_url: https://github.com/openrisc/llvm-or1k + git_tag: master + +build: + number: 2 + +requirements: + build: + - system [linux and not armv6] + run: + - system [linux and not armv6] + +#test: +#commands: +#- clang --help [linux and not armv6] + +about: + home: http://llvm.org/ + license: Open Source (http://llvm.org/releases/3.4/LICENSE.TXT) + summary: Development headers and libraries for LLVM diff --git a/conda/llvmlite-or1k/bld.bat b/conda/llvmlite-or1k/bld.bat new file mode 100644 index 000000000..5e67a1e4a --- /dev/null +++ b/conda/llvmlite-or1k/bld.bat @@ -0,0 +1,11 @@ +@rem Let CMake know about the LLVM install path, for find_package() +set CMAKE_PREFIX_PATH=%LIBRARY_PREFIX% + +@rem Ensure there are no build leftovers (CMake can complain) +if exist ffi\build rmdir /S /Q ffi\build + +@rem Apply patches +patch -p1 < %RECIPE_DIR%/../../patches/llvmlite/0001-add-all-targets.patch + +%PYTHON% -S setup.py install +if errorlevel 1 exit 1 diff --git a/conda/llvmlite-or1k/build.sh b/conda/llvmlite-or1k/build.sh new file mode 100755 index 000000000..067b7ce71 --- /dev/null +++ b/conda/llvmlite-or1k/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +patch -p1 < ${RECIPE_DIR}/../../patches/llvmlite/0001-add-all-targets.patch +PATH=/usr/local/llvm-or1k/bin:$PATH $PYTHON setup.py install diff --git a/conda/llvmlite-or1k/meta.yaml b/conda/llvmlite-or1k/meta.yaml new file mode 100644 index 000000000..9dbd8ab83 --- /dev/null +++ b/conda/llvmlite-or1k/meta.yaml @@ -0,0 +1,27 @@ +package: + name: llvmlite-or1k + version: "0.2.1" + +source: + git_url: https://github.com/numba/llvmlite + git_tag: 11a8303d02e3d6dd2d1e0e9065701795cd8a979f + +requirements: + build: + - python + - llvmdev-or1k + - setuptools + run: + - python + +build: + number: 0 + +test: + imports: + - llvmlite + - llvmlite.llvmpy + +about: + home: https://pypi.python.org/pypi/llvmlite/ + license: BSD diff --git a/conda/pixman/build.sh b/conda/pixman/build.sh new file mode 100644 index 000000000..06a641d4f --- /dev/null +++ b/conda/pixman/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash +./configure --prefix=$PREFIX +make -j +make install diff --git a/conda/pixman/meta.yaml b/conda/pixman/meta.yaml new file mode 100644 index 000000000..df1ccd8f3 --- /dev/null +++ b/conda/pixman/meta.yaml @@ -0,0 +1,16 @@ +# This conda recipe comes from https://github.com/sandialabs/pixman-conda-recipe + +package: + name: pixman + version: "0.32.6" + +source: + fn: pixman-0.32.6.tar.gz + url: http://cairographics.org/releases/pixman-0.32.6.tar.gz + +build: + number: 0 + +about: + home: http://cairographics.org + license: GNU Lesser General Public License (LGPL) version 2.1 or the Mozilla Public License (MPL) version 1.1 at your option. diff --git a/conda/prettytable/bld.bat b/conda/prettytable/bld.bat new file mode 100644 index 000000000..87b1481d7 --- /dev/null +++ b/conda/prettytable/bld.bat @@ -0,0 +1,8 @@ +"%PYTHON%" setup.py install +if errorlevel 1 exit 1 + +:: Add more build steps here, if they are necessary. + +:: See +:: http://docs.continuum.io/conda/build.html +:: for a list of environment variables that are set during the build process. diff --git a/conda/prettytable/build.sh b/conda/prettytable/build.sh new file mode 100644 index 000000000..8e25a1455 --- /dev/null +++ b/conda/prettytable/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +$PYTHON setup.py install diff --git a/conda/prettytable/meta.yaml b/conda/prettytable/meta.yaml new file mode 100644 index 000000000..ca359db92 --- /dev/null +++ b/conda/prettytable/meta.yaml @@ -0,0 +1,26 @@ +package: + name: prettytable + version: !!str 0.7.2 + +source: + fn: prettytable-0.7.2.tar.bz2 + url: https://pypi.python.org/packages/source/P/PrettyTable/prettytable-0.7.2.tar.bz2 + md5: 760dc900590ac3c46736167e09fa463a + +requirements: + build: + - python + - setuptools + + run: + - python + +test: + imports: + - prettytable + + +about: + home: http://code.google.com/p/prettytable/ + license: BSD License + summary: 'A simple Python library for easily displaying tabular data in a visually appealing ASCII table format.' diff --git a/conda/pycairo/bld.bat b/conda/pycairo/bld.bat new file mode 100644 index 000000000..39b5e1fee --- /dev/null +++ b/conda/pycairo/bld.bat @@ -0,0 +1 @@ +%PYTHON% setup.py install diff --git a/conda/pycairo/build.sh b/conda/pycairo/build.sh new file mode 100755 index 000000000..8e25a1455 --- /dev/null +++ b/conda/pycairo/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +$PYTHON setup.py install diff --git a/conda/pycairo/meta.yaml b/conda/pycairo/meta.yaml new file mode 100644 index 000000000..ae7cccea6 --- /dev/null +++ b/conda/pycairo/meta.yaml @@ -0,0 +1,29 @@ +package: + name: pycairo + version: "1.10.0" + +source: + git_url: git://git.cairographics.org/git/pycairo + git_tag: master + +build: + number: 2 + script: $PYTHON setup.py install + +requirements: + build: + - python + - setuptools + - cairo 1.14.0 # [not win] + run: + - python + - cairo 1.14.0 # [not win] + +test: + imports: + - cairo + +about: + home: http://cairographics.org/pycairo/ + license: LGPL 3 + summary: 'Python 3 bindings for cairo' diff --git a/conda/pygobject/build.sh b/conda/pygobject/build.sh new file mode 100755 index 000000000..74249fff2 --- /dev/null +++ b/conda/pygobject/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +TERM=xterm ./autogen.sh +export CFLAGS="-L$PREFIX/lib -I$PREFIX/include" +./configure --prefix=$PREFIX +make +make install diff --git a/conda/pygobject/meta.yaml b/conda/pygobject/meta.yaml new file mode 100644 index 000000000..4fcc319f0 --- /dev/null +++ b/conda/pygobject/meta.yaml @@ -0,0 +1,30 @@ +package: + name: pygobject + version: "3.14.0" + +source: + git_url: git://git.gnome.org/pygobject + git_tag: 3.14.0 + +build: + number: 0 + +requirements: + build: + - python + run: + - python + +test: + imports: + - gi + - gi.repository + - gi.repository.GObject + - gi.repository.GLib + - gi.repository.Gio + - gi.repository.Gtk + +about: + home: https://wiki.gnome.org/action/show/Projects/PyGObject?action=show&redirect=PyGObject + license: LGPL 2.1 + summary: 'PyGObject is a Python extension module that gives clean and consistent access to the entire GNOME software platform through the use of GObject Introspection.' diff --git a/setup.py b/setup.py index 4838700d6..3bb9765f7 100755 --- a/setup.py +++ b/setup.py @@ -22,9 +22,7 @@ setup( packages=find_packages(), namespace_packages=[], test_suite="artiq.test", - data_files=[ - (os.path.join("artiq", "gui"), - [os.path.join("artiq", "gui", "icon.png")])], + package_data={"artiq": [os.path.join("gui", "icon.png")]}, ext_modules=[], entry_points={ "console_scripts": [