summaryrefslogtreecommitdiff
path: root/devel/hs-darcs
diff options
context:
space:
mode:
authorVolker Stolz <vs@FreeBSD.org>2007-01-22 08:05:31 +0000
committerVolker Stolz <vs@FreeBSD.org>2007-01-22 08:05:31 +0000
commit1b4b19deae3d8ac8206cd8f5808cbf1719b66821 (patch)
treedd7b0a3d6b285d7d47e872b45aee191e64f57dcb /devel/hs-darcs
parentThis module provides a Perl interface that allows writing bzip2 (diff)
Fix build of 'darcs' with new GHC 6.6 by pulling in some patches from upstream
(no functional changes)
Notes
Notes: svn path=/head/; revision=182954
Diffstat (limited to 'devel/hs-darcs')
-rw-r--r--devel/hs-darcs/Makefile2
-rw-r--r--devel/hs-darcs/files/patch-Lcs.lhs56
-rw-r--r--devel/hs-darcs/files/patch-configure.ac.diff48
3 files changed, 106 insertions, 0 deletions
diff --git a/devel/hs-darcs/Makefile b/devel/hs-darcs/Makefile
index b9827ec2c300..93afe2afe14f 100644
--- a/devel/hs-darcs/Makefile
+++ b/devel/hs-darcs/Makefile
@@ -19,6 +19,7 @@ LIB_DEPENDS= curl:${PORTSDIR}/ftp/curl \
gmp.7:${PORTSDIR}/math/libgmp4
OPTIONS= SERVER "install server" off
+USE_AUTOTOOLS= autoconf:259
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \
LDFLAGS="-L${LOCALBASE}/lib -L${PREFIX}/lib/ ${PTHREAD_LIBS}" \
@@ -50,6 +51,7 @@ INSTALL_TARGET+= installdocs
MAN1= darcs.1
post-patch:
+ @${RM} ${WRKSRC}/configure
.if defined(WITH_SERVER)
@${REINPLACE_CMD} -e 's|$$(libexecdir)/cgi-bin|${PREFIX}/${CGIDIR}| ; \
s|darcs/cgi.conf|cgi.conf.sample| ; /ln/d' \
diff --git a/devel/hs-darcs/files/patch-Lcs.lhs b/devel/hs-darcs/files/patch-Lcs.lhs
new file mode 100644
index 000000000000..aa7279e36b2f
--- /dev/null
+++ b/devel/hs-darcs/files/patch-Lcs.lhs
@@ -0,0 +1,56 @@
+Tue Aug 15 19:41:27 EDT 2006 Esa Ilari Vuokko <ei@vuokko.info>
+ * Workaround for HasBounds that was removed in base-2.0 (GHC 6.6)
+diff -rN -u old-hsdarcs/Lcs.lhs new-hsdarcs-1/Lcs.lhs
+--- Lcs.lhs 2007-01-22 01:20:24.000000000 -0500
++++ Lcs.lhs 2007-01-22 01:20:25.000000000 -0500
+@@ -358,7 +358,8 @@
+ -- | goto next unchanged line, return the given line if unchanged
+ nextUnchanged :: BSTArray s -> Int -> ST s Int
+ nextUnchanged c i = do
+- if i == (aLen c) + 1 then return i
++ len <- aLenM c
++ if i == len + 1 then return i
+ else do b <- readArray c i
+ if b then nextUnchanged c (i+1)
+ else return i
+@@ -367,7 +368,8 @@
+ -- behind the last line
+ skipOneUnChanged :: BSTArray s -> Int -> ST s Int
+ skipOneUnChanged c i = do
+- if i == (aLen c) + 1 then return i
++ len <- aLenM c
++ if i == len + 1 then return i
+ else do b <- readArray c i
+ if not b then return (i+1)
+ else skipOneUnChanged c (i+1)
+@@ -381,8 +383,9 @@
+
+ -- | goto next changed line, return the given line if changed
+ nextChanged :: BSTArray s -> Int -> ST s (Maybe Int)
+-nextChanged c i =
+- if i <= aLen c
++nextChanged c i = do
++ len <- aLenM c
++ if i <= len
+ then do b <- readArray c i
+ if not b then nextChanged c (i+1)
+ else return $ Just i
+@@ -430,8 +433,17 @@
+ initP :: [PackedString] -> PArray
+ initP a = listArray (0, length a) (nilPS:a)
+
++#if __GLASGOW_HASKELL__ > 604
++aLen :: (IArray a e) => a Int e -> Int
++aLen a = snd $ bounds a
++aLenM :: (MArray a e m) => a Int e -> m Int
++aLenM a = getBounds a >>= return . snd
++#else
+ aLen :: HasBounds a => a Int e -> Int
+ aLen a = snd $ bounds a
++aLenM :: (HasBounds a, Monad m) => a Int e -> m Int
++aLenM = return . snd . bounds
++#endif
+ \end{code}
+
+ \begin{code}
+
diff --git a/devel/hs-darcs/files/patch-configure.ac.diff b/devel/hs-darcs/files/patch-configure.ac.diff
new file mode 100644
index 000000000000..290b26459a46
--- /dev/null
+++ b/devel/hs-darcs/files/patch-configure.ac.diff
@@ -0,0 +1,48 @@
+Wed Oct 4 08:31:58 EDT 2006 Josef Svenningsson <josef.svenningsson@gmail.com>
+ * Look for Text.Regex in package regex-compat. Needed for GHC 6.6
+diff -rN -u old-hsdarcs/configure.ac new-hsdarcs-1/configure.ac
+--- configure.ac 2007-01-22 02:16:07.000000000 -0500
++++ configure.ac 2007-01-22 02:16:08.000000000 -0500
+@@ -110,6 +110,7 @@
+ dnl Look for Text.Regex
+
+ GHC_CHECK_MODULE(Text.Regex( mkRegex, matchRegex, Regex ), text, mkRegex undefined)
++GHC_CHECK_MODULE(Text.Regex( mkRegex, matchRegex, Regex ), regex-compat, mkRegex undefined)
+
+ dnl See if we need a package for QuickCheck
+
+
+Tue Aug 15 19:57:14 EDT 2006 Esa Ilari Vuokko <ei@vuokko.info>
+ * Link to relevant symbol when checking for Control.Monad.Error
+diff -rN -u old-hsdarcs/configure.ac new-hsdarcs-1/configure.ac
+--- configure.ac 2007-01-22 02:26:47.000000000 -0500
++++ configure.ac 2007-01-22 02:26:49.000000000 -0500
+@@ -117,8 +117,8 @@
+
+ dnl See if we need the util or mtl packages for Control.Monad
+
+-GHC_CHECK_MODULE(Control.Monad.Error, util, putStr undefined)
+-GHC_CHECK_MODULE(Control.Monad.Error, mtl, putStr undefined)
++GHC_CHECK_MODULE(Control.Monad.Error, util, strMsg "foo" :: String)
++GHC_CHECK_MODULE(Control.Monad.Error, mtl, strMsg "foo" :: String)
+
+ dnl See if we need a package for parsec...
+
+
+Tue Aug 15 19:57:39 EDT 2006 Esa Ilari Vuokko <ei@vuokko.info>
+ * Check for module Text.Html in package html
+diff -rN -u old-hsdarcs/configure.ac new-hsdarcs-1/configure.ac
+--- configure.ac 2007-01-22 02:25:55.000000000 -0500
++++ configure.ac 2007-01-22 02:25:57.000000000 -0500
+@@ -124,6 +124,10 @@
+
+ GHC_CHECK_MODULE(Text.ParserCombinators.Parsec, parsec, errorPos undefined)
+
++dnl Check if we need package html
++
++GHC_CHECK_MODULE(Text.Html, html, text "foo")
++
+ dnl Deal with systems on which getCurrentDirectory uses '\\' rather than '/':
+
+ WORKAROUND_getCurrentDirectory
+