mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-haskell/json: drop old
Package-Manager: Portage-3.0.6, Repoman-3.0.1 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
@@ -1,2 +1 @@
|
||||
DIST json-0.10.tar.gz 22622 BLAKE2B 4ee854a80738b6d12e027ca8562ac365bc6192532682d9b8997a8887b70d2e19553535fec6c7ab6ecf119262d6f7d229dc4217ac867dcac8dd3158c80606c727 SHA512 4015693c363810701114a222207083ab9610ebd1196d24f0eb8dcad35af54e9067259ca412b131eaa986b8dbfbf0ce62058ca4c31aeeff29fdf21f17e8d86e90
|
||||
DIST json-0.9.3.tar.gz 22562 BLAKE2B 8947d2b4bea1ee86eea19e25b73b991d186274c7a6beaff09e8f346756e870d440c4511c599d6ee5f82df08975076e47f0f528cc03cabb5063fb768506b9a660 SHA512 836ae920ef19e0cff5b617a579090ea1d760e253513d3fb28c56650a1fa413c0bd852165be487c211a52be6246eac3241a97f729342223be10275917a34230a6
|
||||
|
||||
@@ -1,172 +0,0 @@
|
||||
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
|
||||
-
|
||||
@@ -1,37 +0,0 @@
|
||||
# Copyright 1999-2020 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="https://hackage.haskell.org/package/json"
|
||||
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~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)
|
||||
}
|
||||
Reference in New Issue
Block a user