Mon Feb 7 02:39:41 2022 UTC ()
Handle the case where *.cabal lacks the field "Build-Type"


(pho)
diff -r1.1 -r1.2 pkgsrc/mk/haskell/build-type.awk
diff -r1.1 -r1.2 pkgsrc/mk/haskell/gen-setup.sh

cvs diff -r1.1 -r1.2 pkgsrc/mk/haskell/build-type.awk (expand / switch to unified diff)

--- pkgsrc/mk/haskell/build-type.awk 2021/05/01 15:06:26 1.1
+++ pkgsrc/mk/haskell/build-type.awk 2022/02/07 02:39:41 1.2
@@ -1,23 +1,28 @@ @@ -1,23 +1,28 @@
1# $NetBSD: build-type.awk,v 1.1 2021/05/01 15:06:26 pho Exp $ 1# $NetBSD: build-type.awk,v 1.2 2022/02/07 02:39:41 pho Exp $
2# 2#
3# Extract the field "Build-Type" out of a Cabal package description. 3# Extract the field "Build-Type" out of a Cabal package description.
4# 4#
5BEGIN { 5BEGIN {
6 buildTypeLine = 0 6 buildTypeLine = 0
7} 7}
8 8
9tolower($1) ~ /^build-type:/ { 9tolower($1) ~ /^build-type:/ {
10 if ($2) { 10 if ($2) {
11 print tolower($2); 11 print tolower($2);
12 exit 12 exit
13 } 13 }
14 else { 14 else {
15 buildTypeLine = 1; 15 buildTypeLine = 1;
16 next 16 next
17 } 17 }
18} 18}
19 19
20buildTypeLine { 20buildTypeLine {
21 print tolower($1); 21 print tolower($1);
22 exit 22 exit
23} 23}
 24
 25END {
 26 # The package description didn't have Build-Type. Default to "Simple".
 27 print "simple"
 28}

cvs diff -r1.1 -r1.2 pkgsrc/mk/haskell/gen-setup.sh (expand / switch to unified diff)

--- pkgsrc/mk/haskell/gen-setup.sh 2021/05/01 15:06:26 1.1
+++ pkgsrc/mk/haskell/gen-setup.sh 2022/02/07 02:39:41 1.2
@@ -1,24 +1,24 @@ @@ -1,24 +1,24 @@
1# $NetBSD: gen-setup.sh,v 1.1 2021/05/01 15:06:26 pho Exp $ 1# $NetBSD: gen-setup.sh,v 1.2 2022/02/07 02:39:41 pho Exp $
2# 2#
3# Generate the standard Setup.hs script for a given Cabal package. 3# Generate the standard Setup.hs script for a given Cabal package.
4# 4#
5: ${AWK=awk} 5: ${AWK=awk}
6 6
7# Usage: $0 BUILD-TYPE 7# Usage: $0 BUILD-TYPE
8case "$1" in 8case "$1" in
9 simple) 9 simple)
10 echo 'import Distribution.Simple' 10 echo 'import Distribution.Simple'
11 echo 'main = defaultMain' 11 echo 'main = defaultMain'
12 ;; 12 ;;
13 configure) 13 configure)
14 echo 'import Distribution.Simple' 14 echo 'import Distribution.Simple'
15 echo 'main = defaultMainWithHooks autoconfUserHooks' 15 echo 'main = defaultMainWithHooks autoconfUserHooks'
16 ;; 16 ;;
17 make) 17 make)
18 echo 'import Distribution.Make' 18 echo 'import Distribution.Make'
19 echo 'main = defaultMain' 19 echo 'main = defaultMain'
20 ;; 20 ;;
21 *) 21 *)
22 echo >&2 "Unknown Build-Type: $1" 22 echo >&2 "[mk/haskell/gen-setup.sh] Unknown Build-Type: $1"
23 exit 1 23 exit 1
24esac 24esac