summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/happstack-server')
-rw-r--r--dev-haskell/happstack-server/Manifest5
-rw-r--r--dev-haskell/happstack-server/files/happstack-server-7.4.2-ghc-7.10.patch58
-rw-r--r--dev-haskell/happstack-server/files/happstack-server-7.4.2-time-1.5.patch225
-rw-r--r--dev-haskell/happstack-server/happstack-server-7.1.7.1.ebuild54
-rw-r--r--dev-haskell/happstack-server/happstack-server-7.3.1.ebuild51
-rw-r--r--dev-haskell/happstack-server/happstack-server-7.3.9.ebuild56
-rw-r--r--dev-haskell/happstack-server/happstack-server-7.4.2.ebuild62
-rw-r--r--dev-haskell/happstack-server/happstack-server-7.4.3.ebuild59
-rw-r--r--dev-haskell/happstack-server/metadata.xml12
9 files changed, 582 insertions, 0 deletions
diff --git a/dev-haskell/happstack-server/Manifest b/dev-haskell/happstack-server/Manifest
new file mode 100644
index 000000000000..5465a81a480c
--- /dev/null
+++ b/dev-haskell/happstack-server/Manifest
@@ -0,0 +1,5 @@
+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
+DIST happstack-server-7.4.3.tar.gz 79969 SHA256 e33cf4da5677f69525714cc2b5aab9b7024d52a4571bfaef0bba571a622a4346 SHA512 db44acbf80b095abbec129203550d67cadea6e30e407b6e19116b76e658b9cb81637e3de84d4194c87f44a001e47ba428d518d7c362bab4f623c7989131dec92 WHIRLPOOL 55ed894642a6c8045384fd7a2449d6c6b6a8f6966e3542918c5ee1525414460fb42b1a17cc38e92bd82872c889d0f3187193e56947decfcc1ede595af8d0695e
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
index 000000000000..42d95ff25072
--- /dev/null
+++ b/dev-haskell/happstack-server/files/happstack-server-7.4.2-ghc-7.10.patch
@@ -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
index 000000000000..a536ba0b2f92
--- /dev/null
+++ b/dev-haskell/happstack-server/files/happstack-server-7.4.2-time-1.5.patch
@@ -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.1.7.1.ebuild b/dev-haskell/happstack-server/happstack-server-7.1.7.1.ebuild
new file mode 100644
index 000000000000..651670f21d55
--- /dev/null
+++ b/dev-haskell/happstack-server/happstack-server-7.1.7.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.2.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit 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"
+#hackport: ignore-flag network_2_2_3 ; flag for old network compatibility
+#hackport: ignore-flag template_haskell: non GHC compiler
+IUSE=""
+
+RDEPEND="=dev-haskell/base64-bytestring-1.0*:=[profile?]
+ >=dev-haskell/blaze-html-0.5:=[profile?]
+ <dev-haskell/blaze-html-0.7:=[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/mtl-2:=[profile?]
+ <dev-haskell/mtl-2.2:=[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-0.12:=[profile?]
+ >=dev-haskell/threads-0.5:=[profile?]
+ dev-haskell/time-compat:=[profile?]
+ >=dev-haskell/transformers-0.1.3:=[profile?]
+ <dev-haskell/transformers-0.4:=[profile?]
+ =dev-haskell/transformers-base-0.4*:=[profile?]
+ >=dev-haskell/utf8-string-0.3.4:=[profile?]
+ <dev-haskell/utf8-string-0.4:=[profile?]
+ dev-haskell/xhtml:=[profile?]
+ dev-haskell/zlib:=[profile?]
+ >=dev-lang/ghc-6.12.1:=
+ >=dev-haskell/network-2.2.3:=[profile?]
+ "
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8
+ test? ( dev-haskell/hunit
+ )"
diff --git a/dev-haskell/happstack-server/happstack-server-7.3.1.ebuild b/dev-haskell/happstack-server/happstack-server-7.3.1.ebuild
new file mode 100644
index 000000000000..99457a03f4f0
--- /dev/null
+++ b/dev-haskell/happstack-server/happstack-server-7.3.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.4.9999
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit 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="+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.7:=[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-0.4:=[profile?]
+ >=dev-haskell/mtl-2:=[profile?] <dev-haskell/mtl-2.2:=[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-0.12:=[profile?]
+ >=dev-haskell/threads-0.5:=[profile?]
+ dev-haskell/time-compat:=[profile?]
+ >=dev-haskell/transformers-0.1.3:=[profile?] <dev-haskell/transformers-0.4:=[profile?]
+ >=dev-haskell/transformers-base-0.4:=[profile?] <dev-haskell/transformers-base-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.4:=[profile?] <dev-haskell/utf8-string-0.4:=[profile?]
+ dev-haskell/xhtml:=[profile?]
+ dev-haskell/zlib:=[profile?]
+ >=dev-lang/ghc-6.12.1:=
+ >=dev-haskell/network-2.2.3:=[profile?]
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8.0.2
+ test? ( dev-haskell/hunit )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag template_haskell template_haskell)
+}
diff --git a/dev-haskell/happstack-server/happstack-server-7.3.9.ebuild b/dev-haskell/happstack-server/happstack-server-7.3.9.ebuild
new file mode 100644
index 000000000000..a15a9cdba8ca
--- /dev/null
+++ b/dev-haskell/happstack-server/happstack-server-7.3.9.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 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.8:=[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-0.4:=[profile?]
+ >=dev-haskell/mtl-2:=[profile?] <dev-haskell/mtl-2.3:=[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/utf8-string-0.3.4:=[profile?] <dev-haskell/utf8-string-0.4:=[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 )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag network-uri network-uri) \
+ --flag=network_2_2_3 \
+ $(cabal_flag template_haskell template_haskell)
+}
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
index 000000000000..770f4417a389
--- /dev/null
+++ b/dev-haskell/happstack-server/happstack-server-7.4.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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)
+}
diff --git a/dev-haskell/happstack-server/happstack-server-7.4.3.ebuild b/dev-haskell/happstack-server/happstack-server-7.4.3.ebuild
new file mode 100644
index 000000000000..7f612494567d
--- /dev/null
+++ b/dev-haskell/happstack-server/happstack-server-7.4.3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.5.9999
+#hackport: flags: +network_2_2_3
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit 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.6.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.16.0
+ test? ( dev-haskell/hunit )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag network-uri network-uri) \
+ --flag=network_2_2_3 \
+ $(cabal_flag template_haskell template_haskell)
+}
diff --git a/dev-haskell/happstack-server/metadata.xml b/dev-haskell/happstack-server/metadata.xml
new file mode 100644
index 000000000000..02a4cc3ae702
--- /dev/null
+++ b/dev-haskell/happstack-server/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>haskell</herd>
+ <longdescription>
+ Happstack Server provides an HTTP server and a rich set of functions for routing requests, handling query parameters, generating responses, working with cookies, serving files, and more. For in-depth documentation see the Happstack Crash Course &lt;http://happstack.com/docs/crashcourse/index.html&gt;
+ </longdescription>
+ <use>
+ <flag name='network-uri'>Get Network.URI from the network-uri package</flag>
+ <flag name='template_haskell'>Description: Template Haskell is available on this system</flag>
+ </use>
+</pkgmetadata>