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

{tools} [GCC/4.8.x] Lmod/5.9 (REVIEW) #1394

Merged
merged 4 commits into from
Feb 10, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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'