Skip to content

Commit

Permalink
Merge pull request #1394 from fgeorgatos/contrib_lmod_5.9
Browse files Browse the repository at this point in the history
{tools} [GCC/4.8.x] Lmod/5.9 (REVIEW)
  • Loading branch information
boegel committed Feb 10, 2015
2 parents 261362a + c200b00 commit d599148
Show file tree
Hide file tree
Showing 6 changed files with 107 additions and 10 deletions.
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/l/Lmod/Lmod-5.9-GCC-4.8.2.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'ConfigureMake'

name = "Lmod"
version = "5.9"

homepage = "http://sourceforge.net/projects/lmod/"
description = """Lmod is a Lua based module system. Modules allow for dynamic modification
of a user's environment under Unix systems. See www.tacc.utexas.edu/tacc-projects/lmod
for a complete description. Lmod is a new implementation that easily handles the MODULEPATH
Hierarchical problem. It is drop-in replacement for TCL/C modules and reads TCL modulefiles directly."""

toolchain = {'name': 'GCC', 'version': '4.8.2'}

sources = [SOURCE_TAR_BZ2]
source_urls = [
'http://sourceforge.net/projects/lmod/files/',
'http://sourceforge.net/projects/lmod/files/Testing'
]

dependencies = [("Lua", "5.1.4-8")]

sanity_check_paths = {
'files': ["lmod/%(version)s/libexec/lmod", "lmod/%(version)s/init/profile"],
'dirs': []
}

moduleclass = "tools"
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/l/Lmod/Lmod-5.9-GCC-4.8.4.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'ConfigureMake'

name = "Lmod"
version = "5.9"

homepage = "http://sourceforge.net/projects/lmod/"
description = """Lmod is a Lua based module system. Modules allow for dynamic modification
of a user's environment under Unix systems. See www.tacc.utexas.edu/tacc-projects/lmod
for a complete description. Lmod is a new implementation that easily handles the MODULEPATH
Hierarchical problem. It is drop-in replacement for TCL/C modules and reads TCL modulefiles directly."""

toolchain = {'name': 'GCC', 'version': '4.8.4'}

sources = [SOURCE_TAR_BZ2]
source_urls = [
'http://sourceforge.net/projects/lmod/files/',
'http://sourceforge.net/projects/lmod/files/Testing'
]

dependencies = [("Lua", "5.1.4-8")]

sanity_check_paths = {
'files': ["lmod/%(version)s/libexec/lmod", "lmod/%(version)s/init/profile"],
'dirs': []
}

moduleclass = "tools"
10 changes: 5 additions & 5 deletions easybuild/easyconfigs/l/Lmod/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ Howto
Assuming you have successfully used the bootstrap procedure of EasyBuild,
you should be able to initiate a recursive build of the following bits::

EASYBUILD_OPTARCH= time eb Lmod-5.8.5-GCC-4.8.2.eb -r
EASYBUILD_OPTARCH= time eb Lmod-5.9-GCC-4.8.4.eb -r

which is going to build the following modules/easyconfigs::

g/GCC/GCC-4.8.2.eb ## if this breaks use: --try-amend=parallel=1
n/ncurses/ncurses-5.9-GCC-4.8.2.eb ## On MacOSX, this should pick a special patch
l/Lua/Lua-5.1.4-8-GCC-4.8.2.eb ## Lmod is written in Lua, which needs ncurses
l/Lmod/Lmod-5.8.5-GCC-4.8.2.eb ## Lmod should be built with -r, to build the above
g/GCC/GCC-4.8.4.eb ## if this breaks use: --try-amend=parallel=1
n/ncurses/ncurses-5.9-GCC-4.8.4.eb ## On MacOSX, this should pick a special patch
l/Lua/Lua-5.1.4-8-GCC-4.8.4.eb ## Lmod is written in Lua, which needs ncurses
l/Lmod/Lmod-5.9-GCC-4.8.4.eb ## Lmod should be built with -r, to build the above

This operation is expected to be the needed substrate to launch you towards Lmod;
Lmod facility gets activated with the `sourceme` script available next to this file::
Expand Down
10 changes: 5 additions & 5 deletions easybuild/easyconfigs/l/Lmod/sourceme
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
#
# This script helps to implement policy: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_06-17.html
#
# prereq: Lmod/5.8.5-GCC-4.8.2
# prereq: Lua/5.1.4-8-GCC-4.8.2
# prereq: Lmod/5.9.5-GCC-4.8.4
# prereq: Lua/5.1.4-8-GCC-4.8.4
#
# build prereqs, take a note: GCC/4.8.2 & ncurses/5.9
# build prereqs, take a note: GCC/4.8.4 & ncurses/5.9

## Remember to change the following, as per individual case
EASYBUILD_PREFIX=${EASYBUILD_PREFIX:-"$HOME/.local/easybuild"}

TOOLCHAIN="GCC-4.8.2"
TOOLCHAIN="GCC-4.8.4"
VERSIONLUA="5.1.4-8"
VERSIONLMOD="5.8.5"
VERSIONLMOD="5.9"

PREFIXLUA=$EASYBUILD_PREFIX/software/Lua/$VERSIONLUA-$TOOLCHAIN
PREFIXLMOD=$EASYBUILD_PREFIX/software/Lmod/$VERSIONLMOD-$TOOLCHAIN/lmod/$VERSIONLMOD
Expand Down
26 changes: 26 additions & 0 deletions easybuild/easyconfigs/l/Lua/Lua-5.1.4-8-GCC-4.8.4.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
easyblock = 'ConfigureMake'

name = "Lua"
version = "5.1.4-8"

homepage = "http://www.lua.org/"
description = """Lua is a powerful, fast, lightweight, embeddable scripting language.
Lua combines simple procedural syntax with powerful data description constructs based
on associative arrays and extensible semantics. Lua is dynamically typed,
runs by interpreting bytecode for a register-based virtual machine,
and has automatic memory management with incremental garbage collection,
making it ideal for configuration, scripting, and rapid prototyping."""

toolchain = {'name': 'GCC', 'version': '4.8.4'}

sources = ['lua-%s.tar.gz' % version.replace('-', '.')]
source_urls = ['http://sourceforge.net/projects/lmod/files/']

dependencies = [('ncurses', '5.9')]

sanity_check_paths = {
'files': ["bin/lua"],
'dirs': []
}

moduleclass = "lang"
17 changes: 17 additions & 0 deletions easybuild/easyconfigs/n/ncurses/ncurses-5.9-GCC-4.8.4.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
easyblock = 'ConfigureMake'

name = 'ncurses'
version = '5.9'

homepage = 'http://www.gnu.org/software/ncurses/'
description = """The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0,
and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and
function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses."""

toolchain = {'name': 'GCC', 'version': '4.8.4'}
toolchainopts = {'optarch': True, 'pic': True}

source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]

moduleclass = 'devel'

0 comments on commit d599148

Please sign in to comment.