Bump happstack-server to 7.4.2, patch for ghc 7.10.1
authorMark Wright <gienah@gentoo.org>
Sat, 4 Apr 2015 05:34:30 +0000 (05:34 +0000)
committerMark Wright <gienah@gentoo.org>
Sat, 4 Apr 2015 05:34:30 +0000 (05:34 +0000)
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Manifest-Sign-Key: 0x618E971F

dev-haskell/happstack-server/ChangeLog
dev-haskell/happstack-server/Manifest
dev-haskell/happstack-server/files/happstack-server-7.4.2-ghc-7.10.patch [new file with mode: 0644]
dev-haskell/happstack-server/files/happstack-server-7.4.2-time-1.5.patch [new file with mode: 0644]
dev-haskell/happstack-server/happstack-server-7.4.2.ebuild [new file with mode: 0644]

index 9635fbcd873f23388c7beb6fe54cf705de8afc6a..0fca2b3e374d2297d19c6547c92c9a269a247fb7 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for dev-haskell/happstack-server
-# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-haskell/happstack-server/ChangeLog,v 1.5 2014/12/14 09:22:06 gienah Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-haskell/happstack-server/ChangeLog,v 1.6 2015/04/04 05:34:22 gienah Exp $
+
+*happstack-server-7.4.2 (04 Apr 2015)
+
+  04 Apr 2015; Mark Wright <gienah@gentoo.org>
+  +files/happstack-server-7.4.2-ghc-7.10.patch,
+  +files/happstack-server-7.4.2-time-1.5.patch, +happstack-server-7.4.2.ebuild:
+  Bump happstack-server to 7.4.2, patch for ghc 7.10.1
 
 *happstack-server-7.3.9 (14 Dec 2014)
 
index 8b0a290b717c50cdf6cbfab909f7c9d1563c9516..165b82c5e7763abfa05a085888558e17b5b8f0f4 100644 (file)
@@ -1,18 +1,22 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
+AUX happstack-server-7.4.2-ghc-7.10.patch 2381 SHA256 e254539ad7cc63740d35264d9b94523c8f27b8801805e4042c502b4fbd297b76 SHA512 d90b21adb3d452eb04b3f3ca3dee019693c217f8420aaf3882fd5f68c284c834fdc7173dd1a7cfc0df6d3457fa456f4fb68cce849c4846f3ac929daed865f467 WHIRLPOOL fd8c21d3857479e47ba2e86e1f273a93b27feebe0d1921fc062c1ca8f1d2d445777d0178377badb08d12946701b24e6c221c4dd6e88b4903ff4fe587d045f0c8
+AUX happstack-server-7.4.2-time-1.5.patch 9496 SHA256 8f5c2e36783a25ac481fabc33e6897eb56c869c62104a5ada29d0d0edaff0209 SHA512 dae14e5bbb48f53ecc46a0247749e7e4ef478338ed6d4ac978a06041a39f8baafc69d3254882756e33a4450d1f11e72f690088097d02d2e393dba56962815640 WHIRLPOOL 8f0c4425912860beb04591cf0629bc50d04ba6dfdf3bd8e0d2060bac88b56c3ecf28874a259058884e18710c1cdcfcb9402f41bdbf72647775917076f040e386
 DIST happstack-server-7.1.7.1.tar.gz 78293 SHA256 e2fc2bf7a78a25c3a24f965972cd78ffa8c66755b54249ac34d0590fb63a09e1 SHA512 d43c22421e3468fc5fd9e943088db9df3ca394dd964aaa1b9caba998a1e94923956912cdf46fd17cc99969f03097d24b5426f83dbec58585b366478ff46dd5b4 WHIRLPOOL d817147775f02ca990a770416292f00b7bd48beb5ca126f4004bfe19638b3e0af5c5203ded63e49fb79ad8b52b577f14968e2bcb402c2492463c81cbb9b2584c
 DIST happstack-server-7.3.1.tar.gz 78692 SHA256 04e7bf14680c67118c27b7332b46e2062567ca806ac54e8b3cff22e63df5647a SHA512 f25c916554998399ee96547ca7022d6f90fe2f3d66d8aa25f7f5ca8086c62cf98d6f4f8703d6241ee3dcb473044ad679894c9eec6c29b87963f59843180412e1 WHIRLPOOL 97a985708f5b0dfd113ec0d00d7d1b8151235bc1a77a394dd0b91df9e03599b366b419920f291b8284902ab371dc580556632c50e18244a2519a4b11145a8488
 DIST happstack-server-7.3.9.tar.gz 79473 SHA256 9fb66700374db5455853db778c086549345150c7e7fb5e60f09e16deeb145a82 SHA512 3bbfa96e17d5e452604c81f1322a3dbec9a44eae76c448e6a79843c05a079c5d081d58a7d126d8bd2957d774899b6678eeadc17fa161f58046296299b1a1c7a2 WHIRLPOOL e6e4bef2d5926513c9b6f25aa1fecce75215cc5cf65ee95dde5ec44e1292345ca93cc556e9b3f64559e7533f81d80861512a8acff54264fc5e3ec5177ce0a59a
+DIST happstack-server-7.4.2.tar.gz 79838 SHA256 2fbb9b29ac6c3c70919aedd64982793c1d13e5dafbdfac155360c307e2609d3b SHA512 e6d3795503b089f23de745628715d016d54ad6222f14ca6a5226d572b56a60c03cfb37e8898d8afc3283ddc60aabe637ae646ee97657a45f72a5bd719cab90e7 WHIRLPOOL ded751a2ab4bf4fbbe57f76cb4b1806379f963a7d25576be55f1823ac93ca141f5b0c425798f71f690aae23291f8d8245a7f95e2595a2ce79bf442874b6c67b8
 EBUILD happstack-server-7.1.7.1.ebuild 1894 SHA256 f2f78793ce5c511e74ed3e7bada1351e73caf1fc7272d798ad2ee208072ad7e9 SHA512 ff32d9b6567f8b1725d16278a4cabbb1d00e59eab1ce0cf2d260091d526b988bb7503406c0cd75a393571d77991d046be3e8781041fa635ad8e182d3889c4772 WHIRLPOOL 003b210b3328d2b878854f480751f7f549f4077471e3e7b1fbf444ae24473612df31d6f3f65a7caaf69d00f255f05d7801fa4225e4bbb6a1aecb3b1ba0863398
 EBUILD happstack-server-7.3.1.ebuild 1983 SHA256 93f7281d14a81e6c210c13008ede00561e37a55f758e479cd729221541a494f3 SHA512 306ea99942eff84204a000b31184a18f86e404311a4dcf61a623d806c629cacc87f3f739ef6bec604caef03408041ea3ad30e2e49e549a4107b23f2e659db536 WHIRLPOOL 10c83653e8b708d62a96e1c6138dc911675af9446f46d64e5c4ee428ade594483a806c4e690fe189b820b93e0b0053cb3a10743da352f763876af0f8e9b0b774
 EBUILD happstack-server-7.3.9.ebuild 2283 SHA256 8685a6ed8a011b84c94aba91dde53542b7101b958d5b7c673511a60bccbab5ba SHA512 7d6a2730069f00b8ca3270287c586a78a20fd1e289b8ab58768bee3e73b46cf246b1361ff2c428ae2f3e110f6740ec8b2c1e73511c8ccb46b41107446a8c4e2a WHIRLPOOL 270a25604ff4d027e61a2df03b8b43524ce9c4f3a5249c7b1730da7a7feb54b59f2603aceee2ca4f67c958c980086dc2a4c32cbac4c7ac3e3d57ea9f0de49e5d
-MISC ChangeLog 1029 SHA256 6387ae631680ee107b2f7d2af1332222f8b4f562ccb07fd1902d47346896b4a4 SHA512 382e0e7526080a51dd8f57eed68702f99ff477861febcba8af7b3c9412a6cf3340d32afd88c3b606631b117a438a00bfb53533d1492c41c631db2fdcae250844 WHIRLPOOL 105d2dea24d3775f41b65283512552f7d96c8bdfce7e1bd6414a06336247f38e30111183321999cf48e488dff232f925ed9f0250b81427201268a227660cb2a6
+EBUILD happstack-server-7.4.2.ebuild 2555 SHA256 ca694220b50a510263dd8cdc0feaf9d14d99f374f2c8d3aa2c8cd4b5822aa8b0 SHA512 3703365843cafab0e98848e4583db56e552c43d2253af9b86dcda41515a23b49268c534cb349c7715fd8e5301e7ad1c6e508c937aaec0f47a82c38421320900d WHIRLPOOL 13127e5a5c68f622af8d162b587eb0493202befddafece0e71f885c9cb2dbef9d9b1e2d43c9f3d8fffdc3f7b728546df849b19b83aba06ef7d9209b07840f168
+MISC ChangeLog 1299 SHA256 7bcfe62d8e207eb355e04cf9d82d669117b0405c03f47d1e47ba91e5b50487da SHA512 637f3a8a7284abc972c749d54699b35c3f618a127debe96b8567a6f9df95079ecbd7edb33477db4d95c72baab9de4fab7dadbda4a1dc11c33b550065ee2faa0e WHIRLPOOL 9d4d467feaf278221e233e031ae3bed822e962b02579fdd03e3186049e3d4d9cb5cb9b0bf345af5578e8d546b1801614eab7808be13d4683886e07b63cda5b27
 MISC metadata.xml 695 SHA256 91604079fc9bbbb97e305f74c816c0a7deebc2d3b99b0a5905fa173b79a96e02 SHA512 6879711b980082d14e4f0616f324b7527cbd055cb2cb7fef118b4af11a8eae798187c94314847f56f4eade6dacdb3fbd0f035537ed4668999533c795cb50b142 WHIRLPOOL c40f6ae29ab39c8fdb2709d8b96c1391d1a3329cf5a5dbfb2508e3c05073d274a9ea7fa966aefa35cc2512725fdac592b2d3c7a5d0ad02f58492806cd8517b22
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iF4EAREIAAYFAlSNVsQACgkQoBEVQmGOlx8WIQD/azwcn/yHW3rFypOlr7568DjA
-LuDrwCoefHqMzYfb5J4BAJ5ZfshHarXw0Vse39Gc5e3kmkWNDwKKIWOtHiRT28Sz
-=RID/
+iF4EAREIAAYFAlUfd+QACgkQoBEVQmGOlx+tPwEAqpFKREc+v7SJx3gtyem2t4zX
+HZ5fRrf8jaROzljoNkYBAL4t9pvXGqSkFuCdE237BwD24Ga/Khtqh+nzwiLFHJqw
+=H7pw
 -----END PGP SIGNATURE-----
diff --git a/dev-haskell/happstack-server/files/happstack-server-7.4.2-ghc-7.10.patch b/dev-haskell/happstack-server/files/happstack-server-7.4.2-ghc-7.10.patch
new file mode 100644 (file)
index 0000000..42d95ff
--- /dev/null
@@ -0,0 +1,58 @@
+--- happstack-server-7.4.2-orig/src/Happstack/Server/Internal/Monads.hs        2015-03-24 03:34:11.000000000 +1100
++++ happstack-server-7.4.2/src/Happstack/Server/Internal/Monads.hs     2015-04-04 15:20:58.273008986 +1100
+@@ -173,7 +173,7 @@
+ instance MonadTrans (ServerPartT) where
+     lift m = withRequest (\_ -> lift m)
+ 
+-instance (Monad m) => Monoid (ServerPartT m a) where
++instance (Monad m, MonadPlus m) => Monoid (ServerPartT m a) where
+     mempty  = mzero
+     mappend = mplus
+ 
+@@ -486,7 +486,7 @@
+ instance MonadTrans WebT where
+     lift = WebT . lift . lift . lift
+ 
+-instance (Monad m) => MonadPlus (WebT m) where
++instance (Monad m, MonadPlus m) => MonadPlus (WebT m) where
+     -- | Aborts a computation.
+     --
+     -- This is primarily useful because 'msum' will take an array of
+@@ -505,7 +505,7 @@
+           lft (Left  r, _) = Left r
+           lft (Right a, f) = Right (a, f)
+ 
+-instance (Monad m) => Monoid (WebT m a) where
++instance (Monad m, MonadPlus m) => Monoid (WebT m a) where
+     mempty = mzero
+     mappend = mplus
+ 
+@@ -561,7 +561,7 @@
+               liftWebT (Just (Right x,f)) = pass (return x)>>= (\a -> return $ Just (Right a,f))
+ 
+ -- | Deprecated: use 'msum'.
+-multi :: Monad m => [ServerPartT m a] -> ServerPartT m a
++multi :: (Monad m, MonadPlus m) => [ServerPartT m a] -> ServerPartT m a
+ multi = msum
+ {-# DEPRECATED multi "Use msum instead" #-}
+ 
+--- happstack-server-7.4.2-orig/src/Happstack/Server/RqData.hs 2015-03-24 03:34:11.000000000 +1100
++++ happstack-server-7.4.2/src/Happstack/Server/RqData.hs      2015-04-04 15:25:15.454830906 +1100
+@@ -92,7 +92,7 @@
+ newtype ReaderError r e a = ReaderError { unReaderError :: ReaderT r (Either e) a }
+     deriving (Functor, Monad, MonadPlus)
+ 
+-instance (Error e) => MonadReader r (ReaderError r e) where
++instance (Error e, Monoid e) => MonadReader r (ReaderError r e) where
+     ask = ReaderError ask
+     local f m = ReaderError $ local f (unReaderError m)
+ 
+@@ -157,7 +157,7 @@
+     rqDataError e = mapRqData ((Left e) `apEither`) (return ())
+ 
+ -- instance (MonadPlus m, MonadIO m, ServerMonad m) => (HasRqData m) where
+-instance (MonadIO m) => HasRqData (ServerPartT m) where
++instance (MonadIO m, MonadPlus m) => HasRqData (ServerPartT m) where
+     askRqEnv =
+         do rq  <- askRq
+            mbi <- liftIO $ if ((rqMethod rq == POST) || (rqMethod rq == PUT)) && (isDecodable (ctype rq))
diff --git a/dev-haskell/happstack-server/files/happstack-server-7.4.2-time-1.5.patch b/dev-haskell/happstack-server/files/happstack-server-7.4.2-time-1.5.patch
new file mode 100644 (file)
index 0000000..a536ba0
--- /dev/null
@@ -0,0 +1,225 @@
+commit 65b7c1c907cc7a60b088ff8de43edd1e1f1d5165
+Author: Tenor Biel <tenorbiel@gmail.com>
+Date:   Mon Mar 30 02:46:58 2015 -0500
+
+    add version handlers for time-1.5.* and time-1.4.*
+
+diff --git a/src/Happstack/Server/FileServe/BuildingBlocks.hs b/src/Happstack/Server/FileServe/BuildingBlocks.hs
+index eda3727..9650305 100644
+--- a/src/Happstack/Server/FileServe/BuildingBlocks.hs
++++ b/src/Happstack/Server/FileServe/BuildingBlocks.hs
+@@ -65,7 +65,6 @@ import Data.List                    (sort)
+ import Data.Maybe                   (fromMaybe)
+ import           Data.Map           (Map)
+ import qualified Data.Map           as Map
+-import Data.Time                    (UTCTime, formatTime)
+ import Data.Time.Compat             (toUTCTime)
+ import Filesystem.Path.CurrentOS    (commonPrefix, encodeString, decodeString, collapse, append)
+ import Happstack.Server.Monads      (ServerMonad(askRq), FilterMonad, WebMonad)
+@@ -74,12 +73,18 @@ import Happstack.Server.Types       (Length(ContentLength), Request(rqPaths, rqU
+ import System.Directory             (doesDirectoryExist, doesFileExist, getDirectoryContents, getModificationTime)
+ import System.FilePath              ((</>), addTrailingPathSeparator, hasDrive, isPathSeparator, joinPath, takeExtension, isValid)
+ import System.IO                    (IOMode(ReadMode), hFileSize, hClose, openBinaryFile, withBinaryFile)
+-import System.Locale                (defaultTimeLocale)
+ import System.Log.Logger            (Priority(DEBUG), logM)
+ import           Text.Blaze.Html             ((!))
+ import qualified Text.Blaze.Html5            as H
+ import qualified Text.Blaze.Html5.Attributes as A
+ 
++#if MIN_VERSION_time(1,5,0)
++import Data.Time     (UTCTime, formatTime, defaultTimeLocale)
++#else
++import System.Locale (defaultTimeLocale)
++import Data.Time     (UTCTime, formatTime)
++#endif
++
+ -- * Mime-Type / Content-Type
+ 
+ -- |a 'Map' from file extensions to content-types
+diff --git a/src/Happstack/Server/Internal/Clock.hs b/src/Happstack/Server/Internal/Clock.hs
+index 6a16b9b..7d58877 100644
+--- a/src/Happstack/Server/Internal/Clock.hs
++++ b/src/Happstack/Server/Internal/Clock.hs
+@@ -12,9 +12,14 @@ import Control.Monad
+ import Data.IORef
+ import Data.Time.Clock       (UTCTime)
+ import Data.Time.Clock.POSIX (POSIXTime, getPOSIXTime, posixSecondsToUTCTime)
+-import Data.Time.Format      (formatTime)
+ import System.IO.Unsafe
+-import System.Locale
++
++#if MIN_VERSION_time(1,5,0)
++import Data.Time.Format (formatTime, defaultTimeLocale)
++#else
++import Data.Time.Format (formatTime)
++import System.Locale    (defaultTimeLocale)
++#endif
+ 
+ import qualified Data.ByteString.Char8 as B
+ 
+@@ -57,4 +62,4 @@ getApproximatePOSIXTime :: IO POSIXTime
+ getApproximatePOSIXTime = readIORef (cachedPOSIXTime clock)
+ 
+ getApproximateUTCTime :: IO UTCTime
+-getApproximateUTCTime = posixSecondsToUTCTime <$> getApproximatePOSIXTime
+\ No newline at end of file
++getApproximateUTCTime = posixSecondsToUTCTime <$> getApproximatePOSIXTime
+diff --git a/src/Happstack/Server/Internal/Cookie.hs b/src/Happstack/Server/Internal/Cookie.hs
+index b65edbd..ea76345 100644
+--- a/src/Happstack/Server/Internal/Cookie.hs
++++ b/src/Happstack/Server/Internal/Cookie.hs
+@@ -23,10 +23,15 @@ import Data.Data             (Data, Typeable)
+ import Data.List             ((\\), intersperse)
+ import Data.Time.Clock       (UTCTime, addUTCTime, diffUTCTime)
+ import Data.Time.Clock.POSIX (posixSecondsToUTCTime)
+-import Data.Time.Format      (formatTime)
+ import Happstack.Server.Internal.Clock (getApproximateUTCTime)
+ import Text.ParserCombinators.Parsec hiding (token)
+-import System.Locale         (defaultTimeLocale)
++
++#if MIN_VERSION_time(1,5,0)
++import Data.Time.Format (formatTime, defaultTimeLocale)
++#else
++import Data.Time.Format (formatTime)
++import System.Locale    (defaultTimeLocale)
++#endif
+ 
+ -- | a type for HTTP cookies. Usually created using 'mkCookie'.
+ data Cookie = Cookie
+diff --git a/src/Happstack/Server/Internal/LogFormat.hs b/src/Happstack/Server/Internal/LogFormat.hs
+index 5561940..c85ff81 100644
+--- a/src/Happstack/Server/Internal/LogFormat.hs
++++ b/src/Happstack/Server/Internal/LogFormat.hs
+@@ -3,8 +3,12 @@ module Happstack.Server.Internal.LogFormat
+   , formatRequestCombined
+   ) where
+ 
+-import System.Locale (defaultTimeLocale)
++#if MIN_VERSION_time(1,5,0)
++import Data.Time.Format (FormatTime(..), formatTime, defaultTimeLocale)
++#else
+ import Data.Time.Format (FormatTime(..), formatTime)
++import System.Locale    (defaultTimeLocale)
++#endif
+ 
+ -- | Format the time as describe in the Apache combined log format.
+ --   http://httpd.apache.org/docs/2.2/logs.html#combined
+diff --git a/src/Happstack/Server/Response.hs b/src/Happstack/Server/Response.hs
+index 7ae52b3..23f61b0 100644
+--- a/src/Happstack/Server/Response.hs
++++ b/src/Happstack/Server/Response.hs
+@@ -1,6 +1,6 @@
+ {-# LANGUAGE FlexibleContexts, FlexibleInstances, TypeSynonymInstances, ScopedTypeVariables #-}
+ -- | Functions and classes related to generating a 'Response' and setting the response code. For detailed instruction see the Happstack Crash Course: <http://happstack.com/docs/crashcourse/HelloWorld.html#response_code>
+-module Happstack.Server.Response 
++module Happstack.Server.Response
+     ( -- * Converting values to a 'Response'
+       ToMessage(..)
+     , flatten
+@@ -34,24 +34,29 @@ import qualified Data.Text                       as T
+ import qualified Data.Text.Encoding              as T
+ import qualified Data.Text.Lazy                  as LT
+ import qualified Data.Text.Lazy.Encoding         as LT
+-import           Data.Time                       (UTCTime, formatTime)
+ import           Happstack.Server.Internal.Monads         (FilterMonad(composeFilter))
+ import           Happstack.Server.Types          (Response(..), Request(..), nullRsFlags, getHeader, noContentLength, redirect, result, setHeader, setHeaderBS)
+ import           Happstack.Server.SURI           (ToSURI)
+-import           System.Locale                   (defaultTimeLocale)
+ import qualified Text.Blaze.Html                 as Blaze
+ import qualified Text.Blaze.Html.Renderer.Utf8   as Blaze
+ import           Text.Html                       (Html, renderHtml)
+ import qualified Text.XHtml                      as XHtml (Html, renderHtml)
+ 
++#if MIN_VERSION_time(1,5,0)
++import Data.Time     (UTCTime, formatTime, defaultTimeLocale)
++#else
++import Data.Time     (UTCTime, formatTime)
++import System.Locale (defaultTimeLocale)
++#endif
++
+ -- | A low-level function to build a 'Response' from a content-type
+ -- and a 'ByteString'.
+ --
+ -- Creates a 'Response' in a manner similar to the 'ToMessage' class,
+ -- but without requiring an instance declaration.
+--- 
++--
+ -- example:
+--- 
++--
+ -- > import Data.ByteString.Char8 as C
+ -- > import Data.ByteString.Lazy.Char8 as L
+ -- > import Happstack.Server
+@@ -85,7 +90,7 @@ toResponseBS contentType message =
+ --
+ -- > main = serve Nothing $ toResponse "hello, world!"
+ --
+--- Minimal definition: 'toMessage' (and usually 'toContentType'). 
++-- Minimal definition: 'toMessage' (and usually 'toContentType').
+ class ToMessage a where
+     toContentType :: a -> B.ByteString
+     toContentType _ = B.pack "text/plain"
+@@ -194,31 +199,31 @@ modifyResponse = composeFilter
+ --
+ -- A filter for setting the response code. Generally you will use a
+ -- helper function like 'ok' or 'seeOther'.
+--- 
++--
+ -- > main = simpleHTTP nullConf $ do setResponseCode 200
+ -- >                                 return "Everything is OK"
+--- 
++--
+ -- see also: 'resp'
+-setResponseCode :: FilterMonad Response m => 
++setResponseCode :: FilterMonad Response m =>
+                    Int -- ^ response code
+                 -> m ()
+ setResponseCode code
+     = composeFilter $ \r -> r{rsCode = code}
+ 
+ -- | Same as @'setResponseCode' status >> return val@.
+--- 
++--
+ -- Use this if you want to set a response code that does not already
+--- have a helper function. 
+--- 
++-- have a helper function.
++--
+ -- > main = simpleHTTP nullConf $ resp 200 "Everything is OK"
+-resp :: (FilterMonad Response m) => 
++resp :: (FilterMonad Response m) =>
+         Int -- ^ response code
+      -> b   -- ^ value to return
+      -> m b
+ resp status val = setResponseCode status >> return val
+ 
+ -- | Respond with @200 OK@.
+--- 
++--
+ -- > main = simpleHTTP nullConf $ ok "Everything is OK"
+ ok :: (FilterMonad Response m) => a -> m a
+ ok = resp 200
+@@ -239,7 +244,7 @@ movedPermanently uri res = do modifyResponse $ redirect 301 uri
+                               return res
+ 
+ -- | Respond with @302 Found@.
+--- 
++--
+ -- You probably want 'seeOther'. This method is not in popular use anymore, and is generally treated like 303 by most user-agents anyway.
+ found :: (FilterMonad Response m, ToSURI uri) => uri -> res -> m res
+ found uri res = do modifyResponse $ redirect 302 uri
+@@ -284,7 +289,7 @@ forbidden :: (FilterMonad Response m) => a -> m a
+ forbidden = resp 403
+ 
+ -- | Respond with @404 Not Found@.
+--- 
++--
+ -- > main = simpleHTTP nullConf $ notFound "What you are looking for has not been found."
+ notFound :: (FilterMonad Response m) => a -> m a
+ notFound = resp 404
+@@ -324,4 +329,4 @@ prettyResponse res@SendFile{}  =
+     showString "\nrsValidator = " . shows      (rsValidator res).
+     showString "\nsfFilePath  = " . shows      (sfFilePath res) .
+     showString "\nsfOffset    = " . shows      (sfOffset res)   .
+-    showString "\nsfCount     = " $ show       (sfCount res)    
++    showString "\nsfCount     = " $ show       (sfCount res)
diff --git a/dev-haskell/happstack-server/happstack-server-7.4.2.ebuild b/dev-haskell/happstack-server/happstack-server-7.4.2.ebuild
new file mode 100644 (file)
index 0000000..745cf88
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-haskell/happstack-server/happstack-server-7.4.2.ebuild,v 1.1 2015/04/04 05:34:22 gienah Exp $
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.4.9999
+#hackport: flags: +network_2_2_3
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit base haskell-cabal
+
+DESCRIPTION="Web related tools and services"
+HOMEPAGE="http://happstack.com"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+network-uri +template_haskell"
+
+RDEPEND=">=dev-haskell/base64-bytestring-1.0:=[profile?] <dev-haskell/base64-bytestring-1.1:=[profile?]
+       >=dev-haskell/blaze-html-0.5:=[profile?] <dev-haskell/blaze-html-0.9:=[profile?]
+       dev-haskell/exceptions:=[profile?]
+       dev-haskell/extensible-exceptions:=[profile?]
+       >=dev-haskell/hslogger-1.0.2:=[profile?]
+       dev-haskell/html:=[profile?]
+       >=dev-haskell/monad-control-0.3:=[profile?] <dev-haskell/monad-control-1.1:=[profile?]
+       >=dev-haskell/mtl-2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+       dev-haskell/old-locale:=[profile?]
+       <dev-haskell/parsec-4:=[profile?]
+       >=dev-haskell/sendfile-0.7.1:=[profile?] <dev-haskell/sendfile-0.8:=[profile?]
+       dev-haskell/syb:=[profile?]
+       >=dev-haskell/system-filepath-0.3.1:=[profile?]
+       >=dev-haskell/text-0.10:=[profile?] <dev-haskell/text-1.3:=[profile?]
+       >=dev-haskell/threads-0.5:=[profile?]
+       dev-haskell/time-compat:=[profile?]
+       >=dev-haskell/transformers-0.1.3:=[profile?] <dev-haskell/transformers-0.5:=[profile?]
+       >=dev-haskell/transformers-base-0.4:=[profile?] <dev-haskell/transformers-base-0.5:=[profile?]
+       >=dev-haskell/transformers-compat-0.3:=[profile?] <dev-haskell/transformers-compat-0.5:=[profile?]
+       >=dev-haskell/utf8-string-0.3.4:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+       dev-haskell/xhtml:=[profile?]
+       dev-haskell/zlib:=[profile?]
+       >=dev-lang/ghc-7.4.1:=
+       network-uri? ( >dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+                       >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+       !network-uri? ( <dev-haskell/network-2.6:=[profile?] )
+"
+DEPEND="${RDEPEND}
+       >=dev-haskell/cabal-1.8
+       test? ( dev-haskell/hunit )
+"
+
+PATCHES=("${FILESDIR}/${PN}-7.4.2-time-1.5.patch"
+               "${FILESDIR}/${PN}-7.4.2-ghc-7.10.patch")
+
+src_configure() {
+       haskell-cabal_src_configure \
+               $(cabal_flag network-uri network-uri) \
+               --flag=network_2_2_3 \
+               $(cabal_flag template_haskell template_haskell)
+}