Skip to content
Snippets Groups Projects
Commit c6f07b47 authored by Giovanni Bussi's avatar Giovanni Bussi
Browse files

Switch to conda-forge

parent 11bbf717
No related branches found
No related tags found
No related merge requests found
#!/bin/bash #!/bin/bash
env | sort if [[ $(uname) == "Linux" ]]; then
# STATIC_LIBS is a PLUMED specific option and is required on Linux for the following reason:
# GB: install xdrfile library
if true; then
wget http://ftp.gromacs.org/pub/contrib/xdrfile-1.1.4.tar.gz
tar xzf xdrfile-1.1.4.tar.gz
cd xdrfile-1.1.4
./configure --prefix=$PREFIX --enable-shared
make
make install
cd ../
fi
# TODO: install docs?
# python wrapper is installed with pip
# we temporarily use internal lapack/blas (should probably be fixed)
# STATIC_LIBS is required on Linux for the following reason:
# When using env modules the dependent libraries can be found through the # When using env modules the dependent libraries can be found through the
# LD_LIBRARY_PATH or encoded configuring with -rpath. # LD_LIBRARY_PATH or encoded configuring with -rpath.
# Conda does not use LD_LIBRARY_PATH and it is thus necessary to suggest where libraries are. # Conda does not use LD_LIBRARY_PATH and it is thus necessary to suggest where libraries are.
export STATIC_LIBS=-Wl,-rpath-link,$PREFIX/lib
if test -n "$MACOSX_DEPLOYMENT_TARGET" ; then
opt=""
else
opt=STATIC_LIBS=-Wl,-rpath-link,$PREFIX/lib
fi fi
# we also store path so that software linking libplumedWrapper.a knows where libplumedKernel can be found.
export CPPFLAGS="-D__PLUMED_DEFAULT_KERNEL=$PREFIX/lib/libplumedKernel$SHLIB_EXT $CPPFLAGS" export CPPFLAGS="-D__PLUMED_DEFAULT_KERNEL=$PREFIX/lib/libplumedKernel$SHLIB_EXT $CPPFLAGS"
./configure --prefix=$PREFIX --enable-shared --disable-python --disable-external-lapack --disable-external-blas $opt # libraries are explicitly listed here due to --disable-libsearch
export LIBS="-lgsl -lgslcblas -llapack -lblas -lxdrfile -lz $LIBS"
# python is disabled since it should be provided as a separate package
# --disable-libsearch forces to link only explicitely requested libraries
# --disable-static-patch avoid tests that are only required for static patches
./configure --prefix=$PREFIX --disable-python --disable-libsearch --disable-static-patch
make -j4 make -j${CPU_COUNT}
make install make install
...@@ -11,33 +11,45 @@ source: ...@@ -11,33 +11,45 @@ source:
build: build:
number: 0 number: 0
skip: True # [win] skip: True # [win]
# Most programs should link libplumedWrapper.a so that libplumedKernel.so will be loaded
# with dlopen. There is no need for pinning thus.
# Programs linking libplumed.so should pin to min_pin='x.x', max_pin='x'.
# Programs linking libplumedKernel.so should pin to min_pin='x.x.x'. max_pin='x.x.x'.
requirements: requirements:
build: build:
- {{ compiler('c') }} - {{ compiler('c') }}
- {{ compiler('cxx') }} - {{ compiler('cxx') }}
# xxd is provided by package vim and used during build
- vim # [linux]
host: host:
- gsl
- libblas
- liblapack
- xdrfile
- zlib - zlib
# cannot link gsl on MacOS
- gsl # [linux]
run:
- zlib
- gsl # [linux]
test: test:
# TODO. In principle these could be the official regtests.
commands: commands:
- plumed info --root - plumed info --root
- plumed info --version
- plumed info --long-version - plumed info --long-version
- plumed-patch -h
- plumed config has external_blas external_lapack gsl xdrfile zlib
- $PREFIX/lib/plumed/plumed-runtime -h - $PREFIX/lib/plumed/plumed-runtime -h
- test -f $PREFIX/lib/libplumed.a
- test -f $PREFIX/lib/libplumed$SHLIB_EXT
- test -f $PREFIX/lib/libplumedWrapper.a
- test -f $PREFIX/lib/libplumedKernel$SHLIB_EXT
- conda inspect linkages -p $PREFIX $PKG_NAME
- conda inspect objects -p $PREFIX $PKG_NAME # [osx]
about: about:
home: http://www.plumed.org/ home: http://www.plumed.org/
license: LGPL license: LGPL-3.0
license_family: LGPL
license_file: COPYING.LESSER license_file: COPYING.LESSER
summary: 'Free energy calculations in molecular systems' summary: 'Free energy calculations in molecular systems'
description: > description: |
PLUMED is an open source library for free energy calculations in PLUMED is an open source library for free energy calculations in
molecular systems which works together with some of the most molecular systems which works together with some of the most
popular molecular dynamics engines. popular molecular dynamics engines.
......
#!/bin/bash #!/bin/bash
env | sort
cd python cd python
make pip make pip
export plumed_default_kernel=$PREFIX/lib/libplumedKernel$SHLIB_EXT export plumed_default_kernel=$PREFIX/lib/libplumedKernel$SHLIB_EXT
$PYTHON -m pip install . $PYTHON -m pip install . --no-deps -vv
...@@ -26,16 +26,16 @@ requirements: ...@@ -26,16 +26,16 @@ requirements:
test: test:
requires: requires:
- plumed - plumed
# TODO. In principle these could be the official regtests.
commands: commands:
- python -c "import plumed; p=plumed.Plumed(); print(p)" - python -c "import plumed; p=plumed.Plumed(); print(p)"
about: about:
home: http://www.plumed.org/ home: http://www.plumed.org/
license: LGPL license: LGPL-3.0
license_family: GPL
license_file: COPYING.LESSER license_file: COPYING.LESSER
summary: 'Python wrappers for plumed library' summary: 'Python wrappers for plumed library'
description: > description: |
PLUMED is an open source library for free energy calculations in PLUMED is an open source library for free energy calculations in
molecular systems which works together with some of the most molecular systems which works together with some of the most
popular molecular dynamics engines. popular molecular dynamics engines.
......
...@@ -23,8 +23,10 @@ conda update -q conda ...@@ -23,8 +23,10 @@ conda update -q conda
conda info -a conda info -a
conda install conda-build conda-verify anaconda-client conda install conda-build conda-verify anaconda-client
conda-build recipe export CPU_COUNT=4
conda-build py-plumed
conda-build -c conda-forge plumed
conda-build -c conda-forge py-plumed
ls -l $CONDA_HOME/conda-bld/ ls -l $CONDA_HOME/conda-bld/
ls -l $CONDA_HOME/conda-bld/$TRAVIS_OS_NAME-64 ls -l $CONDA_HOME/conda-bld/$TRAVIS_OS_NAME-64
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment