diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb index 44fd054d5f9..0a78e38ade3 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-goolf-1.4.10.eb @@ -6,11 +6,8 @@ # License:: MIT/GPL # $Id$ ## - -easyblock = 'ConfigureMake' - -name = "OCaml" -version = "4.01.0" +name = 'OCaml' +version = '4.01.0' homepage = 'http://ocaml.org/' description = """OCaml is a general purpose industrial-strength programming language @@ -18,24 +15,34 @@ description = """OCaml is a general purpose industrial-strength programming lang it benefits from one of the most advanced type systems and supports functional, imperative and object-oriented styles of programming.""" -toolchain = {'version': '1.4.10', 'name': 'goolf'} - -sources = [SOURCELOWER_TAR_GZ] -sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) -source_urls = ['http://caml.inria.fr/pub/distrib/%s' % sourcedir] - -builddependencies = [('Autoconf', '2.69')] -dependencies = [('ncurses', '5.9')] - -prefix_opt = "-prefix " -buildopts = "world.opt" +toolchain = {'name': 'goolf', 'version': '1.4.10'} + +opam_ver = '1.2.2' +source_urls = [ + 'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]), + 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, +] +sources = [ + SOURCELOWER_TAR_GZ, + 'opam-full-%s.tar.gz' % opam_ver, +] + +builddependencies = [('Autotools', '20150215', '', ('GCC', '4.7.2'))] +dependencies = [ + ('ncurses', '5.9'), + ('libreadline', '6.3'), + ('GSL', '1.16'), +] # parallel build tends to break parallel = 1 -sanity_check_paths = { - 'files': ["bin/ocaml", "bin/ocamlc"], - 'dirs': [] -} +# handled by OPAM, order matters! +exts_list = [ + ('ocamlfind', '1.5.5'), + ('batteries', '2.3.1'), + ('ocaml+twt', '0.94.0'), + ('gsl', '1.18.5'), +] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb new file mode 100644 index 00000000000..eb591f01b38 --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0-ictce-5.5.0.eb @@ -0,0 +1,50 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## +name = 'OCaml' +version = '4.01.0' + +homepage = 'http://ocaml.org/' +description = """OCaml is a general purpose industrial-strength programming language + with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria + it benefits from one of the most advanced type systems and supports functional, + imperative and object-oriented styles of programming.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +opam_ver = '1.2.2' +source_urls = [ + 'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]), + 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, +] +sources = [ + SOURCELOWER_TAR_GZ, + 'opam-full-%s.tar.gz' % opam_ver, +] + +patches = ['OCaml-%(version)s_icc-fixes.patch'] + +builddependencies = [('Autotools', '20150215')] +dependencies = [ + ('ncurses', '5.9'), + ('libreadline', '6.2'), + ('GSL', '1.16'), +] + +# parallel build tends to break +parallel = 1 + +# handled by OPAM, order matters! +exts_list = [ + ('ocamlfind', '1.5.5'), + ('batteries', '2.3.1'), + ('ocaml+twt', '0.94.0'), + ('gsl', '1.18.5'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch new file mode 100644 index 00000000000..3b6ab1f0975 --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.01.0_icc-fixes.patch @@ -0,0 +1,22 @@ +fix for Fatal error: exception Invalid_argument("gettimeofday not implemented") +author: Kenneth Hoste (HPC-UGent) +--- configure.orig 2015-10-06 10:19:12.763826416 +0200 ++++ configure 2015-10-06 10:19:56.005026703 +0200 +@@ -1015,7 +1015,7 @@ + fi + + has_select=no +-if sh ./hasgot select && \ ++if cc="$cc -wd165" sh ./hasgot select && \ + sh ./hasgot -i sys/types.h $select_include -t fd_set ; then + echo "select() found." + echo "#define HAS_SELECT" >> s.h +@@ -1084,7 +1084,7 @@ + fi + + has_gettimeofday=no +-if sh ./hasgot gettimeofday; then ++if cc="$cc -wd165" sh ./hasgot gettimeofday; then + echo "gettimeofday() found." + echo "#define HAS_GETTIMEOFDAY" >> s.h + has_gettimeofday="yes" diff --git a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb index ed1f2013570..12dba48bf08 100644 --- a/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb +++ b/easybuild/easyconfigs/o/OCaml/OCaml-4.02.3-foss-2015a.eb @@ -17,10 +17,9 @@ description = """OCaml is a general purpose industrial-strength programming lang toolchain = {'name': 'foss', 'version': '2015a'} -ocaml_sourcedir = name.lower() + '-' + '.'.join(version.split('.')[0:-1]) opam_ver = '1.2.2' source_urls = [ - 'http://caml.inria.fr/pub/distrib/%s' % ocaml_sourcedir, + 'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]), 'https://github.com/ocaml/opam/releases/download/%s' % opam_ver, ] sources = [ diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb new file mode 100644 index 00000000000..67fa1882a40 --- /dev/null +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16-ictce-5.5.0-OCaml-4.01.0.eb @@ -0,0 +1,38 @@ +name = 'pplacer' +version = '1.1.alpha16' + +homepage = 'http://matsen.fhcrc.org/pplacer/' +description = """Pplacer places query sequences on a fixed reference phylogenetic tree to maximize phylogenetic + likelihood or posterior probability according to a reference alignment. Pplacer is designed to be fast, to give + useful information about uncertainty, and to offer advanced visualization and downstream analysis.""" + +toolchain = {'name': 'ictce', 'version': '5.5.0'} + +source_urls = [ + 'https://github.com/matsen/pplacer/archive/', + 'https://github.com/matsen/pplacer-opam-repository/archive/', +] +sources = [ + 'v%(version)s.tar.gz', + 'ba5e766.tar.gz', # pplacer-opam-repository (20151002) +] + +patches = ['pplacer-%(version)s_fix-sqlite3-req-pkg.patch'] + +ocaml = 'OCaml' +ocamlver = '4.01.0' +versionsuffix = '-%s-%s' % (ocaml, ocamlver) +dependencies = [ + (ocaml, ocamlver), + ('zlib', '1.2.7'), # for CamlZIP OCaml package + ('GSL', '1.16'), # for GSL-OCaml package + ('SQLite', '3.8.6'), # for SQLite3-OCaml package +] +builddependencies = [ + ('M4', '1.4.17'), +] + +# parallel build tends to break +parallel = 1 + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16_fix-sqlite3-req-pkg.patch b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16_fix-sqlite3-req-pkg.patch new file mode 100644 index 00000000000..6bb8c7268d2 --- /dev/null +++ b/easybuild/easyconfigs/p/pplacer/pplacer-1.1.alpha16_fix-sqlite3-req-pkg.patch @@ -0,0 +1,11 @@ +fix name of required sqlite3-ocaml package +see also https://github.com/matsen/pplacer/commit/4ae1c6803486a6460a776b6807657a3bcc4005da +--- opam-requirements.txt.orig 2015-10-06 16:38:42.246475661 +0200 ++++ opam-requirements.txt 2015-10-06 16:38:50.586708932 +0200 +@@ -4,5 +4,5 @@ + mcl.12-068oasis3 + batteries.2.1.0 + ocaml-gsl.0.6.3 +-sqlite3-ocaml.1.6.3 ++sqlite3.1.6.3 + camlzip.1.05