iproute 1.2.12 → 1.3.0
raw patch · 3 files changed
+43/−5 lines, 3 filesdep +ghc-prim
Dependencies added: ghc-prim
Files
- Data/IP/Addr.hs +20/−2
- Data/IP/Range.hs +15/−2
- iproute.cabal +8/−1
Data/IP/Addr.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module Data.IP.Addr where import Control.Monad@@ -10,6 +11,9 @@ import System.ByteOrder import Text.Appar.String import Text.Printf+#ifdef GENERICS+import GHC.Generics+#endif ---------------------------------------------------------------- @@ -25,7 +29,11 @@ data IP = IPv4 { ipv4 :: IPv4 } | IPv6 { ipv6 :: IPv6 }+#ifdef GENERICS+ deriving (Eq, Ord, Generic)+#else deriving (Eq, Ord)+#endif instance Show IP where show (IPv4 ip) = show ip@@ -44,7 +52,12 @@ >>> read "192.0.2.1" :: IPv4 192.0.2.1 -}-newtype IPv4 = IP4 IPv4Addr deriving (Eq, Ord)+newtype IPv4 = IP4 IPv4Addr+#ifdef GENERICS+ deriving (Eq, Ord,Generic)+#else+ deriving (Eq, Ord)+#endif {-| The abstract data type to express an IPv6 address.@@ -59,7 +72,12 @@ >>> read "2001:db8::192.0.2.1" :: IPv6 2001:db8:00:00:00:00:c000:201 -}-newtype IPv6 = IP6 IPv6Addr deriving (Eq, Ord)+newtype IPv6 = IP6 IPv6Addr+#ifdef GENERICS+ deriving (Eq, Ord,Generic)+#else+ deriving (Eq, Ord)+#endif ---------------------------------------------------------------- --
Data/IP/Range.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE CPP #-} module Data.IP.Range where import Control.Monad@@ -7,6 +8,9 @@ import Data.IP.Mask import Data.String import Text.Appar.String+#ifdef GENERICS+import GHC.Generics+#endif ---------------------------------------------------------------- @@ -23,7 +27,11 @@ data IPRange = IPv4Range { ipv4range :: AddrRange IPv4 } | IPv6Range { ipv6range :: AddrRange IPv6 }- deriving (Eq)+#ifdef GENERICS+ deriving (Eq, Generic)+#else+ deriving (Eq)+#endif ---------------------------------------------------------------- --@@ -51,7 +59,12 @@ , mask :: !a -- |The 'mlen' function returns a mask length from 'AddrRange'. , mlen :: {-# UNPACK #-} !Int- } deriving (Eq, Ord)+ }+#ifdef GENERICS+ deriving (Eq, Ord, Generic)+#else+ deriving (Eq, Ord)+#endif ---------------------------------------------------------------- --
iproute.cabal view
@@ -1,5 +1,5 @@ Name: iproute-Version: 1.2.12+Version: 1.3.0 Author: Kazu Yamamoto <kazu@iij.ad.jp> Maintainer: Kazu Yamamoto <kazu@iij.ad.jp> License: BSD3@@ -30,6 +30,13 @@ , byteorder , containers , network+++ if impl(ghc >= 7.2.1)+ cpp-options: -DGENERICS+ default-extensions: DeriveGeneric+ if impl(ghc >= 7.2.1) && impl(ghc < 7.6.1)+ build-depends: ghc-prim >= 0.2 Test-Suite doctest Type: exitcode-stdio-1.0