summaryrefslogtreecommitdiffstats
path: root/tools/ghc-rpm-macros/cabal-tweak-dep-ver
blob: 525b786bd968956094fb17795da8797a483f70e4 (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
#!/bin/sh

set -e +x

USAGE="Usage: $0 dep old new"

if [ $# -ne 3 ]; then
    echo "$USAGE"
    exit 1
fi

DEP=$1
OLD=$(echo $2 | sed -e "s/*/\\\\*/g" -e "s/\./\\\\./g")
NEW=$3

CABALFILE=$(ls *.cabal)

if [ $(echo $CABALFILE | wc -w) -ne 1 ]; then
   echo "There needs to be one .cabal file in the current dir!"
   exit 1
fi

BREAK=[^[:alnum:]-]

if ! grep -q "$BREAK$DEP$BREAK[^,]*$OLD" $CABALFILE; then
   echo "$CABALFILE does not match: $DEP $OLD"
   exit 1
fi

if [ ! -f $CABALFILE.orig ]; then
    BACKUP=.orig
fi

sed -i$BACKUP -e "s/\($BREAK$DEP$BREAK[^,]*\)$OLD/\1$NEW/g" $CABALFILE