Browse Source

sys-cluster/lmod: lmod is now in ::gentoo

Signed-off-by: Aisha Tammy <gentoo@aisha.cc>
master
Aisha Tammy 4 months ago
parent
commit
ecd12f1d4e
No known key found for this signature in database GPG Key ID: D22D69390AF3D8F3
  1. 1
      sys-cluster/lmod/Manifest
  2. 13
      sys-cluster/lmod/files/lmod-8.4.19-no-libsandbox.patch
  3. 388
      sys-cluster/lmod/files/module.1-8.4.20
  4. 125
      sys-cluster/lmod/lmod-8.4.20.ebuild
  5. 125
      sys-cluster/lmod/lmod-9999.ebuild
  6. 31
      sys-cluster/lmod/metadata.xml

1
sys-cluster/lmod/Manifest

@ -1 +0,0 @@
DIST lmod-8.4.20.tar.gz 19889342 BLAKE2B aef498ec8dd2b87aca02d66f394418aba4a81d1fec4684750e59d48d06bad16db7a24290920e40290ecba8a4bc65c7dbe5c23be28654db79433f41164fa4aaf6 SHA512 9749e34e7ad75531c87770b73fd20dab16c89c24e1a2d01e58f09f8510ffc8f896dfa7eab9dab26fe4d6d14ba04d331f98e08e92e0943aede9fe5131af038970

13
sys-cluster/lmod/files/lmod-8.4.19-no-libsandbox.patch

@ -1,13 +0,0 @@
diff --git a/configure.ac b/configure.ac
index ca75e34c..e9cc49e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -616,7 +616,7 @@ AC_SUBST(SYS_LD_LIB_PATH)
SYS_LD_LIB_PATH=$LD_LIBRARY_PATH
AC_SUBST(SYS_LD_PRELOAD)
-SYS_LD_PRELOAD=$LD_PRELOAD
+SYS_LD_PRELOAD=$(printf %s\\n $LD_PRELOAD | sed -e "s/libsandbox.so//g")
AC_SUBST(PATH_TO_SRC)
SRCDIR=$( cd $srcdir; pwd)

388
sys-cluster/lmod/files/module.1-8.4.20

@ -1,388 +0,0 @@
.Dd $Mdocdate: December 6 2020 $
.Dt MODULE 1
.Os
.Sh NAME
.Nm module
.Nd lmod environment modules manager
.Sh SYNOPSIS
.Nm module
.Op options
.Cm sub-command
.Op args ...
.Sh DESCRIPTION
.Nm
from
.Sy Lmod
is a
.Xr lua 1
based program to manage the user environment under
Unix systems, specifically designed to easily handle
the
.Ev MODULEPATH
Hierarchical problem.
Environment Modules provide a convenient way to
dynamically change the users' environment through modulefiles.
This includes easily adding or removing directories to the
.Ev PATH , LD_LIBRARY_PATH
and other environment variables.
.Sh OPTIONS
The following
.Ar options
are available:
.Pp
.Bl -tag -width Ds -compact
.It Fl h , \&? , H , -help
Show the help message.
.Pp
.It Fl -check_syntax , -checkSyntax
Only check the
.Nm
command syntax, do not load any modules.
.Pp
.It Fl -config
Report
.Sy Lmod
configuration.
.Pp
.It Fl -config_json
Report
.Sy Lmod
configuration in json format.
.Pp
.It Fl D
Write program tracing data to stderr.
.Pp
.It Fl d , -default
List default modules only when used with
.Cm avail .
.Pp
.It Fl -debug Ar dbglvl
.Sy VALUES :
1, 2, 3.
.Pp
Only write trace output with proper debug levels.
.Pp
.It Fl -dumpversion
Dump version in a machine readable way and quit.
.Pp
.It Fl -expert
Work in expert mode.
.Pp
.It Fl -force
Force removal of a sticky module or save an empty collection.
.Pp
.It Fl -gitversion
Dump git version in a machine readable way and quit.
.Pp
.It Fl -ignore_cache
Treat the cache file(s) as out-of-date.
.Pp
.It Fl -initial_load
Loading Lmod for first time in a user shell.
.Pp
.It Fl -latest
Load latest (ignore default).
.Pp
.It Fl -mt
Report Module Table State.
.Pp
.It Fl -no_redirect
Force output of
.Cm list ,
.Cm avail
and
.Cm spider
to stderr.
.Pp
.It Fl -novice
Turn off
.Fl -expert
and
.Fl -quiet
flags.
.Pp
.It Fl -nx , -no_extensions
.Pp
.It Fl -pin_versions Ar pinVersions
When doing a restore use the specified version, do not follow defaults.
.Pp
.It Fl q , -quiet
Do not print out warnings.
.Pp
.It Fl r , -regexp
Use regular expression match.
.Pp
.It Fl -raw
Print modulefile in raw output when used with show.
.Pp
.It Fl -redirect
Send the output of
.Cm list ,
.Cm avail
and
.Cm spider
to stdout (not stderr).
.Pp
.It Fl -regression_testing
Lmod regression testing.
.Pp
.It Fl -show_hidden
.Cm avail
and
.Cm spider
will report hidden modules.
.Pp
.It Fl -spider_timeout Ar timeout
A timeout for
.Cm spider .
.Pp
.It Fl s , -style Ar availStyle
.Sy DEFAULT :
system
Site controlled avail style.
.Pp
.It Fl T , -trace
.Pp
.It Fl t , -terse
Write out in machine readable format for
.Cm list ,
.Cm avail ,
.Cm spider
and
.Cm savelist .
.Pp
.It Fl -timer
Report run times.
.Pp
.It Fl v , -version
Print version info and quit.
.Pp
.It Fl -w , -width Ar twidth
Use
.Ar twidth
as max term width.
.El
.Sh SUB-COMMANDS
.Ss HELP
.Bl -tag -width Ds -compact
.It Cm help
Print the help message.
.Pp
.It Cm help Ar module Op moduleX moduleY ...
Print help messages from the given module(s).
.El
.Ss LOAD
.Bl -tag -width Ds -compact
.It Cm load , add Ar module Op moduleX moduleY ...
Load module(s)
.Pp
.It Cm try-load , try-add Ar module Op moduleX module Y ...
Load module(s), do not complain if not found
.Pp
.It Cm del , unload Ar module Op moduleX moduleY ...
Unload module(s), does not complain if not found
.Pp
.It Cm swap , sw , switch Ar m1 m2
.Cm unload
.Ar m1
and
.Cm load
.Ar m2
.Pp
.It Cm purge
.Cm unload
all modules
.Pp
.It Cm refresh
Reload aliases from current list of modules.
.Pp
.It Cm update
Reload all currently loaded modules.
.El
.Ss SEARCH
.Bl -tag -width Ds -compact
.It Cm list
List all loaded modules.
.Pp
.It Cm list Ar s1 Op Ar s2 ...
List all loaded modules that match any of the given patterns.
.Pp
.It Cm avail , av Op Ar string
List all available modules.
Restricts to modules containing
.Ar string
if it is provided.
.Pp
.It Cm spider
List all possible modules.
.Pp
.It Cm spider Ar module
List all possible versions of that
.Ar module
file.
.Pp
.It Cm spider Ar string
List all modules that contain
.Ar string .
.Pp
.It Cm spider Ar name/version
Detailed information about that version of the module.
.Pp
.It Cm whatis Ar module
Print whatis information about the module.
.Pp
.It Cm keyword , key Ar string
Search all name and
.Cm whatis
that contain
.Ar string .
.El
.Pp
All searching commands (
.Cm spider ,
.Cm list ,
.Cm avail ,
.Cm keyword
) support regular expressions.
.Pp
For example, to find all modules that start with
.Sq p
or
.Sq P :
.D1 module -r spider '^p'
.Pp
Find all modules that have
.Dq mpi
in their name:
.D1 module -r spider mpi
.Pp
Find all modules that end with
.Dq mpi
in their name:
.D1 module -r spider 'mpi$'
.Ss COLLECTIONS
.Bl -tag -width Ds -compact
.It Cm save , s
Save the current list of modules to a user defined
.Dq default
collection.
.Pp
.It Cm save , s Ar name
Save the current list of modules to the
.Ar name
collection.
.Pp
.It Cm reset
The same as
.Cm restore
.Ar system .
.Pp
.It Cm restore , r
Restore modules from the user's
.Dq default
(if defined) or the system default.
.Pp
.It Cm restore , r Ar name
Restore modules from
.Ar name
collection.
.Pp
.It Cm restore Ar system
Restore module state to system defaults.
.Pp
.It Cm savelist
List of saved collections.
.Pp
.It Cm describe , mcc Ar name
Describe the contents of the
.Ar name
module collection.
.Pp
.It Cm disable Ar name
Disable (i.e. remove) the
.Ar name
collection.
.El
.Ss DEPRECATED
.Bl -tag -width Ds -compact
.It Cm getdefault Op Ar name
Load the
.Ar name
collection of modules or users
.Dq default
if no
.Ar name
given.
.Pp
Use
.Cm restore
Instead.
.Pp
.It Cm setdefault Op Ar name
Save current list of modules to
.Ar name
if given, otherwise save as the
.Dq default
list for the user.
.Pp
Use
.Cm save
instead.
.El
.Ss MISC
.Bl -tag -width Ds -compact
.It Cm is-loaded Ar modulefile
Return a true status if
.Ar module
is loaded.
.Pp
.It Cm is-avail Ar modulefile
Return a true status if
.Ar module
can be loaded.
.Pp
.It Cm show Ar modulefile
Show the commands in the
.Ar module
file.
.Pp
.It Cm use [-a] Ar path
Prepend or append
.Ar path
to
.Ev MODULEPATH .
.Pp
.It Cm unuse Ar path
Remove
.Ar path
from
.Ev MODULEPATH .
.Pp
.It Cm tablelist
Output list of active modules as a lua table.
.El
.Sh ENVIRONMENT
To print properties and warnings in color, set the
.Ev LMOD_COLORIZE
environment variable to
.Sy YES
.Sh SEE ALSO
.Bd -filled -offset indent
.TS
allbox tab(@);
le lw10.
Documentation@http://lmod.readthedocs.org
Github@https://github.com/TACC/Lmod
Sourceforge@https://lmod.sf.net
TACC Homepage@https://www.tacc.utexas.edu/research-development/tacc-projects/lmod
.TE
.Ed
.Pp
To report a bug please read
.Lk http://lmod.readthedocs.io/en/latest/075_bug_reporting.html
.Sh AUTHORS
Modules based on Lua, written by
.An Robert McLay Aq Mt mclay@tacc.utexas.edu .
.Pp
The man page for Gentoo linux is maintained by the
.An Gentoo Science Project <sci@gentoo.org> .

125
sys-cluster/lmod/lmod-8.4.20.ebuild

@ -1,125 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
LUA_COMPAT=( lua5-{1..3} )
inherit autotools lua-single
DESCRIPTION="Environment Module System based on Lua"
HOMEPAGE="https://lmod.readthedocs.io/en/latest"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/TACC/Lmod"
else
SRC_URI="https://github.com/TACC/Lmod/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/Lmod-${PV}
KEYWORDS="~amd64 ~x86"
fi
LICENSE="MIT"
SLOT="0"
IUSE="auto-swap cache dotfiles duplicate +extend italic module-cmd nocase redirect test"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="${LUA_DEPS}
app-shells/tcsh
|| (
app-shells/loksh
app-shells/mksh
app-shells/ksh
)
app-shells/zsh
dev-lang/tcl
dev-lang/tk
$(lua_gen_cond_dep '
>=dev-lua/luafilesystem-1.8.0[${LUA_USEDEP}]
dev-lua/luajson[${LUA_USEDEP}]
dev-lua/luaposix[${LUA_USEDEP}]
dev-lua/lua-term[${LUA_USEDEP}]
')
virtual/pkgconfig
"
DEPEND="${RDEPEND}"
BDEPEND="${RDEPEND}
test? (
$(lua_gen_cond_dep '
dev-util/hermes[${LUA_SINGLE_USEDEP}]
')
)
"
PATCHES=( "${FILESDIR}"/${PN}-8.4.19-no-libsandbox.patch )
pkg_pretend() {
elog "You can control the siteName and syshost settings by"
elog "using the variables LMOD_SITENAME and LMOD_SYSHOST, during"
elog "build time, which are both set to 'Gentoo' by default."
elog "There are a lot of options for this package, especially"
elog "for run time behaviour. Remember to use the EXTRA_ECONF variable."
elog "To see full list of options visit:"
elog "\t https://lmod.readthedocs.io/en/latest/090_configuring_lmod.html"
}
src_prepare() {
default
rm -rf pkgs/{luafilesystem,term} || die
rm -rf rt/{ck_mtree_syntax,colorize,end2end,help,ifur,settarg} || die
eautoreconf
}
src_configure() {
local LMOD_SITENAME="${LMOD_SITENAME:-Gentoo}"
local LMOD_SYSHOST="${LMOD_SYSHOST:-Gentoo}"
local LUAC="${LUA%/*}/luac${LUA#*lua}"
local myconf=(
--with-tcl
--with-fastTCLInterp
--with-colorize
--with-supportKsh
--without-useBuiltinPkgs
--with-siteControlPrefix
--with-siteName="${LMOD_SITENAME}"
--with-syshost="${LMOD_SYSHOST}"
--with-lua_include="$(lua_get_include_dir)"
--with-lua="${LUA}"
--with-luac="${LUAC}"
--with-module-root-path="${EPREFIX}/etc/modulefiles"
--with-updateSystemFn="${EPREFIX}/etc/modulefiles/.lmod_system_update"
--prefix="${EPREFIX}/usr/share/Lmod"
$(use_with duplicate duplicatePaths)
$(use_with nocase caseIndependentSorting)
$(use_with italic hiddenItalic)
$(use_with auto-swap autoSwap)
$(use_with module-cmd exportedModuleCmd)
$(use_with redirect)
$(use_with dotfiles useDotFiles)
$(use_with cache cachedLoads)
$(use_with extend extendedDefault)
)
econf "${myconf[@]}"
}
src_compile() {
CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
default
}
src_test() {
local -x PATH="/opt/hermes/bin:${PATH}"
tm -vvv || die
testcleanup || die
}
src_install() {
default
newman "${FILESDIR}"/module.1-8.4.20 module.1
insinto /etc/profile.d
newins "${ED}"/usr/share/Lmod/init/profile lmod.sh
newins "${ED}"/usr/share/Lmod/init/profile.fish lmod.fish
keepdir /etc/modulefiles
}

125
sys-cluster/lmod/lmod-9999.ebuild

@ -1,125 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
LUA_COMPAT=( lua5-{1..3} )
inherit autotools lua-single
DESCRIPTION="Environment Module System based on Lua"
HOMEPAGE="https://lmod.readthedocs.io/en/latest"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/TACC/Lmod"
else
SRC_URI="https://github.com/TACC/Lmod/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/Lmod-${PV}
KEYWORDS="~amd64 ~x86"
fi
LICENSE="MIT"
SLOT="0"
IUSE="auto-swap cache dotfiles duplicate +extend italic module-cmd nocase redirect test"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="${LUA_DEPS}
app-shells/tcsh
|| (
app-shells/loksh
app-shells/mksh
app-shells/ksh
)
app-shells/zsh
dev-lang/tcl
dev-lang/tk
$(lua_gen_cond_dep '
>=dev-lua/luafilesystem-1.8.0[${LUA_USEDEP}]
dev-lua/luajson[${LUA_USEDEP}]
dev-lua/luaposix[${LUA_USEDEP}]
dev-lua/lua-term[${LUA_USEDEP}]
')
virtual/pkgconfig
"
DEPEND="${RDEPEND}"
BDEPEND="${RDEPEND}
test? (
$(lua_gen_cond_dep '
dev-util/hermes[${LUA_SINGLE_USEDEP}]
')
)
"
PATCHES=( "${FILESDIR}"/${PN}-8.4.19-no-libsandbox.patch )
pkg_pretend() {
elog "You can control the siteName and syshost settings by"
elog "using the variables LMOD_SITENAME and LMOD_SYSHOST, during"
elog "build time, which are both set to 'Gentoo' by default."
elog "There are a lot of options for this package, especially"
elog "for run time behaviour. Remember to use the EXTRA_ECONF variable."
elog "To see full list of options visit:"
elog "\t https://lmod.readthedocs.io/en/latest/090_configuring_lmod.html"
}
src_prepare() {
default
rm -rf pkgs/{luafilesystem,term} || die
rm -rf rt/{ck_mtree_syntax,colorize,end2end,help,ifur,settarg} || die
eautoreconf
}
src_configure() {
local LMOD_SITENAME="${LMOD_SITENAME:-Gentoo}"
local LMOD_SYSHOST="${LMOD_SYSHOST:-Gentoo}"
local LUAC="${LUA%/*}/luac${LUA#*lua}"
local myconf=(
--with-tcl
--with-fastTCLInterp
--with-colorize
--with-supportKsh
--without-useBuiltinPkgs
--with-siteControlPrefix
--with-siteName="${LMOD_SITENAME}"
--with-syshost="${LMOD_SYSHOST}"
--with-lua_include="$(lua_get_include_dir)"
--with-lua="${LUA}"
--with-luac="${LUAC}"
--with-module-root-path="${EPREFIX}/etc/modulefiles"
--with-updateSystemFn="${EPREFIX}/etc/modulefiles/.lmod_system_update"
--prefix="${EPREFIX}/usr/share/Lmod"
$(use_with duplicate duplicatePaths)
$(use_with nocase caseIndependentSorting)
$(use_with italic hiddenItalic)
$(use_with auto-swap autoSwap)
$(use_with module-cmd exportedModuleCmd)
$(use_with redirect)
$(use_with dotfiles useDotFiles)
$(use_with cache cachedLoads)
$(use_with extend extendedDefault)
)
econf "${myconf[@]}"
}
src_compile() {
CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
default
}
src_test() {
local -x PATH="/opt/hermes/bin:${PATH}"
tm -vvv || die
testcleanup || die
}
src_install() {
default
newman "${FILESDIR}"/module.1-8.4.20 module.1
insinto /etc/profile.d
newins "${ED}"/usr/share/Lmod/init/profile lmod.sh
newins "${ED}"/usr/share/Lmod/init/profile.fish lmod.fish
keepdir /etc/modulefiles
}

31
sys-cluster/lmod/metadata.xml

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gentoo@aisha.cc</email>
<name>Aisha Tammy</name>
</maintainer>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<longdescription>
Lmod is a lua based program to manage the user environment
under Unix systems, specifically designed to easily handle the MODULEPATH
Hierarchical problem. Environment Modules provide a convenient way to
dynamically change the users' environment through modulefiles. This
includes easily adding or removing directories to the PATH,
LD_LIBRARY_PATH and other environment variables.
</longdescription>
<use>
<flag name="auto-swap">enable auto swapping of compiler</flag>
<flag name="cache">enable caching of modules</flag>
<flag name="dotfiles">use ~/.lmod.d/.cache instead of ~/.lmod.d/__cache__</flag>
<flag name="duplicate">allow duplicate entries in path</flag>
<flag name="extend">enable extended default functionality</flag>
<flag name="italic">use italics, instead of faint colors, to represent hidden folders</flag>
<flag name="module-cmd">export module command</flag>
<flag name="nocase">do case insensitive sortings and searches</flag>
<flag name="redirect">redirect messages to stdout</flag>
</use>
</pkgmetadata>
Loading…
Cancel
Save