diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-12-15 18:09:03 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-12-15 18:09:03 +0000 |
commit | 7bc9c63c9da678a7e6fceb095d56c634afd22c56 (patch) | |
tree | 4a67d50a439e9af63947e5f8b6ba3719af98b6c9 /dev-haskell/json | |
parent | b284a3168fa91a038925d2ecf5e4791011ea5e7d (diff) |
gentoo resync : 15.12.2019
Diffstat (limited to 'dev-haskell/json')
-rw-r--r-- | dev-haskell/json/Manifest | 3 | ||||
-rw-r--r-- | dev-haskell/json/files/json-0.9.3-ghc-8.8.patch | 172 | ||||
-rw-r--r-- | dev-haskell/json/json-0.9.3.ebuild | 37 |
3 files changed, 212 insertions, 0 deletions
diff --git a/dev-haskell/json/Manifest b/dev-haskell/json/Manifest index 866adbda1508..d48eb237b368 100644 --- a/dev-haskell/json/Manifest +++ b/dev-haskell/json/Manifest @@ -1,3 +1,6 @@ +AUX json-0.9.3-ghc-8.8.patch 5054 BLAKE2B ed3b6efe93cb37697379e5c0b0953ead8cd270000f7c87b0db58861d834d0b8edbd6039b7de0b3d376c4b5cd5152d9982e60f93c81c31abf97879654ed644bd6 SHA512 0cdaa654826c2baecdcf1771090b58440ef4177d8fac76da774eecf7599526bed142ee6f58cf2b67fba57ed1b3c0b22b7140425712551dc8e41a99014534c206 DIST json-0.9.1.tar.gz 22568 BLAKE2B b1c73771e24ccafb2019ffff61e392f2eec18768c4bdd09f1a5ee8275c92d8982cda3fab4d91222f726fae65324776c9e79ccd602dbd4ac9c435749d61a1015e SHA512 537257fed476683d0657c6474e465ca437e43e36b60ab132c0f584cece99a18d222ef9a33171543689ba5589434bc78cf2e0e5ff550804ff8969052d09430d57 +DIST json-0.9.3.tar.gz 22562 BLAKE2B 8947d2b4bea1ee86eea19e25b73b991d186274c7a6beaff09e8f346756e870d440c4511c599d6ee5f82df08975076e47f0f528cc03cabb5063fb768506b9a660 SHA512 836ae920ef19e0cff5b617a579090ea1d760e253513d3fb28c56650a1fa413c0bd852165be487c211a52be6246eac3241a97f729342223be10275917a34230a6 EBUILD json-0.9.1.ebuild 936 BLAKE2B d33dedc76e18960da60c04b94d5f6022011b94640a47e8afa615e12a7c20527eecac124987ee0d758e536299e0dfd6649e5f7ec77b8129d6e425db279b296dea SHA512 f2c6fdfebfa8f81529e9238e554eeb899ff0637f482eb6ce1bf123e56afc43f4781cec74604b9901ea4fe557c978962512b53d41d8fcf7bb26404b7dadc21594 +EBUILD json-0.9.3.ebuild 933 BLAKE2B 1e154716ed3ac580e765ca16541387fd692fb8c320ec46b3b5798d58092bdf7df4de98d7393abd11aa05436d61c9b947042ec1327e4676c47367d54641397865 SHA512 0aa75bfe23dabf76e470de10d1d1b362833cc31a71c464951084afa0f924e7da3e8aaec8883fa61eae797aab0f7c8361f217d74989f436538a1c610cdced9ba9 MISC metadata.xml 993 BLAKE2B 6cb77b20e36e3fb4aa09ed7f55f13b5199b4b152a2c7c625e7267b94016a2929b5064b6e38c3d0f6802cf5400dc802b4adc4e37d6de4823b2d02eea81459edbc SHA512 19724eb01ade1dac4b6e12271bfa698aab1ad16d4abc250114a4e17908ddf2bbbd788509ff5123745926bf229d0836e0046c3aa43b2ab6997088222c84a0b0a2 diff --git a/dev-haskell/json/files/json-0.9.3-ghc-8.8.patch b/dev-haskell/json/files/json-0.9.3-ghc-8.8.patch new file mode 100644 index 000000000000..d8dc402ae19b --- /dev/null +++ b/dev-haskell/json/files/json-0.9.3-ghc-8.8.patch @@ -0,0 +1,172 @@ +commit a0d8bcde5ab5329d11be8cd89c407e6aa0db83a4 +Author: Fumiaki Kinoshita <fumiexcel@gmail.com> +Date: Tue Apr 30 18:37:40 2019 +0900 + + Support GHC 8.8 + +diff --git a/Text/JSON.hs b/Text/JSON.hs +index f2e2618..6f80949 100644 +--- a/Text/JSON.hs ++++ b/Text/JSON.hs +@@ -37,7 +37,7 @@ module Text.JSON ( + -- ** Instance helpers + , makeObj, valFromObj + , JSKey(..), encJSDict, decJSDict +- ++ + ) where + + import Text.JSON.Types +@@ -60,7 +60,7 @@ import qualified Data.Text as T + + ------------------------------------------------------------------------ + +--- | Decode a String representing a JSON value ++-- | Decode a String representing a JSON value + -- (either an object, array, bool, number, null) + -- + -- This is a superset of JSON, as types other than +@@ -137,7 +137,9 @@ instance MonadPlus Result where + + instance Monad Result where + return x = Ok x ++#if !MIN_VERSION_base(4,13,0) + fail x = Error x ++#endif + Ok a >>= f = f a + Error x >>= _ = Error x + +@@ -199,7 +201,7 @@ instance JSON Ordering where + showJSON = encJSString show + readJSON = decJSString "Ordering" readOrd + where +- readOrd x = ++ readOrd x = + case x of + "LT" -> return Prelude.LT + "EQ" -> return Prelude.EQ +@@ -460,7 +462,7 @@ instance JSKey Int where + instance JSKey String where + toJSKey = id + fromJSKey = Just +- ++ + -- | Encode an association list as 'JSObject' value. + encJSDict :: (JSKey a, JSON b) => [(a,b)] -> JSValue + encJSDict v = makeObj [ (toJSKey x, showJSON y) | (x,y) <- v ] +@@ -477,5 +479,3 @@ decJSDict l (JSObject o) = mapM rd (fromJSObject o) + "unable to read dict; invalid object key") + + decJSDict l _ = mkError ("readJSON{"++l ++ "}: unable to read dict; expected JSON object") +- +- +diff --git a/Text/JSON/String.hs b/Text/JSON/String.hs +index 51463cd..67fdca8 100644 +--- a/Text/JSON/String.hs ++++ b/Text/JSON/String.hs +@@ -1,7 +1,8 @@ ++{-# LANGUAGE CPP #-} + -- | Basic support for working with JSON values. + +-module Text.JSON.String +- ( ++module Text.JSON.String ++ ( + -- * Parsing + -- + GetJSON +@@ -35,6 +36,7 @@ import Text.JSON.Types (JSValue(..), + JSObject, toJSObject, fromJSObject) + + import Control.Monad (liftM, ap) ++import qualified Control.Monad.Fail as Fail + import Control.Applicative((<$>)) + import qualified Control.Applicative as A + import Data.Char (isSpace, isDigit, digitToInt) +@@ -52,9 +54,14 @@ instance A.Applicative GetJSON where + pure = return + (<*>) = ap + ++instance Fail.MonadFail GetJSON where ++ fail x = GetJSON (\_ -> Left x) ++ + instance Monad GetJSON where + return x = GetJSON (\s -> Right (x,s)) +- fail x = GetJSON (\_ -> Left x) ++#if !MIN_VERSION_base(4,13,0) ++ fail = Fail.fail ++#endif + GetJSON m >>= f = GetJSON (\s -> case m s of + Left err -> Left err + Right (a,s1) -> un (f a) s1) +@@ -93,7 +100,7 @@ tryJSNull k = do + xs <- getInput + case xs of + 'n':'u':'l':'l':xs1 -> setInput xs1 >> return JSNull +- _ -> k ++ _ -> k + + -- | Read the JSON Bool type + readJSBool :: GetJSON JSValue +@@ -111,8 +118,8 @@ readJSString = do + case x of + '"' : cs -> parse [] cs + _ -> fail $ "Malformed JSON: expecting string: " ++ context x +- where +- parse rs cs = ++ where ++ parse rs cs = + case cs of + '\\' : c : ds -> esc rs c ds + '"' : ds -> do setInput ds +@@ -153,22 +160,22 @@ readJSRational = do + '-' : ds -> negate <$> pos ds + _ -> pos cs + +- where ++ where + pos [] = fail $ "Unable to parse JSON Rational: " ++ context [] + pos (c:cs) = + case c of + '0' -> frac 0 cs +- _ ++ _ + | not (isDigit c) -> fail $ "Unable to parse JSON Rational: " ++ context cs + | otherwise -> readDigits (digitToIntI c) cs + + readDigits acc [] = frac (fromInteger acc) [] + readDigits acc (x:xs) +- | isDigit x = let acc' = 10*acc + digitToIntI x in ++ | isDigit x = let acc' = 10*acc + digitToIntI x in + acc' `seq` readDigits acc' xs + | otherwise = frac (fromInteger acc) (x:xs) + +- frac n ('.' : ds) = ++ frac n ('.' : ds) = + case span isDigit ds of + ([],_) -> setInput ds >> return n + (as,bs) -> let x = read as :: Integer +@@ -320,15 +327,15 @@ showJSRational :: Rational -> ShowS + showJSRational r = showJSRational' False r + + showJSRational' :: Bool -> Rational -> ShowS +-showJSRational' asFloat r ++showJSRational' asFloat r + | denominator r == 1 = shows $ numerator r + | isInfinite x || isNaN x = showJSNull + | asFloat = shows xf + | otherwise = shows x +- where ++ where + x :: Double + x = realToFrac r +- ++ + xf :: Float + xf = realToFrac r + +@@ -382,4 +389,3 @@ encJSString jss ss = go (fromJSString jss) + | x < '\x1000' -> 'u' : '0' : hexxs + | otherwise -> 'u' : hexxs + where hexxs = showHex (fromEnum x) xs +- diff --git a/dev-haskell/json/json-0.9.3.ebuild b/dev-haskell/json/json-0.9.3.ebuild new file mode 100644 index 000000000000..ce29d2693235 --- /dev/null +++ b/dev-haskell/json/json-0.9.3.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# ebuild generated by hackport 0.6.9999 + +CABAL_FEATURES="lib profile haddock hoogle hscolour" +inherit haskell-cabal + +DESCRIPTION="Support for serialising Haskell to and from JSON" +HOMEPAGE="http://hackage.haskell.org/package/json" +SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux" +IUSE="mapdict +parsec +pretty" + +RDEPEND="dev-haskell/mtl:=[profile?] + >=dev-haskell/syb-0.3.3:=[profile?] + dev-haskell/text:=[profile?] + >=dev-lang/ghc-7.4.1:= + parsec? ( dev-haskell/parsec:=[profile?] ) +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.6 +" + +PATCHES=( "${FILESDIR}"/${PN}-0.9.3-ghc-8.8.patch ) + +src_configure() { + haskell-cabal_src_configure \ + $(cabal_flag mapdict mapdict) \ + $(cabal_flag parsec parsec) \ + $(cabal_flag pretty pretty) +} |