summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wright <gienah@gentoo.org>2012-09-13 01:08:58 +0000
committerMark Wright <gienah@gentoo.org>2012-09-13 01:08:58 +0000
commit3bcd471e42285dd6e1e0da8cc5ce63ee7a634cd8 (patch)
treebd6efd430211cfb027cdd18d7dda0b0ee70f6f09 /dev-haskell/missingh
parentThanks to jackhill for reporting, deepseq 1.3.0.0 is a ghc 7.4.2 core lib (diff)
downloadgentoo-2-3bcd471e42285dd6e1e0da8cc5ce63ee7a634cd8.tar.gz
gentoo-2-3bcd471e42285dd6e1e0da8cc5ce63ee7a634cd8.tar.bz2
gentoo-2-3bcd471e42285dd6e1e0da8cc5ce63ee7a634cd8.zip
patch missingh for ghc 7.6.1
(Portage version: 2.1.11.14/cvs/Linux x86_64)
Diffstat (limited to 'dev-haskell/missingh')
-rw-r--r--dev-haskell/missingh/ChangeLog6
-rw-r--r--dev-haskell/missingh/files/missingh-1.1.1.0-ghc-7.6.patch226
-rw-r--r--dev-haskell/missingh/missingh-1.1.1.0.ebuild27
3 files changed, 246 insertions, 13 deletions
diff --git a/dev-haskell/missingh/ChangeLog b/dev-haskell/missingh/ChangeLog
index db31da6174c9..4e175a904337 100644
--- a/dev-haskell/missingh/ChangeLog
+++ b/dev-haskell/missingh/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-haskell/missingh
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-haskell/missingh/ChangeLog,v 1.20 2012/09/12 15:53:32 qnikst Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-haskell/missingh/ChangeLog,v 1.21 2012/09/13 01:08:58 gienah Exp $
+
+ 13 Sep 2012; Mark Wright <gienah@gentoo.org>
+ +files/missingh-1.1.1.0-ghc-7.6.patch, missingh-1.1.1.0.ebuild:
+ patch missingh for ghc 7.6.1
12 Sep 2012; Alexander Vershilov <qnikst@gentoo.org> missingh-1.1.1.0.ebuild:
move dev-haskell/missingh/missingh-1.1.1.0.ebuild ebuild to mirror://hackage
diff --git a/dev-haskell/missingh/files/missingh-1.1.1.0-ghc-7.6.patch b/dev-haskell/missingh/files/missingh-1.1.1.0-ghc-7.6.patch
new file mode 100644
index 000000000000..7d5b3af18fc3
--- /dev/null
+++ b/dev-haskell/missingh/files/missingh-1.1.1.0-ghc-7.6.patch
@@ -0,0 +1,226 @@
+--- MissingH-1.1.1.0-orig/src/Network/Email/Sendmail.hs 2011-09-07 23:57:11.000000000 +1000
++++ MissingH-1.1.1.0/src/Network/Email/Sendmail.hs 2012-09-13 00:55:20.232608257 +1000
+@@ -34,6 +34,7 @@
+ import System.Directory
+ import System.IO
+ import System.IO.Error
++import qualified Control.Exception(try, IOException)
+
+ sendmails :: [String]
+ sendmails = ["/usr/sbin/sendmail",
+@@ -90,10 +91,10 @@
+ in
+ do
+ --pOpen WriteToPipe "/usr/sbin/sendmail" args func
+- rv <- try (pOpen WriteToPipe "sendmail" args func)
++ rv <- Control.Exception.try (pOpen WriteToPipe "sendmail" args func)
+ case rv of
+ Right x -> return x
+- Left _ -> do
++ Left (_ :: Control.Exception.IOException) -> do
+ sn <- findsendmail
+ r <- pOpen WriteToPipe sn args func
+ return $! r
+--- MissingH-1.1.1.0-orig/src/System/Cmd/Utils.hs 2011-09-07 23:57:11.000000000 +1000
++++ MissingH-1.1.1.0/src/System/Cmd/Utils.hs 2012-09-13 00:52:19.943988811 +1000
+@@ -108,6 +108,7 @@
+ import System.IO.Error
+ import Control.Concurrent(forkIO)
+ import Control.Exception(finally)
++import qualified Control.Exception(try, IOException)
+
+ data PipeMode = ReadFromPipe | WriteToPipe
+
+@@ -169,11 +170,11 @@
+ let childstuff = do dupTo (snd pipepair) stdOutput
+ closeFd (fst pipepair)
+ executeFile fp True args Nothing
+- p <- try (forkProcess childstuff)
++ p <- Control.Exception.try (forkProcess childstuff)
+ -- parent
+ pid <- case p of
+ Right x -> return x
+- Left e -> warnFail "pipeFrom" fp args $
++ Left (e :: Control.Exception.IOException) -> warnFail "pipeFrom" fp args $
+ "Error in fork: " ++ show e
+ closeFd (snd pipepair)
+ h <- fdToHandle (fst pipepair)
+@@ -218,11 +219,11 @@
+ let childstuff = do dupTo (fst pipepair) stdInput
+ closeFd (snd pipepair)
+ executeFile fp True args Nothing
+- p <- try (forkProcess childstuff)
++ p <- Control.Exception.try (forkProcess childstuff)
+ -- parent
+ pid <- case p of
+ Right x -> return x
+- Left e -> warnFail "pipeTo" fp args $
++ Left (e :: Control.Exception.IOException) -> warnFail "pipeTo" fp args $
+ "Error in fork: " ++ show e
+ closeFd (fst pipepair)
+ h <- fdToHandle (snd pipepair)
+@@ -274,11 +275,11 @@
+ dupTo (fst topair) stdInput
+ closeFd (snd topair)
+ executeFile fp True args Nothing
+- p <- try (forkProcess childstuff)
++ p <- Control.Exception.try (forkProcess childstuff)
+ -- parent
+ pid <- case p of
+ Right x -> return x
+- Left e -> warnFail "pipeBoth" fp args $
++ Left (e :: Control.Exception.IOException) -> warnFail "pipeBoth" fp args $
+ "Error in fork: " ++ show e
+ closeFd (snd frompair)
+ closeFd (fst topair)
+@@ -546,10 +547,10 @@
+ -}
+ in
+ do
+- p <- try (forkProcess childstuff)
++ p <- Control.Exception.try (forkProcess childstuff)
+ pid <- case p of
+ Right x -> return x
+- Left e -> fail ("Error in fork: " ++ (show e))
++ Left (e :: Control.Exception.IOException) -> fail ("Error in fork: " ++ (show e))
+ return pid
+
+ #endif
+--- MissingH-1.1.1.0-orig/src/Data/MIME/Types.hs 2011-09-07 23:57:11.000000000 +1000
++++ MissingH-1.1.1.0/src/Data/MIME/Types.hs 2012-09-13 00:48:23.464938387 +1000
+@@ -35,6 +35,7 @@
+ where
+
+ import qualified Data.Map as Map
++import qualified Control.Exception (try, IOException)
+ import Control.Monad
+ import System.IO
+ import System.IO.Error
+@@ -189,9 +190,9 @@
+ let tryread :: MIMETypeData -> String -> IO MIMETypeData
+ tryread inputobj filename =
+ do
+- fn <- try (openFile filename ReadMode)
++ fn <- Control.Exception.try (openFile filename ReadMode)
+ case fn of
+- Left _ -> return inputobj
++ Left (_ :: Control.Exception.IOException) -> return inputobj
+ Right h -> do
+ x <- hReadMIMETypes inputobj True h
+ hClose h
+--- MissingH-1.1.1.0-orig/src/System/IO/HVFS.hs 2011-09-07 23:57:11.000000000 +1000
++++ MissingH-1.1.1.0/src/System/IO/HVFS.hs 2012-09-13 00:45:05.981893726 +1000
+@@ -1,4 +1,4 @@
+-{-# LANGUAGE CPP, TypeSynonymInstances #-}
++{-# LANGUAGE CPP, ScopedTypeVariables, TypeSynonymInstances #-}
+ {- arch-tag: HVFS main file
+ Copyright (c) 2004-2011 John Goerzen <jgoerzen@complete.org>
+
+@@ -52,6 +52,7 @@
+ )
+ where
+
++import qualified Control.Exception (catch, IOException)
+ import System.IO.HVIO
+ import System.Time.Utils
+ import System.IO
+@@ -61,6 +62,10 @@
+ import System.Time
+ import System.Directory
+
++#if MIN_VERSION_directory(1,2,0)
++import Data.Time.Clock.POSIX ( utcTimeToPOSIXSeconds )
++#endif
++
+ {- | Encapsulate a 'HVFSStat' result. This is required due to Haskell
+ typing restrictions. You can get at it with:
+
+@@ -209,17 +214,17 @@
+ vSetCurrentDirectory fs _ = eh fs "vSetCurrentDirectory"
+ vGetDirectoryContents fs _ = eh fs "vGetDirectoryContents"
+ vDoesFileExist fs fp =
+- catch (do s <- vGetFileStatus fs fp
+- return $ withStat s vIsRegularFile
+- ) (\_ -> return False)
++ Control.Exception.catch (do s <- vGetFileStatus fs fp
++ return $ withStat s vIsRegularFile
++ ) (\(_ :: Control.Exception.IOException) -> return False)
+ vDoesDirectoryExist fs fp =
+- catch (do s <- vGetFileStatus fs fp
+- return $ withStat s vIsDirectory
+- ) (\_ -> return False)
++ Control.Exception.catch (do s <- vGetFileStatus fs fp
++ return $ withStat s vIsDirectory
++ ) (\(_ :: Control.Exception.IOException) -> return False)
+ vDoesExist fs fp =
+- catch (do s <- vGetSymbolicLinkStatus fs fp
+- return True
+- ) (\_ -> return False)
++ Control.Exception.catch (do s <- vGetSymbolicLinkStatus fs fp
++ return True
++ ) (\(_ :: Control.Exception.IOException) -> return False)
+ vCreateDirectory fs _ = eh fs "vCreateDirectory"
+ vRemoveDirectory fs _ = eh fs "vRemoveDirectory"
+ vRemoveFile fs _ = eh fs "vRemoveFile"
+@@ -304,7 +309,11 @@
+ vGetSymbolicLinkStatus = vGetFileStatus
+ #endif
+
++#if MIN_VERSION_directory(1,2,0)
++ vGetModificationTime _ p = getModificationTime p >>= (\modUTCTime -> return $ TOD ((toEnum . fromEnum . utcTimeToPOSIXSeconds) modUTCTime) 0)
++#else
+ vGetModificationTime _ = getModificationTime
++#endif
+ #if !(defined(mingw32_HOST_OS) || defined(mingw32_TARGET_OS) || defined(__MINGW32__))
+ vCreateSymbolicLink _ = createSymbolicLink
+ vReadSymbolicLink _ = readSymbolicLink
+--- MissingH-1.1.1.0-orig/MissingH.cabal 2011-09-07 23:57:11.000000000 +1000
++++ MissingH-1.1.1.0/MissingH.cabal 2012-09-13 00:35:01.354498119 +1000
+@@ -94,7 +94,7 @@
+ hslogger
+ If flag(splitBase)
+ Build-Depends: base >= 4, base < 5, directory, random, process, old-time,
+- containers, old-locale, array
++ containers, old-locale, array, time
+ Else
+ Build-Depends: base < 3
+ If ! os(windows)
+--- MissingH-1.1.1.0-orig/src/System/IO/HVIO.hs 2011-09-07 23:57:11.000000000 +1000
++++ MissingH-1.1.1.0/src/System/IO/HVIO.hs 2012-09-13 00:24:01.570794002 +1000
+@@ -121,6 +121,7 @@
+
+ import System.IO
+ import System.IO.Error
++import qualified Control.Exception (catch, IOException)
+ import Control.Concurrent.MVar
+ import Data.IORef
+ import Foreign.Ptr
+@@ -287,7 +288,7 @@
+ x -> accum `seq` loop (accum ++ [x])
+ handler e = if isEOFError e then return accum
+ else ioError e
+- in catch func handler
++ in Control.Exception.catch func handler
+ in
+ do firstchar <- vGetChar h
+ case firstchar of
+@@ -301,7 +302,7 @@
+ c `seq` return (c : next)
+ handler e = if isEOFError e then return []
+ else ioError e
+- in catch func handler
++ in Control.Exception.catch func handler
+ in
+ do loop
+
+--- MissingH-1.1.1.0-orig/src/Data/Bits/Utils.hs 2011-09-07 23:57:11.000000000 +1000
++++ MissingH-1.1.1.0/src/Data/Bits/Utils.hs 2012-09-13 00:22:07.831925713 +1000
+@@ -48,7 +48,7 @@
+
+ -}
+
+-fromBytes :: (Bits a) => [a] -> a
++fromBytes :: (Bits a, Num a) => [a] -> a
+ fromBytes input =
+ let dofb accum [] = accum
+ dofb accum (x:xs) = dofb ((shiftL accum 8) .|. x) xs
diff --git a/dev-haskell/missingh/missingh-1.1.1.0.ebuild b/dev-haskell/missingh/missingh-1.1.1.0.ebuild
index 99faab31e82f..00bbf272dc60 100644
--- a/dev-haskell/missingh/missingh-1.1.1.0.ebuild
+++ b/dev-haskell/missingh/missingh-1.1.1.0.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-haskell/missingh/missingh-1.1.1.0.ebuild,v 1.4 2012/09/12 15:53:32 qnikst Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-haskell/missingh/missingh-1.1.1.0.ebuild,v 1.5 2012/09/13 01:08:58 gienah Exp $
-EAPI="3"
+EAPI=4
CABAL_FEATURES="bin lib profile haddock hscolour hoogle"
-inherit eutils haskell-cabal
+inherit base eutils haskell-cabal
MY_PN="MissingH"
MY_P="${MY_PN}-${PV}"
@@ -22,25 +22,28 @@ IUSE="test"
# testpack dependency is a workaround for cabal-1.8 bug, which pulls
# depends even for 'Buildable: false' target
RDEPEND=">=dev-lang/ghc-6.10
- dev-haskell/hslogger
- dev-haskell/hunit
- dev-haskell/mtl
- dev-haskell/network
- dev-haskell/parsec
- dev-haskell/regex-compat"
+ dev-haskell/hslogger[profile?]
+ dev-haskell/hunit[profile?]
+ dev-haskell/mtl[profile?]
+ dev-haskell/network[profile?]
+ dev-haskell/parsec[profile?]
+ dev-haskell/regex-compat"[profile?]
DEPEND=">=dev-haskell/cabal-1.2.3
virtual/libiconv
${RDEPEND}
- test? ( dev-haskell/testpack
- dev-haskell/quickcheck:1
- dev-haskell/hunit )"
+ test? ( dev-haskell/testpack[profile?]
+ dev-haskell/quickcheck:1[profile?]
+ dev-haskell/hunit[profile?] )"
# libiconv is needed for the trick below to make it compile with ghc-6.12
S="${WORKDIR}/${MY_P}"
+PATCHES=("${FILESDIR}/${PN}-1.1.1.0-ghc-7.6.patch")
+
src_prepare() {
+ base_src_prepare
# (non-ASCII non-UTF-8 source breaks hscolour)
cd src/System/Time
mv ParseDate.hs ParseDate.hs.ISO-8859-1