aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAisha Tammy <gentoo@aisha.cc>2020-09-26 15:43:58 +0000
committerAisha Tammy <gentoo@aisha.cc>2020-09-26 19:11:03 +0000
commit4d41973331898406b86f2a3f11da50b7a1812336 (patch)
tree0d440f4f2e458d74b5d873e67508bc0671852ea5 /sys-cluster
parentsci-libs/ensmallen: fast numerical library (diff)
downloadsci-4d41973331898406b86f2a3f11da50b7a1812336.tar.gz
sci-4d41973331898406b86f2a3f11da50b7a1812336.tar.bz2
sci-4d41973331898406b86f2a3f11da50b7a1812336.zip
sys-cluster/modules: version bump + new maintainer
Closes: https://github.com/gentoo/sci/pull/952 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Aisha Tammy <gentoo@aisha.cc>
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/modules/Manifest3
-rw-r--r--sys-cluster/modules/files/createmodule.py186
-rw-r--r--sys-cluster/modules/files/createmodule.sh166
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-avail.patch12
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-bindir.patch11
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-clear.patch11
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-defs.patch20
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-errorline.patch14
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-versioning.patch10
-rw-r--r--sys-cluster/modules/files/modules-3.2.9c-errorline.patch14
-rw-r--r--sys-cluster/modules/files/modules.sh.in7
-rw-r--r--sys-cluster/modules/metadata.xml23
-rw-r--r--sys-cluster/modules/modules-3.2.10-r2.ebuild66
-rw-r--r--sys-cluster/modules/modules-3.2.9c-r1.ebuild48
-rw-r--r--sys-cluster/modules/modules-4.6.0.ebuild64
15 files changed, 78 insertions, 577 deletions
diff --git a/sys-cluster/modules/Manifest b/sys-cluster/modules/Manifest
index b2428f699..d58d72d46 100644
--- a/sys-cluster/modules/Manifest
+++ b/sys-cluster/modules/Manifest
@@ -1,2 +1 @@
-DIST modules-3.2.10.tar.bz2 327611 BLAKE2B 48579b23c72dd973c393a066b788258ba02cc6483536c2177b6fe9d5535c479c54c1384339ecbf46f96128a29b6d808579e5576f443b94835a2c49473f7d15ef SHA512 97715a691e19e7196f7b79464f758aefb703d8712edd2d571faa1501ed9134b7a0b0e82126de089ddbf406f3ca67837a495a3afdf5fbb49c6231f27dc2654032
-DIST modules-3.2.9c.tar.bz2 340529 BLAKE2B 7b7bdedf3d631849df8f10d38f62ec44dcbe076b4978739671bcbde0fe18d40796165af224b8a63c7afc28f83ffb4131f0c08fd2c0c27984d9f3a057355738a8 SHA512 f65c9b7a56b2836256b9eef337c68272cff6137f2df46dcb75d1f8e0d6b023d908117023ee2e32acceb2b9482d0e2aeae7ab13505902b8a12858cb7307ba0ca0
+DIST modules-4.6.0.tar.bz2 1589367 BLAKE2B 0fed7eadd95562a58a6d7ab903bbc442138f41f1fe533d3ea07ff988b57d564de0e5304954fdf379e4c35286e37cf8397fc525dc73d2aa9d76f87e15a487594d SHA512 7412e5e1107d4ea664734d0bc8c473e3f9c756d3b2bd9960c8d5db7733c6e798d98157dd7bf8b0311eb357ec46b9f900617054c47199a94c26744b0efc26eed2
diff --git a/sys-cluster/modules/files/createmodule.py b/sys-cluster/modules/files/createmodule.py
deleted file mode 100644
index 60c6ba7fa..000000000
--- a/sys-cluster/modules/files/createmodule.py
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/usr/bin/python
-#
-# createmodule.py - Takes the name of a environment init script and
-# produces a modulefile that duplicates the changes made by the init script
-#
-# Copyright (C) 2012 by Orion E. Poplawski <orion@cora.nwra.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from optparse import OptionParser
-import os,sys
-from subprocess import *
-
-# Handle options
-usage = "Usage: %prog [-p prefix] <initscript> [args]"
-parser = OptionParser()
-parser.set_usage(usage)
-parser.add_option('-p', '--prefix', dest='prefix', help='Specify path prefix')
-(options, args) = parser.parse_args()
-
-# Need a script name
-if not args:
- parser.print_usage()
- exit(1)
-
-# Return environment after a command
-def getenv(cmd = ':'):
- env = {}
- p = Popen(cmd + ";env", shell=True, stdout=PIPE, stderr=PIPE)
- (stdout, stderr) = p.communicate()
- if p.returncode != 0:
- print "EROR: Could not execute initscript:"
- print "%s returned exit code %d" % (cmd, p.returncode)
- print stderr
- exit(1)
- if stderr != '':
- print "WARNING: initscript sent the following to stderr:"
- print stderr
- # Parse the output key=value pairs
- for line in stdout.splitlines():
- try:
- (var,value) = line.split('=',1)
- except ValueError:
- print "ERROR: Could not parse output:"
- print stdout
- exit(1)
- env[var] = value
- return env
-
-#Record initial environment
-env1=getenv()
-
-#Record environment after sourcing the initscript
-env2=getenv(". " + " ".join(args))
-
-# Initialize our variables for storing modifications
-chdir = None
-appendpath = {}
-prependpath = {}
-setenv = {}
-unsetenv = []
-pathnames = []
-
-# Function to nomalize all paths in a list of paths and remove duplicate items
-def normpaths(paths):
- newpaths = []
- for path in paths:
- normpath = os.path.normpath(path)
- if normpath not in newpaths:
- newpaths.append(os.path.normpath(path))
- return newpaths
-
-# Start with existing keys and look for changes
-for key in env1.keys():
- # Test for delete
- if key not in env2:
- unsetenv.append(key)
- continue
- # No change
- if env1[key] == env2[key]:
- del env2[key]
- continue
- #Working directory change
- if key == 'PWD':
- chdir=os.path.normpath(env2[key])
- pathnames.append(chdir)
- del env2[key]
- continue
- # Determine modifcations to beginning and end of the string
- (prepend,append) = env2[key].split(env1[key])
- if prepend:
- prependpaths = prepend.strip(':').split(':')
- # LICENSE variables often include paths outside install directory
- if 'LICENSE' not in key:
- pathnames += prependpaths
- prependpath[key] = ':'.join(normpaths(prependpaths))
- if append:
- appendpaths = append.strip(':').split(':')
- # LICENSE variables often include paths outside install directory
- if 'LICENSE' not in key:
- pathnames += appendpaths
- appendpath[key] = ':'.join(normpaths(appendpaths))
- del env2[key]
-
-# We're left with new keys in env2
-for key in env2.keys():
- # Use prepend-path for new paths
- if ('PATH' in key) or (':' in env2[key]):
- prependpaths = env2[key].strip(':').split(':')
- # MANPATH can have system defaults added it it wasn't previously set
- # LICENSE variables often include paths outside install directory
- if key != 'MANPATH' and 'LICENSE' not in key:
- pathnames += prependpaths
- prependpath[key] = ':'.join(normpaths(prependpaths))
- continue
- # Set new variables
- setenv[key] = os.path.normpath(env2[key])
- if 'LICENSE' not in key:
- pathnames.append(setenv[key])
-
-# Determine a prefix
-prefix = None
-if options.prefix:
- prefix = options.prefix
-else:
- prefix = os.path.commonprefix(pathnames).rstrip('/')
- if prefix == '':
- prefix = None
-
-# Print out the modulefile
-print "#%Module 1.0"
-
-# Prefix
-if prefix is not None:
- print "\nset prefix " + prefix + "\n"
-
-# Chdir
-if chdir is not None:
- print "chdir\t" + chdir
-
-# Function to format output line with tabs and substituting prefix
-def formatline(item, key, value=None):
- print item,
- print "\t"*(2-(len(item)+1)/8),
- print key,
- if value is not None:
- print "\t"*(3-(len(key)+1)/8),
- if prefix is not None:
- print value.replace(prefix,'$prefix')
- else:
- print value
-
-# Paths first, grouped by variable name
-pathkeys = appendpath.keys() + prependpath.keys()
-pathkeys.sort()
-for key in pathkeys:
- if key in prependpath:
- formatline("prepend-path",key,prependpath[key])
- if key in appendpath:
- formatline("append-path",key,appendpath[key])
-
-# Setenv
-setenvkeys = setenv.keys()
-setenvkeys.sort()
-if setenvkeys:
- print
-for key in setenvkeys:
- formatline("setenv",key,setenv[key])
-
-# Unsetenv
-unsetenv.sort()
-if unsetenv:
- print
-for key in unsetenv:
- formatline("unsetenv",key)
diff --git a/sys-cluster/modules/files/createmodule.sh b/sys-cluster/modules/files/createmodule.sh
deleted file mode 100644
index b44cf0512..000000000
--- a/sys-cluster/modules/files/createmodule.sh
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/bin/bash
-#
-# createmodule.sh - Takes the name of a environment init script and
-# produces a modulefile that duplicates the changes made by the init script
-#
-# Copyright (C) 2010-2012 by Orion E. Poplawski <orion@cora.nwra.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-usage="Usage: $0 [-p prefix] <initscript> [args]"
-
-usage() {
- echo $usage 1>&2
- exit 1
-}
-
-while getopts "p:" opt
-do
- case $opt in
- p) prefix=$OPTARG; shift 2;;
- *) usage;;
- esac
-done
-
-# Need a script name
-[ -z "$1" ] && usage
-
-# Need to be a readable script
-if [ ! -r "$1" ]
-then
- echo "ERROR: Cannot read $1" 1>&2
- exit 1
-fi
-
-#Will print out array assignment list
-printenvarray () {
- env | while read x
- do
- key=${x%%=*}
- value=${x#*=}
- echo [$key]="'$value'"
- done
-}
-
-#Apparently we need to declare the associative arrays
-declare -A env1 env2
-
-#Record starting environment
-eval env1=(`printenvarray`)
-
-#Source the environment script
-. "$@"
-
-#Record ending environment
-eval env2=(`printenvarray`)
-
-#Print out the modulefile
-echo "#%Module 1.0"
-
-#Prefix
-[ -n "$prefix" ] && echo -e "\nset prefix $prefix\n"
-
-#Subshell so we can sort the output
-(
-dedup() {
- list=`mktemp`
- echo $1 | sed -r -e 's,[^/]+/\.\./,,g' -e 's,[^/]+/\.\./,,g' -e 's/:/\n/g' |
- while read x
- do
- grep -Fx ${x} $list && continue
- if [ -n "$prefix" ]
- then
- echo $x | sed -e s,$prefix,\$prefix,
- else
- echo $x
- fi
- echo $x >> $list
- done | tr '\n' : | sed -e 's/:$//'
- rm $list
-}
-
-#Keys that changed
-for key in "${!env1[@]}"
-do
- if [ "${env1[$key]}" != "${env2[$key]}" ]
- then
- #Working directory change
- if [ "$key" = PWD ]
- then
- if [ -n "$prefix" ]
- then
- echo -e "chdir\t\t${env2[PWD]}" | sed -e s,$prefix,\$prefix,g
- else
- echo -e "chdir\t\t${env2[PWD]}"
- fi
- #Test for delete
- elif [ -z "${env2[$key]}" ]
- then
- echo -e "unsetenv\t${key}\t${env2[$key]}"
- #Test for prepend
- elif [ "${env2[$key]%${env1[$key]}}" != "${env2[$key]}" ]
- then
- added=$(dedup ${env2[$key]%:${env1[$key]}})
- echo -e "prepend-path\t$key\t${added}"
- #Test for prepend plus : added at end (MANPATH)
- elif [ "${env2[$key]%${env1[$key]}:}" != "${env2[$key]}" ]
- then
- added=$(dedup ${env2[$key]%${env1[$key]}:})
- echo -e "prepend-path\t$key\t${added}"
- #Test for append
- elif [ "${env2[$key]#${env1[$key]}}" != "${env2[$key]}" ]
- then
- added=$(dedup ${env2[$key]#:${env1[$key]}})
- echo -e "append-path\t$key\t${added}"
- #Test for prepend plus append
- elif [ "${env2[$key]%${env1[$key]}:*}" != "${env2[$key]}" ]
- then
- added=$(dedup ${env2[$key]%:${env1[$key]}*})
- echo -e "prepend-path\t$key\t${added}"
- added=$(dedup ${env2[$key]#*${env1[$key]}:})
- echo -e "append-path\t$key\t${added}"
- else
- #Unhandled
- echo "Unhandled change of $key" 1>&2
- echo "Before <${env1[$key]}>" 1>&2
- echo "After <${env2[$key]}>" 1>&2
- fi
- fi
- #Delete keys we've handled
- unset env1[$key]
- unset env2[$key]
-done
-
-#New keys
-for key in "${!env2[@]}"
-do
- if [ "$key" = OLDPWD ]
- then
- continue
- fi
- #Use prepend-path for new paths
- if [ "${key/PATH/}" != "$key" ]
- then
- # TODO - Need to handle stripping of default MANPATH
- echo -e "prepend-path\t${key}\t"$(dedup ${env2[$key]})
- else
- if [ -n "$prefix" ]
- then
- echo -e "setenv\t\t${key}\t${env2[$key]}" | sed -e s,$prefix,\$prefix,g
- else
- echo -e "setenv\t\t${key}\t${env2[$key]}"
- fi
- fi
-done
-) | sort
diff --git a/sys-cluster/modules/files/modules-3.2.10-avail.patch b/sys-cluster/modules/files/modules-3.2.10-avail.patch
deleted file mode 100644
index 8d6f52b92..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-avail.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up modules-3.2.10/init/bash_completion.in.avail modules-3.2.10/init/bash_completion.in
---- modules-3.2.10/init/bash_completion.in.avail 2012-10-25 13:33:34.000000000 -0600
-+++ modules-3.2.10/init/bash_completion.in 2013-01-15 12:05:37.247309733 -0700
-@@ -56,7 +56,7 @@ _module() {
- unuse) COMPREPLY=( $(IFS=: compgen -W "${MODULEPATH}" -- "$cur") );;
- use|*-a*) ;; # let readline handle the completion
- -u|--userlvl) COMPREPLY=( $(compgen -W "novice expert advanced" -- "$cur") );;
-- display|help|show|whatis)
-+ av*|disp*|help|show|whatis)
- COMPREPLY=( $(compgen -W "$(_module_avail)" -- "$cur") );;
- *) if test $COMP_CWORD -gt 2
- then
diff --git a/sys-cluster/modules/files/modules-3.2.10-bindir.patch b/sys-cluster/modules/files/modules-3.2.10-bindir.patch
deleted file mode 100644
index 2066d7f13..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-bindir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- modules-3.2.10.orig/init/Makefile.in 2009-09-22 12:13:52.000000000 -0600
-+++ modules-3.2.10/init/Makefile.in 2009-09-23 12:19:50.797470155 -0600
-@@ -404,7 +404,7 @@
- sed -e "/@$(if $(subst 0,,$(WANTS_VERSIONING)),NOT,)VERSIONING\@/d; \
- s,@$(if $(subst 0,,$(WANTS_VERSIONING)),,NOT)VERSIONING\@,,g; \
- s,@prefix\@,${prefix},g; \
-- s,@bindir\@,${exec_prefix}/bin,g; \
-+ s,@bindir\@,${bindir},g; \
- s,@VERSION\@,@VERSION@,g; \
- s,@BASEPREFIX\@,@BASEPREFIX@,g;" < $< > $@
-
diff --git a/sys-cluster/modules/files/modules-3.2.10-clear.patch b/sys-cluster/modules/files/modules-3.2.10-clear.patch
deleted file mode 100644
index 0817db5c2..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-clear.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- modules-3.2.9/utility.c 2011-11-28 22:27:13.000000000 +0100
-+++ modules-3.2.9-new/utility.c 2012-06-13 15:17:41.570629148 +0200
-@@ -727,7 +727,7 @@ int Output_Modulefile_Changes( Tcl_Inter
- output_unset_variable( (char*) key);
- } else {
- val = EMGetEnv(interp, key);
-- if(val && *val)
-+ if(val)
- output_set_variable(interp, (char*) key, val);
- null_free((void *)&val);
- }
diff --git a/sys-cluster/modules/files/modules-3.2.10-defs.patch b/sys-cluster/modules/files/modules-3.2.10-defs.patch
deleted file mode 100644
index 412abebd7..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-defs.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- modules-3.2.10/modules_def.h.orig 2017-04-21 19:33:52.698720482 +0300
-+++ modules-3.2.10/modules_def.h 2017-04-21 19:35:19.506727343 +0300
-@@ -616,6 +616,9 @@
- /** ModuleCmd_Purge.c **/
- extern int ModuleCmd_Purge( Tcl_Interp*, int, char*[]);
-
-+/** ModuleCmd_Refresh.c **/
-+extern int ModuleCmd_Refresh( Tcl_Interp*, int argc, char*[]);
-+
- /** ModuleCmd_Switch.c **/
- extern int ModuleCmd_Switch( Tcl_Interp*, int, char*[]);
-
-@@ -753,6 +756,7 @@
- extern char *EMGetEnv(Tcl_Interp *, char const *);
- extern char *EMSetEnv(Tcl_Interp *, char const *, char const *);
- extern int is_interactive(void);
-+extern void regex_quote(const char *, char *, int len);
-
- #ifndef HAVE_STRDUP
- # undef strdup
diff --git a/sys-cluster/modules/files/modules-3.2.10-errorline.patch b/sys-cluster/modules/files/modules-3.2.10-errorline.patch
deleted file mode 100644
index b2962f104..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-errorline.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru modules-3.2.9-old/cmdModule.c modules-3.2.9/cmdModule.c
---- modules-3.2.9-old/cmdModule.c 2013-06-02 22:46:09.196302980 +0200
-+++ modules-3.2.9/cmdModule.c 2013-06-02 22:53:36.706298800 +0200
-@@ -640,8 +640,8 @@
- case TCL_OK: gotPartial = 0;
- continue; /** while **/
-
-- case TCL_ERROR: interp->errorLine = ((linenum-1)-gotPartial) +
-- interp->errorLine;
-+ case TCL_ERROR: Tcl_SetErrorLine(interp, ((linenum-1)-gotPartial) +
-+ Tcl_GetErrorLine(interp));
- /* FALLTHROUGH */
-
- case TCL_LEVEL0_RETURN:
diff --git a/sys-cluster/modules/files/modules-3.2.10-versioning.patch b/sys-cluster/modules/files/modules-3.2.10-versioning.patch
deleted file mode 100644
index 7bda92023..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-versioning.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -up modules-3.2.10/modulefiles/modules.in.versioning modules-3.2.10/modulefiles/modules.in
---- modules-3.2.10/modulefiles/modules.in.versioning 2012-10-25 13:33:34.000000000 -0600
-+++ modules-3.2.10/modulefiles/modules.in 2013-01-15 11:30:22.046031158 -0700
-@@ -26,5 +26,5 @@ setenv MODULESHOME $prefix
- prepend-path PATH @bindir@
- prepend-path MANPATH @mandir@
-
--module use @VERSIONPATH@
-+@VERSIONING@module use @VERSIONPATH@
-
diff --git a/sys-cluster/modules/files/modules-3.2.9c-errorline.patch b/sys-cluster/modules/files/modules-3.2.9c-errorline.patch
deleted file mode 100644
index b2962f104..000000000
--- a/sys-cluster/modules/files/modules-3.2.9c-errorline.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru modules-3.2.9-old/cmdModule.c modules-3.2.9/cmdModule.c
---- modules-3.2.9-old/cmdModule.c 2013-06-02 22:46:09.196302980 +0200
-+++ modules-3.2.9/cmdModule.c 2013-06-02 22:53:36.706298800 +0200
-@@ -640,8 +640,8 @@
- case TCL_OK: gotPartial = 0;
- continue; /** while **/
-
-- case TCL_ERROR: interp->errorLine = ((linenum-1)-gotPartial) +
-- interp->errorLine;
-+ case TCL_ERROR: Tcl_SetErrorLine(interp, ((linenum-1)-gotPartial) +
-+ Tcl_GetErrorLine(interp));
- /* FALLTHROUGH */
-
- case TCL_LEVEL0_RETURN:
diff --git a/sys-cluster/modules/files/modules.sh.in b/sys-cluster/modules/files/modules.sh.in
deleted file mode 100644
index e3d6d43b2..000000000
--- a/sys-cluster/modules/files/modules.sh.in
+++ /dev/null
@@ -1,7 +0,0 @@
-shell=$(basename $(ps -p $$ -ocomm=))
-if [ -f @EPREFIX@/usr/share/Modules/init/${shell} ]
-then
- . @EPREFIX@/usr/share/Modules/init/${shell}
-else
- . @EPREFIX@/usr/share/Modules/init/sh
-fi
diff --git a/sys-cluster/modules/metadata.xml b/sys-cluster/modules/metadata.xml
index 60ab20673..a67a56343 100644
--- a/sys-cluster/modules/metadata.xml
+++ b/sys-cluster/modules/metadata.xml
@@ -2,21 +2,24 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>nicolasbock@gentoo.org</email>
- <name>Nicolas Bock</name>
+ <email>btbn@btbn.de</email>
+ <name>Timo Rothenpieler</name>
</maintainer>
<maintainer type="project">
- <email>cluster@gentoo.org</email>
- <name>Gentoo Cluster Project</name>
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
</maintainer>
<longdescription lang="en">
-The environment modules package provides for an easy dynamic
-modification of a user's environment via modulefiles. which
-typically instruct the module command to alter or set shell
-environment variables such as PATH, MANPATH, etc. as well as define
-aliases over a variety of shells.
-</longdescription>
+ The environment modules package provides for an easy dynamic
+ modification of a user's environment via modulefiles. which
+ typically instruct the module command to alter or set shell
+ environment variables such as PATH, MANPATH, etc. as well as define
+ aliases over a variety of shells.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">modules</remote-id>
</upstream>
+ <use>
+ <flag name="compat">Build Modules version 3 compat support</flag>
+ </use>
</pkgmetadata>
diff --git a/sys-cluster/modules/modules-3.2.10-r2.ebuild b/sys-cluster/modules/modules-3.2.10-r2.ebuild
deleted file mode 100644
index 33ff8a591..000000000
--- a/sys-cluster/modules/modules-3.2.10-r2.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Dynamic modification of a user's environment via modulefiles"
-HOMEPAGE="http://modules.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="test X"
-
-RDEPEND="
- dev-lang/tcl:0=
- dev-tcltk/tclx
- X? ( x11-libs/libX11 )"
-DEPEND="${RDEPEND}
- test? ( dev-util/dejagnu )"
-
-S="${WORKDIR}/${P%[a-z]}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-bindir.patch
- "${FILESDIR}"/${P}-versioning.patch
- "${FILESDIR}"/${P}-clear.patch
- "${FILESDIR}"/${P}-avail.patch
- "${FILESDIR}"/${P}-defs.patch
-)
-
-DOCS=(ChangeLog README NEWS TODO)
-
-src_prepare() {
- has_version ">=dev-lang/tcl-8.6.0" &&
- eapply "${FILESDIR}"/${P}-errorline.patch
- default
- sed -e "s:@EPREFIX@:${EPREFIX}:g" \
- "${FILESDIR}"/modules.sh.in > modules.sh || die
-
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- --disable-versioning
- --prefix="${EPREFIX}/usr/share"
- --exec-prefix="${EPREFIX}/usr/share/Modules"
- --with-module-path="${EPREFIX}/etc/modulefiles"
- --with-tcl="${EPREFIX}/usr/$(get_libdir)"
- $(use_with X x)
- )
- econf ${myconf[@]}
-}
-
-src_install() {
- default
- insinto /etc/profile.d
- doins modules.sh
- exeinto /usr/share/Modules/bin
- doexe "${FILESDIR}"/createmodule.{sh,py}
- dosym ../../../usr/share/Modules/init/csh /etc/profile.d/modules.csh
- dodir /etc/modulefiles
-}
diff --git a/sys-cluster/modules/modules-3.2.9c-r1.ebuild b/sys-cluster/modules/modules-3.2.9c-r1.ebuild
deleted file mode 100644
index 43f0ab91d..000000000
--- a/sys-cluster/modules/modules-3.2.9c-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils
-
-DESCRIPTION="Dynamic modification of a user's environment via modulefiles"
-HOMEPAGE="http://modules.sourceforge.net/"
-SRC_URI="http://sourceforge.net/projects/modules/files/Modules/${P%[a-z]}/${P}.tar.bz2/download -> ${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="X"
-
-DEPEND="
- dev-lang/tcl:0=
- dev-tcltk/tclx
- X? ( x11-libs/libX11 )
- "
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${P%[a-z]}"
-
-DOCS=(ChangeLog README NEWS TODO)
-
-src_prepare() {
- has_version ">=dev-lang/tcl-8.6.0" && epatch "${FILESDIR}/${P}-errorline.patch"
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with X x)
- --prefix=/opt
- )
- autotools-utils_src_configure
-}
-
-src_install() {
- autotools-utils_src_install
- dosym ${PV%[a-z]} /opt/Modules/default
-}
-
-pkg_postinst() {
- elog "Add this line at the end of your bashrc:"
- elog "[ -f /opt/Modules/default/init/bash ] && source /opt/Modules/default/init/bash"
-}
diff --git a/sys-cluster/modules/modules-4.6.0.ebuild b/sys-cluster/modules/modules-4.6.0.ebuild
new file mode 100644
index 000000000..d4053b39c
--- /dev/null
+++ b/sys-cluster/modules/modules-4.6.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit autotools python-single-r1
+
+DESCRIPTION="Dynamic modification of a user's environment via modulefiles"
+HOMEPAGE="http://modules.sourceforge.net/"
+SRC_URI="https://github.com/cea-hpc/modules/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="compat test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/tcl:0=
+ dev-tcltk/tclx
+ compat? ( x11-libs/libX11 )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-util/dejagnu )
+"
+
+src_prepare() {
+ default
+
+ cd "${S}/lib" || die
+ eautoreconf
+
+ if use compat; then
+ cd "${S}/compat" || die
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --disable-versioning
+ --prefix="${EPREFIX}/usr/share/Modules"
+ --mandir="${EPREFIX}/usr/share/man"
+ --docdir="${EPREFIX}/usr/share/doc/${P}"
+ --libdir="${EPREFIX}/usr/share/Modules/$(get_libdir)"
+ --datarootdir="${EPREFIX}/usr/share"
+ --modulefilesdir="${EPREFIX}/etc/modulefiles"
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ --with-python="${PYTHON}"
+ $(use_enable compat compat-version)
+ )
+ ./configure "${myconf[@]}" ${EXTRA_ECONF[@]} || die "configure failed"
+}
+
+src_install() {
+ default
+ dosym ../../usr/share/Modules/init/profile.sh /etc/profile.d/modules.sh
+ dosym ../../usr/share/Modules/init/profile.csh /etc/profile.d/modules.csh
+ dodir /etc/modulefiles
+}