summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Puck Neuwirth <alexander@neuwirth-informatik.de>2022-12-28 14:15:29 +0100
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2023-01-30 10:54:57 +0100
commit722c8fe3257133ae45f0c97f98bbe03edf71bb0e (patch)
treeb223f51115ce70065cef463e27d42137a4ba55b6
parentsci-geosciences/mapserver: version bump to 8.0.0 (diff)
downloadgentoo-722c8fe3.tar.gz
gentoo-722c8fe3.tar.bz2
gentoo-722c8fe3.zip
sys-cluster/lmod: Add symlinks to profile
Signed-off-by: Alexander Puck Neuwirth <alexander@neuwirth-informatik.de> Closes: https://github.com/gentoo/gentoo/pull/28872 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r--sys-cluster/lmod/lmod-8.6.14-r1.ebuild136
1 files changed, 136 insertions, 0 deletions
diff --git a/sys-cluster/lmod/lmod-8.6.14-r1.ebuild b/sys-cluster/lmod/lmod-8.6.14-r1.ebuild
new file mode 100644
index 000000000000..b0ffd880dea7
--- /dev/null
+++ b/sys-cluster/lmod/lmod-8.6.14-r1.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..3} )
+inherit autotools lua-single prefix
+
+DESCRIPTION="Environment Module System based on Lua"
+HOMEPAGE="https://lmod.readthedocs.io/en/latest https://github.com/TACC/Lmod"
+
+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 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+auto-swap +cache duplicate-paths test"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="${LUA_DEPS}
+ 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}]
+ ')
+ app-shells/tcsh
+ )
+"
+
+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 -r pkgs/{luafilesystem,term} || die
+ rm -r rt/{ck_mtree_syntax,colorize,end2end,help,ifur,settarg} || die
+ hprefixify -w '/#\!\/bin\/tcsh/' rt/csh_swap/csh_swap.tdesc || 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-spiderCacheDir="${EPREFIX}/etc/lmod_cache/spider_cache"
+ --with-updateSystemFn="${EPREFIX}/etc/lmod_cache/system.txt"
+ --prefix="${EPREFIX}/usr/share/Lmod"
+ --with-caseIndependentSorting
+ --without-hiddenItalic
+ --with-exportedModuleCmd
+ --with-useDotFiles
+ --without-redirect
+ --with-extendedDefault
+ $(use_with cache cachedLoads)
+ $(use_with duplicate-paths duplicatePaths)
+ $(use_with auto-swap autoSwap)
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ default
+}
+
+src_test() {
+ local -x PATH="${EPREFIX}/opt/hermes/bin:${PATH}"
+ tm -vvv || die
+ testcleanup || die
+}
+
+src_install() {
+ dosym ../../../usr/share/Lmod/init/profile /etc/bash/bashrc.d/z00_lmod.sh
+ dosym ../../usr/share/Lmod/init/profile /etc/profile.d/z00_lmod.sh
+ dosym ../../usr/share/Lmod/init/cshrc /etc/profile.d/z00_lmod.csh
+ dosym ../../../usr/share/Lmod/init/profile.fish /etc/fish/conf.d/z00_lmod.fish
+ default
+ newman "${FILESDIR}"/module.1-8.4.20 module.1
+ # not a real man page
+ rm -r "${ED}"/usr/share/Lmod/share/man || die
+ doenvd "${FILESDIR}"/99lmod
+ keepdir /etc/modulefiles
+ keepdir /etc/lmod_cache
+
+}
+
+pkg_postinst() {
+ if use cache ; then
+ elog "Lmod spider cache has been enabled."
+ elog "Remember to update the spider cache with"
+ elog "/usr/share/Lmod/libexec/update_lmod_system_cache_files \ "
+ elog "\t \$MODULEPATH"
+ fi
+}