blob: 0b5027148b95618892112d1454363f26c59a72cc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# Copyright 1999-2024 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}
app-alternatives/bc
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
--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
}
|