-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_modulefile.sh
More file actions
executable file
·41 lines (31 loc) · 1.11 KB
/
create_modulefile.sh
File metadata and controls
executable file
·41 lines (31 loc) · 1.11 KB
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
#!/bin/bash
# Get abspath of package
PACKAGE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo "PACKAGE_DIR IS $PACKAGE_DIR"
PACKAGE_NAME=$(basename "${PACKAGE_DIR}")
echo "PACKAGE_NAME IS $PACKAGE_NAME"
# Default modulefile location or allow user to specify
MODULE_DIR="${1:-$PACKAGE_DIR/modules}"
echo "MODULE_DIR IS $MODULE_DIR"
mkdir -p "$MODULE_DIR/sprout"
cat > "${MODULE_DIR}/${PACKAGE_NAME}/0.1.0" << EOF
#%Module
proc ModulesHelp { } {
# Help text for \`module help sprout\`
puts stderr "Adds ${PACKAGE_NAME} to PYTHONPATH"
puts stderr "\nThis module adds the Python package located at:"
puts stderr "${PACKAGE_DIR}"
}
# Description for \`module whatis sprout\`
module-whatis "Python package: ${PACKAGE_NAME}"
set package_root "${PACKAGE_DIR}/src"
if { ![file exists \$package_root] } {
puts stderr "Error: Package path does not exist: \$package_root"
break
}
prepend-path PYTHONPATH \$package_root
# Add package directory to front of PYTHONPATH
EOF
echo "Created modulefile: ${MODULE_DIR}/${PACKAGE_NAME}"
echo "Add this to your MODULEPATH to use:"
echo " module use ${MODULE_DIR}"