[ghc-rpm-macros] add cabal-tweak-flag script for toggling flag default
Jens Petersen
petersen at fedoraproject.org
Mon Dec 3 07:00:16 UTC 2012
commit 6af89aa214ce999f46d83d3026d50ce926b42ed7
Author: Jens Petersen <petersen at redhat.com>
Date: Mon Dec 3 16:00:06 2012 +0900
add cabal-tweak-flag script for toggling flag default
cabal-tweak-flag | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
ghc-rpm-macros.spec | 8 +++++++-
2 files changed, 57 insertions(+), 1 deletions(-)
---
diff --git a/cabal-tweak-flag b/cabal-tweak-flag
new file mode 100755
index 0000000..0d54d53
--- /dev/null
+++ b/cabal-tweak-flag
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# TODO:
+# support "$0 FLAG NEW" when no upstream default
+
+set -e +x
+
+USAGE="Usage: $0 FLAG OLD NEW"
+
+if [ $# -ne 3 ]; then
+ echo "$USAGE"
+ exit 1
+fi
+
+FLAG=$1
+OLD=$2
+NEW=$3
+
+if [ "$OLD" = "$NEW" ]; then
+ echo "Old and new value can't be the same!"
+ exit 1
+fi
+
+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
+
+if ! grep -q -i "^flag *$FLAG" $CABALFILE; then
+ echo "$CABALFILE does have flag $FLAG"
+ exit 1
+fi
+
+if ! grep -A3 -i "^flag *$FLAG" $CABALFILE | grep -q -i "default:"; then
+ echo "$CABALFILE: $FLAG flag might not have a default"
+ exit 1
+fi
+
+if ! grep -A3 -i "^flag *$FLAG" $CABALFILE | grep -q -i "default: *$OLD"; then
+ echo "$CABALFILE: $FLAG flag already defaults to $NEW"
+ exit 1
+fi
+
+if [ ! -f $CABALFILE.orig ]; then
+ BACKUP=.orig
+fi
+
+sed -i$BACKUP -e "/[Ff]lag *$FLAG/,/[Dd]efault: *$OLD/ s/\([Dd]efault: *\)$OLD/\1$NEW/" $CABALFILE
diff --git a/ghc-rpm-macros.spec b/ghc-rpm-macros.spec
index a2a36a4..cc8015d 100644
--- a/ghc-rpm-macros.spec
+++ b/ghc-rpm-macros.spec
@@ -6,7 +6,7 @@
#%%global without_hscolour 1
Name: ghc-rpm-macros
-Version: 0.97.4
+Version: 0.97.5
Release: 1%{?dist}
Summary: Macros for building packages for GHC
@@ -23,6 +23,7 @@ Source1: COPYING
Source2: AUTHORS
Source3: ghc-deps.sh
Source4: cabal-tweak-dep-ver
+Source5: cabal-tweak-flag
Requires: redhat-rpm-config
%if %{undefined without_hscolour}
BuildRequires: redhat-rpm-config
@@ -51,6 +52,7 @@ install -p -D -m 0644 %{SOURCE0} ${RPM_BUILD_ROOT}/%{macros_file}
install -p -D -m 0755 %{SOURCE3} %{buildroot}/%{_prefix}/lib/rpm/ghc-deps.sh
install -p -D -m 0755 %{SOURCE4} %{buildroot}/%{_bindir}/cabal-tweak-dep-ver
+install -p -D -m 0755 %{SOURCE5} %{buildroot}/%{_bindir}/cabal-tweak-flag
# this is why this package is now arch-dependent:
# turn off shared libs and dynamic linking on secondary archs
@@ -69,9 +71,13 @@ EOF
%config(noreplace) %{macros_file}
%{_prefix}/lib/rpm/ghc-deps.sh
%{_bindir}/cabal-tweak-dep-ver
+%{_bindir}/cabal-tweak-flag
%changelog
+* Mon Dec 3 2012 Jens Petersen <petersen at redhat.com> - 0.97.5-1
+- add cabal-tweak-flag script for toggling flag default
+
* Sat Nov 17 2012 Jens Petersen <petersen at redhat.com> - 0.97.4-1
- enable hscolour again
More information about the scm-commits
mailing list