Skip to content
Snippets Groups Projects
Commit db82109d authored by Dilawar Singh's avatar Dilawar Singh
Browse files

got changes from chamcham.

parent de751758
No related branches found
No related tags found
No related merge requests found
sudo : required
sudo: required
dist: trusty
language: cpp
compiler:
- gcc
- clang
os:
- linux
- osx
allow_failure:
- osx
osx_image : xcode8
branches:
only:
- master
- chamcham
- chennapoda
notifications:
email:
recipients:
......@@ -31,11 +27,27 @@ notifications:
env:
- CTEST_MODEL=Nightly
cache: apt
before_script:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then ./_travis/prepare_linux.sh ; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./_travis/prepare_osx.sh ; fi
- sudo apt-get update -qq
- sudo apt-get install libxml2-dev libbz2-dev wget
- sudo apt-get install libhdf5-serial-dev
- sudo apt-get install python-numpy python-setuptools python-networkx python-pip
- sudo apt-get install cmake cdbs
- sudo apt-get install python-suds python-matplotlib python-nose
- sudo apt-get install python-qt4-dev python-qt4-gl python-sip-dev libqt4-dev libopenscenegraph-dev
- sudo apt-get install doxygen python-sphinx python-lxml
- sudo apt-get install git-buildpackage
install:
- wget http://ftp.debian.org/debian/pool/main/g/gsl/libgsl0ldbl_1.16+dfsg-2_amd64.deb -O gsl_1.16.deb
- sudo dpkg -i gsl_1.16.deb
- wget http://ftp.debian.org/debian/pool/main/g/gsl/libgsl0-dev_1.16+dfsg-2_amd64.deb -O gsl_1.16-dev.deb
- sudo dpkg -i gsl_1.16-dev.deb
- sudo apt-get install -f
- sudo ldconfig /usr/lib64
script:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then ./_travis/build_on_linux.sh ; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./_travis/build_on_osx.sh ; fi
- ./.travis_build.sh
- sudo dpkg -i ../moose*.deb
- python -c 'import moose;print(moose.version());print(moose.__file__)'
#!/bin/bash -
#===============================================================================
#
# FILE: .travis_build.sh
#
# USAGE: ./.travis_build.sh
#
# DESCRIPTION:
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Dilawar Singh (), dilawars@ncbs.res.in
# ORGANIZATION: NCBS Bangalore
# CREATED: 03/05/2018 03:49:35 PM
# REVISION: ---
#===============================================================================
set -o nounset # Treat unset variables as an error
set -e -x
PATH=/usr/bin:/usr/local/bin:$PATH
gbp buildpackage --git-ignore-branch --git-ignore-new -uc -us -d | tee _gbp.log
pwd
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
cmake_minimum_required(VERSION 2.8)
project(moose)
if(POLICY CMP0048)
cmake_policy(SET CMP0048 OLD )
endif(POLICY CMP0048)
......@@ -10,15 +9,21 @@ endif(POLICY CMP0048)
# version file. If GIT fails, use the previous known version.
find_program(GIT_EXEC "git")
message( STATUS "Looking for git ${GIT_EXEC}" )
if( (NOT MOOSE_VERSION) AND GIT_EXEC)
if(VERSION_MOOSE)
message( STATUS "MOOSE version is set to ${VERSION_MOOSE} at build time" )
elseif(GIT_EXEC)
message( STATUS "Getting version by reading git tags" )
execute_process(
COMMAND ${GIT_EXEC} describe --tags --long
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE MOOSE_VERSION
OUTPUT_VARIABLE VERSION_MOOSE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif( )
message( STATUS "Building version ${MOOSE_VERSION}" )
message( STATUS "Building version ${VERSION_MOOSE}" )
# Prefix
message( STATUS "CMAKE_INSTALL_PREFIX= ${CMAKE_INSTALL_PREFIX}" )
# Options to pass down to moose-core
option(WITH_DOC "Build documentation" OFF)
......@@ -28,46 +33,20 @@ option(WITH_CUDA "Use CUDA/GPU" OFF)
option(WITH_MPI "Use MPI (experimental)" OFF)
option(WITH_GUI "Install moose-gui. Works only with python2." ON )
# On python3. Do not install GUI.
# Required packages.
find_package(PythonInterp REQUIRED)
if(PYTHON_VERSION_MAJOR VERSION_EQUAL 3)
message(STATUS "moose-gui does not support python3 yet. Disabling" )
set(WITH_GUI OFF)
endif( )
# On debian or ubuntu, --install-layout=deb needs to be passed.
if(UNIX AND NOT APPLE)
find_program(LSB_RELEASE lsb_release)
if(LSB_RELEASE)
execute_process(COMMAND ${LSB_RELEASE} -is
OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(${LSB_RELEASE_ID_SHORT} STREQUAL "Ubuntu"
OR ${LSB_RELEASE_ID_SHORT} STREQUAL "Debian" )
message(STATUS "Debian based LINUX: ${LSB_RELEASE_ID_SHORT}" )
set(CMAKE_PYMOOSE_ARGS "-DDISTUTILS_EXTRA_ARGS=\"--install-layout=deb\"" )
endif( )
endif( )
endif( )
add_custom_target(moose ALL)
## intialize paths
set(PYMOOSE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/moose-core")
set(PYMOOSE_BUILD_DIR ${CMAKE_BINARY_DIR}/__moose-core_build)
# NOTE: new setuptools does not install python module to this directory unless
# installing into user_specified path, set PYTHONPATH to this directory. We now
# create a bdist to this directory.
set(PYMOOSE_INSTALL_DIR ${CMAKE_BINARY_DIR}/__moose-core_install)
file(MAKE_DIRECTORY ${PYMOOSE_INSTALL_DIR})
set(PYMOOSE_BDIST_DIR ${PYMOOSE_BUILD_DIR})
message( STATUS "bdist directory PYMOOSE_BDIST_DIR ${PYMOOSE_BDIST_DIR}" )
if(WITH_GUI)
set(MOOSE_GUI_DIR ${CMAKE_SOURCE_DIR}/moose-gui)
set(MOOSE_GUI_INSTALL_DIR ${CMAKE_BINARY_DIR}/__moose-gui_install)
......@@ -82,23 +61,19 @@ file(MAKE_DIRECTORY ${PYMOOSE_BUILD_DIR})
# different platform.
set(OUTPUT_MOOSEBIN ${PYMOOSE_BUILD_DIR}/moose.bin)
configure_file( ${CMAKE_SOURCE_DIR}/cmake/build_moose-core.sh.in
${CMAKE_BINARY_DIR}/build_moose-core.sh )
configure_file(
${CMAKE_SOURCE_DIR}/cmake/build_moose-core.sh.in
${PYMOOSE_BUILD_DIR}/build_moose-core.sh
)
# Build pymoose module.
add_custom_target( moose-core ALL DEPENDS ${OUTPUT_MOOSEBIN} )
add_custom_target( moose-core DEPENDS ${OUTPUT_MOOSEBIN} )
add_custom_command( OUTPUT ${OUTPUT_MOOSEBIN}
COMMAND MAKE=$(MAKE) bash -c ${CMAKE_BINARY_DIR}/build_moose-core.sh
# Note that this command requires us to be in the same directory where we
# want to extract the tar file.
COMMAND ${CMAKE_COMMAND} -E chdir ${PYMOOSE_INSTALL_DIR}
tar xvf ${PYMOOSE_BUILD_DIR}/pymoose-${MOOSE_VERSION}.*.tar.gz
COMMENT "Building bdist and unarchiving it"
# VERBATIM ## WARN: Don't use VERBATIM here. The glob * in tar xvf will not
# work
COMMAND ${PYMOOSE_BUILD_DIR}/build_moose-core.sh
WORKING_DIRECTORY ${PYMOOSE_BUILD_DIR}
COMMENT "Building pymoose in ${PYMOOSE_BUILD_DIR}"
VERBATIM
)
add_dependencies(moose moose-core)
if(WITH_GUI)
# Now build moose-gui and moose-examples.
......@@ -115,17 +90,17 @@ if(WITH_GUI)
COMMAND ${PYTHON_EXECUTABLE} -m compileall -q ${MOOSE_EXAMPLE_INSTALL_DIR}
VERBATIM
)
endif()
add_dependencies(moose moose-core)
if(WITH_GUI)
add_dependencies(moose gui examples)
add_dependencies(examples gui)
endif()
# moose-gui
# TODO: moose-gui should be a python module.
set(MOOSE_GUI_DIR ${CMAKE_SOURCE_DIR}/moose-gui)
# Install pymoose. Use tar.gz in PYMOOSE_BUILD_DIR and unarchive it.
# /usr is prefixed by bdist so we need to replace it.
install(DIRECTORY ${PYMOOSE_INSTALL_DIR}/usr/
DESTINATION ${CMAKE_INSTALL_PREFIX}
PATTERN ".git" EXCLUDE
......@@ -133,6 +108,8 @@ install(DIRECTORY ${PYMOOSE_INSTALL_DIR}/usr/
)
if(WITH_GUI)
# moose-gui
set(MOOSE_GUI_DIR ${CMAKE_SOURCE_DIR}/moose-gui)
install(DIRECTORY ${MOOSE_GUI_INSTALL_DIR}/
DESTINATION lib/moose/gui
PATTERN ".git*" EXCLUDE
......@@ -146,49 +123,48 @@ if(WITH_GUI)
PATTERN ".travis*" EXCLUDE
PATTERN "*.pyc" EXCLUDE
)
configure_file( ${CMAKE_SOURCE_DIR}/cmake/moose.in
${CMAKE_BINARY_DIR}/moosegui )
install(PROGRAMS ${CMAKE_BINARY_DIR}/moosegui DESTINATION bin)
endif()
configure_file(
${CMAKE_SOURCE_DIR}/cmake/moosegui.in
${CMAKE_BINARY_DIR}/moosegui
)
install(PROGRAMS ${CMAKE_BINARY_DIR}/moosegui DESTINATION bin)
## UNINSTALL
add_custom_target(uninstall DEPENDS __uninstall_moose-core__ )
# UNINSTALL
add_custom_command(OUTPUT __uninstall_moose-core__
COMMAND xargs rm -rf < install_manifest.txt
COMMAND pip uninstall -y moose
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_INSTALL_PREFIX}/bin/moose.bin
)
add_custom_target(uninstall DEPENDS __uninstall_moose-core__ )
if(WITH_GUI)
add_custom_command(OUTPUT __uninstall_moose-gui__
add_custom_target( __uninstall_moose-gui__ )
add_custom_command(TARGET __uninstall_moose-gui__
COMMAND ${CMAKE_COMMAND} -E remove_directory
${CMAKE_INSTALL_PREFIX}/lib/moose/gui
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_INSTALL_PREFIX}/bin/moose
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_INSTALL_PREFIX}/bin/moosegui
)
#add_dependencies( uninstall __uninstall_moose-gui__ )
add_dependencies( uninstall __uninstall_moose-gui__ )
endif()
################################################################################
# CTEST
#################################################################################
enable_testing( )
add_test( NAME test_pymoose_sanity
COMMAND ${PYTHON_EXECUTABLE} -c "import moose"
)
set_tests_properties( test_pymoose_sanity
PROPERTIES ENVIRONMENT "PYTHONPATH=${PYMOOSE_BUILD_DIR}/python"
)
if("${CMAKE_BUILD_TYPE}" EQUAL "DEBUG")
enable_testing( )
add_test( NAME test_pymoose_sanity
COMMAND ${PYTHON_EXECUTABLE} -c "import moose"
)
# # This test always fails when -X is not working which is usually the case on
# # Travis and OBS.
# if(WITH_GUI)
# add_test( NAME test_gui_sanity
# COMMAND ${PYTHON_EXECUTABLE} ${MOOSE_GUI_INSTALL_DIR}/mgui.py
# WORKING_DIRECTORY ${MOOSE_GUI_INSTALL_DIR}
# )
# endif()
if(WITH_GUI)
add_test( NAME test_gui_sanity
COMMAND ${PYTHON_EXECUTABLE} ${MOOSE_GUI_INSTALL_DIR}/mgui.py
WORKING_DIRECTORY ${MOOSE_GUI_INSTALL_DIR}
)
endif()
set_tests_properties( test_pymoose_sanity
PROPERTIES ENVIRONMENT "PYTHONPATH=${PYMOOSE_BUILD_DIR}/python"
)
endif()
moose (3.2.git) UNRELEASED; urgency=medium
moose (3.1.3ubuntu1) experimental; urgency=medium
* Nightly build.
* Version bumped.
-- Dilawar Singh <dilawars@ncbs.res.in> Sat, 16 Dec 2017 10:17:08 +0530
-- Dilawar Singh <dilawars@ncbs.res.in> Thu, 01 Feb 2018 12:26:15 +0530
moose (3.0.2) unstable; urgency=low
moose (3.1.2) unstable; urgency=medium
* Initial release
* Feature-freeze release.
* trunk series. Experimental branch.
* 3.0.2 relase.
* Just packed with SBML and GSL-1.6 support.
* Chamcham release (3.1.x) series.
-- Dilawar Singh <dilawars@ncbs.res.in> Sun, 05 Jul 2015 13:41:58 +0530
-- Dilawar Singh <dilawars@ncbs.res.in> Mon, 08 May 2017 13:43:42 +0530
moose (3.1.2) unstable; urgency=low
* Bugfixes over 3.1.1
* Enhanced rdesigneur interface.
-- Dilawar <dilawars@ncbs.res.in> Sat, 22 Apr 2017 13:41:58 +0530
......@@ -8,7 +8,7 @@ Homepage: http://moose.ncbs.res.in
Package: moose
Architecture: any
Depends: ${shlibs:Depends},python-numpy-abi9, libhdf5-7 | libhdf5-serial-1.8.4, python-lxml, python-numpy, python-matplotlib, python-networkx, python-qt4, libgsl0ldbl
Depends: ${misc:Depends}, ${shlibs:Depends}, ${python:Depends}
Description: the Multiscale Object-Oriented Simulation Environment
It is the base and numerical core for large, detailed simulations including Computational Neuroscience and Systems Biology.
.
......
usr/lib/moose
usr/lib/python*
usr/bin/moosegui
#!/usr/bin/make -f
# export DH_VERBOSE=1
## Here goes the debian make.
export DH_VERBOSE=1
%:
dh "$@"
# Override clean target.
override_dh_auto_clean:
rm -rf $(BUILD_DIR_MOOSE)
dh "$@" --buildsystem=cmake --with-python2
# consider using -DUSE_VERSIONED_DIR=ON if backporting
override_dh_auto_configure:
cmake -DCMAKE_INSTALL_PREFIX=debian/tmp/usr -DCMAKE_VERSION=3.2.git
override_dh_auto_build:
make VERBOSE=0 -j`nproc`
override_dh_auto_install:
make install
override_dh_auto_test:
echo "Nothing to do here"
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
dh_auto_configure -- -DVERSION_MOOSE=3.1.3 -DCMAKE_SKIP_RPATH=ON
override_dh_python2:
dh_python2 --no-guessing-versions
dh_numpy
dh_python2
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