Skip to content

Commit 0228055

Browse files
committed
Restore original Haskell fpm install script
1 parent 3790235 commit 0228055

File tree

1 file changed

+11
-109
lines changed

1 file changed

+11
-109
lines changed

install.sh

Lines changed: 11 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,131 +1,33 @@
11
#!/bin/sh
22

3-
set -e # exit on error
4-
5-
usage()
6-
{
7-
echo "Fortran Package Manager Bootstrap Script"
8-
echo ""
9-
echo "USAGE:"
10-
echo "./install.sh [--help | [--prefix=PREFIX] [--update[=REF]]"
11-
echo " [--no-openmp] [--static] [--haskell] ]"
12-
echo ""
13-
echo " --help Display this help text"
14-
echo " --prefix=PREFIX Install binary in 'PREFIX/bin'"
15-
echo " Default prefix='\$HOME/.local/bin'"
16-
echo " --update[=REF] Update repository from latest release tag"
17-
echo " or from git reference REF if specified"
18-
echo " --no-openmp Don't build fpm with openmp support"
19-
echo " --static Statically link fpm executable"
20-
echo " (implies --no-openmp)"
21-
echo " --haskell Only install Haskell fpm"
22-
echo ""
23-
echo " '--no-openmp' and '--static' do not affect the Haskell fpm"
24-
echo " build."
25-
echo ""
26-
}
27-
28-
PREFIX="$HOME/.local"
29-
UPDATE=false
30-
OMP=true
31-
STATIC=false
32-
HASKELL_ONLY=false
33-
34-
STACK_BIN_PATH="$HOME/.local/bin"
35-
REF=$(git describe --tag --abbrev=0)
36-
RELEASE_FLAGS="--flag -g --flag -fbacktrace --flag -O3"
37-
38-
while [ "$1" != "" ]; do
39-
PARAM=$(echo "$1" | awk -F= '{print $1}')
40-
VALUE=$(echo "$1" | awk -F= '{print $2}')
41-
case $PARAM in
42-
-h | --help)
43-
usage
44-
exit
45-
;;
46-
--prefix)
47-
PREFIX=$VALUE
48-
;;
49-
--update)
50-
UPDATE=true
51-
if [ "$VALUE" != "" ]; then
52-
REF=$VALUE
53-
fi
54-
;;
55-
--no-openmp)
56-
OMP=false
57-
;;
58-
--static)
59-
STATIC=true
60-
OMP=false
61-
;;
62-
--haskell)
63-
HASKELL_ONLY=true
64-
;;
65-
*)
66-
echo "ERROR: unknown parameter \"$PARAM\""
67-
usage
68-
exit 1
69-
;;
70-
esac
71-
shift
72-
done
73-
743
set -u # error on use of undefined variable
4+
set -e # exit on error
755

76-
INSTALL_PATH="$PREFIX/bin"
6+
install_path="$HOME/.local/bin"
777

788
if command -v stack 1> /dev/null 2>&1 ; then
79-
echo "Found stack"
9+
echo "found stack"
8010
else
8111
echo "Haskell stack not found."
82-
echo "Installing Haskell stack"
12+
echo "Installing Haskell stack to."
8313
curl -sSL https://get.haskellstack.org/ | sh
8414
if command -v stack 1> /dev/null 2>&1 ; then
8515
echo "Haskell stack installation successful."
8616
else
87-
echo "ERROR: Haskell stack installation unsuccessful."
17+
echo "Haskell stack installation unsuccessful."
8818
exit 1
8919
fi
9020
fi
9121

92-
if [ -x "$INSTALL_PATH/fpm" ]; then
93-
echo "Overwriting existing fpm installation in $INSTALL_PATH"
94-
fi
95-
96-
if [ "$UPDATE" = true ]; then
97-
git checkout "$REF"
98-
if [ $? != 0 ]; then
99-
echo "ERROR: Unable to checkout $REF."
100-
exit 1
101-
fi
22+
if [ -x "$install_path/fpm" ]; then
23+
echo "Overwriting existing fpm installation in $install_path"
10224
fi
10325

10426
cd bootstrap
10527
stack install
10628

107-
if [ "$STACK_BIN_PATH" != "$INSTALL_PATH" ]; then
108-
mv "$STACK_BIN_PATH/fpm" "$INSTALL_PATH/"
109-
fi
110-
111-
if [ "$HASKELL_ONLY" = true ]; then
112-
exit
113-
fi
114-
115-
if [ "$STATIC" = true ]; then
116-
RELEASE_FLAGS="$RELEASE_FLAGS --flag -static"
117-
fi
118-
119-
if [ "$OMP" = true ]; then
120-
RELEASE_FLAGS="$RELEASE_FLAGS --flag -fopenmp"
121-
fi
122-
123-
cd ../fpm
124-
"$INSTALL_PATH/fpm" run $RELEASE_FLAGS --runner mv -- "$INSTALL_PATH/"
125-
126-
if [ -x "$INSTALL_PATH/fpm" ]; then
127-
echo "fpm installed successfully to $INSTALL_PATH"
29+
if [ -x "$install_path/fpm" ]; then
30+
echo "fpm installed successfully to $install_path"
12831
else
129-
echo "ERROR: fpm installation unsuccessful: fpm not found in $INSTALL_PATH"
130-
exit 1
131-
fi
32+
echo "fpm installation unsuccessful: fpm not found in $install_path"
33+
fi

0 commit comments

Comments
 (0)