Skip to content

Commit

Permalink
[NB] Use Conda build jinja template support
Browse files Browse the repository at this point in the history
Use Conda build [jinja template support][1].

Conda package can be built directly from source directory by running:

    python version.py
    set /P RELEASE_VERSION=<RELEASE-VERSION
    git tag v%RELEASE_VERSION%
    conda build .conda-recipe

[1]: http://conda.pydata.org/docs/building/meta-yaml.html#templating-with-jinja
  • Loading branch information
cfobel committed Oct 6, 2016
1 parent 625fa6d commit 8d38f00
Show file tree
Hide file tree
Showing 2 changed files with 131 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .conda-recipe/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
REM Generate `setup.py` from `pavement.py` definition.
"%PYTHON%" -m paver generate_setup

REM **Workaround** `conda build` runs a copy of `setup.py` named
REM `conda-build-script.py` with the recipe directory as the only argument.
REM This causes paver to fail, since the recipe directory is not a valid paver
REM task name.
REM
REM We can work around this by wrapping the original contents of `setup.py` in
REM an `if` block to only execute during package installation.
"%PYTHON%" -c "input_ = open('setup.py', 'r'); data = input_.read(); input_.close(); output_ = open('setup.py', 'w'); output_.write('\n'.join(['import sys', 'import path_helpers as ph', '''if ph.path(sys.argv[0]).name == 'conda-build-script.py':''', ' sys.argv.pop()', 'else:', '\n'.join([(' ' + d) for d in data.splitlines()])])); output_.close(); print open('setup.py', 'r').read()"

REM Install source directory as Python package.
"%PYTHON%" -m pip install --no-cache --find-links http://192.99.4.95/wheels --trusted-host 192.99.4.95 .
if errorlevel 1 exit 1
116 changes: 116 additions & 0 deletions .conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# source will be downloaded prior to filling in jinja templates
# Example assumes that this folder has setup.py in it
source:
git_url: ../

package:
name: microdrop
version: {{ GIT_DESCRIBE_TAG[1:] }}

build:
entry_points:
- microdrop = microdrop.microdrop:main

# If this is a new build for the same version, increment the build
# number. If you do not include this key, it defaults to 0.
number: {{ GIT_DESCRIBE_NUMBER }}

requirements:
build:
- application-repository
- arrow
- blinker
- configobj
- droplet-planning
- flatland-fork
- functools32
- geo_util
- git_helpers
- gitpython
- ipython
- ipython-helpers
- jinja2
- lxml
- matplotlib
- microdrop-device-converter >=0.1.post5
- microdrop-plugin-template
- networkx
- openpyxl
- pandas
- path_helpers >=0.2.post4
- paver
- pint
- pip-helpers
- pycairo-gtk2
- pygtk-textbuffer-with-undo
- pymunk >=4.0,<5.0
- pyparsing
- pyserial
- pytables
- python
- pyutilib.component.loader
- pywin32
- pyyaml
- pyzmq
- run-exe
- scipy
- setuptools
- si-prefix
- svg-model
- svgwrite
- sympy
- task-scheduler
- tornado
- wheeler.pygtkhelpers >=0.14.post7
- zmq-plugin >=0.2.post2

run:
- application-repository
- arrow
- blinker
- configobj
- droplet-planning
- flatland-fork
- functools32
- geo_util
- git_helpers
- gitpython
- ipython
- ipython-helpers
- jinja2
- lxml
- matplotlib
- microdrop-device-converter >=0.1.post5
- microdrop-plugin-template
- networkx
- openpyxl
- pandas
- path_helpers >=0.2.post4
- paver
- pint
- pip-helpers
- pycairo-gtk2
- pygtk-textbuffer-with-undo
- pymunk >=4.0,<5.0
- pyparsing
- pyserial
- pytables
- pyutilib.component.loader
- pywin32
- pyyaml
- pyzmq
- run-exe
- scipy
- setuptools
- si-prefix
- svg-model
- svgwrite
- sympy
- task-scheduler
- tornado
- wheeler.pygtkhelpers >=0.14.post7
- zmq-plugin >=0.2.post2

about:
home: http://github.com/wheeler-microfluidics/microdrop
license: GPL

0 comments on commit 8d38f00

Please sign in to comment.