Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pelahi generic cyg update #406

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions generic/ant.cyg
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
##############################################################################
# maali cygnet file for ant
##############################################################################

read -r -d '' MAALI_MODULE_WHATIS << EOF

Apache Ant is a Java library and command-line tool whose mission is to drive
processes described in build files as targets and extension points dependent
upon each other. The main known usage of Ant is the build of Java applications.
Ant supplies a number of built-in tasks allowing to compile, assemble, test and
run Java applications. Ant can also be used effectively to build non Java
applications, for instance C or C++ applications. More generally, Ant can be
used to pilot any type of process which can be described in terms of targets
and tasks.

For further information see http://ant.apache.org/

EOF

# specify which compilers we want to build the tool with
MAALI_TOOL_COMPILERS="binary"

# URL to download the source code from
MAALI_URL="http://archive.apache.org/dist/ant/binaries/apache-ant-$MAALI_TOOL_VERSION-bin.tar.gz"

# location we are downloading the source code to
MAALI_DST="$MAALI_SRC/apache-$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION-bin.tar.gz"

# where the unpacked source code is located
MAALI_TOOL_BUILD_DIR=""

# type of tool (eg. apps, devel, python, etc.)
MAALI_TOOL_TYPE="devel"

# tool pre-requisites
MAALI_TOOL_PREREQ="java/8u202"

# for auto-building module files
MAALI_MODULE_SET_PATH=1

##############################################################################

function maali_unpack {
maali_wiki ".. supressing unpacking apache ant"
}

##############################################################################

function maali_build {
cd $MAALI_INSTALL_DIR
cd ..
rmdir $MAALI_INSTALL_DIR
maali_run "tar zxf $MAALI_DST"
mv apache-$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION $MAALI_INSTALL_DIR
}

##############################################################################
30 changes: 30 additions & 0 deletions generic/apr-util.cyg
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
##############################################################################
# maali cygnet file for xerces-c
##############################################################################

# specify which compilers we want to build the tool with
MAALI_TOOL_COMPILERS="$MAALI_DEFAULT_COMPILERS"

# URL to download the source code from
MAALI_URL="https://www.strategylions.com.au/mirror//apr/apr-util-${MAALI_TOOL_VERSION}.tar.gz"

# location we are downloading the source code to
MAALI_DST="${MAALI_SRC}/${MAALI_TOOL_NAME}-${MAALI_TOOL_VERSION}.tar.gz"

# where the unpacked source code is located
MAALI_TOOL_BUILD_DIR="${MAALI_BUILD_DIR}/${MAALI_TOOL_NAME}-${MAALI_TOOL_VERSION}"

# type of tool (eg. apps, devel, python, etc.)
MAALI_TOOL_TYPE="devel"

MAALI_TOOL_PREREQ="apr"

MAALI_TOOL_CONFIGURE='--with-apr=${MAALI_APR_HOME}'

# for auto-building module files
MAALI_MODULE_SET_PATH=1
MAALI_MODULE_SET_LD_LIBRARY_PATH=1
MAALI_MODULE_SET_PKG_CONFIG_PATH=1
MAALI_MODULE_SET_CPATH=1

##############################################################################
28 changes: 28 additions & 0 deletions generic/apr.cyg
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
##############################################################################
# maali cygnet file for xerces-c
##############################################################################

# specify which compilers we want to build the tool with
MAALI_TOOL_COMPILERS="$MAALI_DEFAULT_COMPILERS"

# URL to download the source code from
MAALI_URL="https://www.strategylions.com.au/mirror//apr/apr-${MAALI_TOOL_VERSION}.tar.gz"
# location we are downloading the source code to
MAALI_DST="${MAALI_SRC}/${MAALI_TOOL_NAME}-${MAALI_TOOL_VERSION}.tar.gz"

# where the unpacked source code is located
MAALI_TOOL_BUILD_DIR="${MAALI_BUILD_DIR}/${MAALI_TOOL_NAME}-${MAALI_TOOL_VERSION}"

# type of tool (eg. apps, devel, python, etc.)
MAALI_TOOL_TYPE="devel"

# add additional configure options
MAALI_TOOL_CONFIGURE='--with-pic'

# for auto-building module files
MAALI_MODULE_SET_PATH=1
MAALI_MODULE_SET_LD_LIBRARY_PATH=1
MAALI_MODULE_SET_PKG_CONFIG_PATH=1
MAALI_MODULE_SET_CPATH=1

##############################################################################
44 changes: 44 additions & 0 deletions generic/autoconf.cyg
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
##############################################################################
# maali cygnet file for autoconf
##############################################################################

read -r -d '' MAALI_MODULE_WHATIS << EOF

Autoconf is an extensible package of M4 macros that produce shell scripts to
automatically configure software source code packages. These scripts can adapt
the packages to many kinds of UNIX-like systems without manual user
intervention. Autoconf creates a configuration script for a package from a
template file that lists the operating system features that the package can
use, in the form of M4 macro calls.

For further information see https://www.gnu.org/software/autoconf/autoconf.html

EOF

# specify which compilers we want to build the tool with
MAALI_TOOL_COMPILERS="$MAALI_DEFAULT_SYSTEM_GCC"

# URL to download the source code from
MAALI_URL="http://ftp.gnu.org/gnu/$MAALI_TOOL_NAME/$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION.tar.xz"

# location we are downloading the source code to
MAALI_DST="$MAALI_SRC/$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION.tar.gz"

# where the unpacked source code is located
MAALI_TOOL_BUILD_DIR="$MAALI_BUILD_DIR/$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION"

# type of tool (eg. apps, devel, python, etc.)
MAALI_TOOL_TYPE="devel"

# tool pre-requisites modules needed to install this new tool/package
MAALI_TOOL_PREREQ=""
MAALI_TOOL_BUILD_PREREQ="libtool"

# add additional configure options
MAALI_TOOL_CONFIGURE=""

# for auto-building module files
MAALI_MODULE_SET_PATH=1
MAALI_MODULE_SET_MANPATH=1

##############################################################################
42 changes: 42 additions & 0 deletions generic/automake.cyg
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
##############################################################################
# maali cygnet file for automake
##############################################################################

read -r -d '' MAALI_MODULE_WHATIS << EOF

Automake is a tool for automatically generating Makefile.ins from files called
Makefile.am. Each Makefile.am is basically a series of make variable
definitions1, with rules being thrown in occasionally. The generated
Makefile.ins are compliant with the GNU Makefile standards.

For further information see https://www.gnu.org/software/automake/

EOF

# specify which compilers we want to build the tool with
MAALI_TOOL_COMPILERS="$MAALI_DEFAULT_SYSTEM_GCC"

# URL to download the source code from
MAALI_URL="http://ftp.gnu.org/gnu/$MAALI_TOOL_NAME/$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION.tar.xz"

# location we are downloading the source code to
MAALI_DST="$MAALI_SRC/$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION.tar.gz"

# where the unpacked source code is located
MAALI_TOOL_BUILD_DIR="$MAALI_BUILD_DIR/$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION"

# type of tool (eg. apps, devel, python, etc.)
MAALI_TOOL_TYPE="devel"

# tool pre-requisites modules needed to install this new tool/package
MAALI_TOOL_PREREQ=""
MAALI_TOOL_BUILD_PREREQ="libtool autoconf"

# add additional configure options
MAALI_TOOL_CONFIGURE=""

# for auto-building module files
MAALI_MODULE_SET_PATH=1
MAALI_MODULE_SET_MANPATH=1

##############################################################################
100 changes: 100 additions & 0 deletions generic/boost.cyg
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
##############################################################################
# maali cygnet file for Boost
##############################################################################

read -r -d '' MAALI_MODULE_WHATIS << EOF

Boost provides free peer-reviewed portable C++ source libraries.

We emphasize libraries that work well with the C++ Standard Library. Boost
libraries are intended to be widely useful, and usable across a broad spectrum
of applications. The Boost license encourages both commercial and
non-commercial use.

For further information see http://www.boost.org/

EOF

#note that boost here is setup to be built with default compilers
#which might include intel, pgi, etc. There appears to be an
#issue with building versions of >=1.73 and intel related to
#c++11, see https://github.com/spack/spack/issues/16328
#for a spack focused version of this discussion
#currently the work around is to adjust the compilers
#if later versions of boost are required.

# Request only the latest GNU and Intel compilers to be used
MAALI_TOOL_COMPILERS="$MAALI_DEFAULT_COMPILERS"

# needed for this URL
MAALI_BOOST_VERSION=`echo $MAALI_TOOL_VERSION| sed -e 's/\./_/g'`

# URL to download the source code from
MAALI_URL="http://sourceforge.net/projects/$MAALI_TOOL_NAME/files/$MAALI_TOOL_NAME/$MAALI_TOOL_VERSION/"$MAALI_TOOL_NAME"_"$MAALI_BOOST_VERSION".tar.bz2/download"

# location we are downloading the source code to
MAALI_DST="$MAALI_SRC/"$MAALI_TOOL_NAME"_"$MAALI_BOOST_VERSION".tar.bz2"

# where the unpacked source code is located
MAALI_TOOL_BUILD_DIR="$MAALI_BUILD_DIR/"$MAALI_TOOL_NAME"_"$MAALI_BOOST_VERSION

# type of tool (eg. apps, devel, python, etc.)
MAALI_TOOL_TYPE="devel"

# tool pre-requisites
MAALI_TOOL_PREREQ="$MAALI_DEFAULT_PYTHON"

# for auto-building module files
MAALI_MODULE_SET_LD_LIBRARY_PATH=1
MAALI_MODULE_SET_LIBRARY_PATH=1
MAALI_MODULE_SET_CPATH=1
MAALI_MODULE_SET_C_INCLUDE_PATH=1
MAALI_MODULE_SET_CPLUS_INCLUDE_PATH=1
MAALI_MODULE_SET_BOOST_ROOT='$MAALI_APP_HOME'

##############################################################################

function maali_build {

cd "$MAALI_TOOL_BUILD_DIR"

#https://github.com/HIT-SCIR/pyltp/pull/193
if [ "$MAALI_TOOL_VERSION" == "1.66.0" ]; then
sed -i -e 's;return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;return (void *)(PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0);g' libs/python/src/converter/builtin_converters.cpp
fi

export MAALI_CORES=12
# Intel-compiler specifics
if [[ "$MAALI_COMPILER_NAME" == "intel"* ]]; then

if [ "$MAALI_TOOL_MINOR_VERSION" -ge 66 ]; then
maali_run "./bootstrap.sh --prefix=$MAALI_INSTALL_DIR --with-toolset=intel-linux"
maali_run "./b2 -j$MAALI_CORES install toolset=intel --prefix=$MAALI_INSTALL_DIR"
else
maali_run "./bootstrap.sh --prefix=$MAALI_INSTALL_DIR --with-toolset=intel-linux"
maali_run "./bjam -j$MAALI_CORES toolset=intel release"
maali_run "./bjam install --prefix=$MAALI_INSTALL_DIR"
fi

# GNU compiler specifics
else

if [ "$MAALI_TOOL_MINOR_VERSION" -ge 66 ]; then
maali_run "./bootstrap.sh --prefix=$MAALI_INSTALL_DIR --with-toolset=gcc"
maali_run "./b2 -j$MAALI_CORES install toolset=gcc --prefix=$MAALI_INSTALL_DIR"
else
maali_run "./bootstrap.sh --prefix=$MAALI_INSTALL_DIR --without-libraries=python"
maali_run "./bjam -j$MAALI_CORES toolset=gcc release"
maali_run "./bjam install --prefix=$MAALI_INSTALL_DIR"
fi

fi

if [ "$MAALI_TOOL_VERSION" == "1.64.0" ]; then
sed -i -e 's;#include <boost/serialization/array.hpp>;#include <boost/serialization/array_wrapper.hpp>;g;' $MAALI_INSTALL_DIR/include/boost/numeric/ublas/matrix.hpp
sed -i -e 's;#include <boost/serialization/array.hpp>;#include <boost/serialization/array_wrapper.hpp>;g;' $MAALI_INSTALL_DIR/include/boost/numeric/ublas/storage.hpp
fi

}

##############################################################################
60 changes: 60 additions & 0 deletions generic/cfitsio.cyg
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
##############################################################################
# maali cygnet file for cfitsio
##############################################################################

read -r -d '' MAALI_MODULE_WHATIS << EOF

CFITSIO is a library of C and Fortran subroutines for reading and writing data
files in FITS (Flexible Image Transport System) data format. CFITSIO provides
simple high-level routines for reading and writing FITS files that insulate the
programmer from the internal complexities of the FITS format. CFITSIO also
provides many advanced features for manipulating and filtering the information
in FITS files.

For further information see https://heasarc.gsfc.nasa.gov/fitsio/fitsio.html

EOF

# specify which compilers we want to build the tool with
MAALI_TOOL_COMPILERS="$MAALI_DEFAULT_COMPILERS"

# URL to download the source code from
MAALI_CFITSIO_VERSION=`echo $MAALI_TOOL_VERSION | sed -e 's/\.//g'`
MAALI_URL="https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio${MAALI_CFITSIO_VERSION}.tar.gz"
# location we are downloading the source code to
MAALI_DST="$MAALI_SRC/$MAALI_TOOL_NAME-$MAALI_TOOL_VERSION.tar.bz2"

# where the unpacked source code is located
MAALI_TOOL_BUILD_DIR="$MAALI_BUILD_DIR/$MAALI_TOOL_NAME"

# type of tool (eg. apps, devel, python, etc.)
MAALI_TOOL_TYPE="devel"

# tool pre-requisites
MAALI_TOOL_PREREQ=""

# used in the wiki navigation bar - defaults to MAALI_TOOL_NAME_ORIG
MAALI_WIKI_TOOL_NAME="CFITSIO"

# for adding [[Category:Python]] to wiki page - bio-apps, devel and python automatically generate a category
MAALI_WIKI_CATEGORY="File Formats & Data Management"

# for auto-building module files
MAALI_MODULE_SET_LD_LIBRARY_PATH=1
MAALI_MODULE_SET_CPATH=1
MAALI_MODULE_SET_FPATH=1
MAALI_MODULE_SET_FCPATH=1
MAALI_MODULE_SET_MANPATH=1
MAALI_MODULE_SET_PKG_CONFIG_PATH=1
MAALI_MODULE_SET_CFITSIO_ROOT='$MAALI_APP_HOME'

##############################################################################

function maali_build {
cd "$MAALI_TOOL_BUILD_DIR"
maali_run "./configure --prefix $MAALI_INSTALL_DIR $MAALI_TOOL_CONFIGURE"
maali_run "make shared"
maali_run "make install"
}

##############################################################################
Loading