Hello community,

here is the log from the commit of package ghc-iproute for openSUSE:Factory 
checked in at 2016-01-08 15:22:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-iproute (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-iproute.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-iproute"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-iproute/ghc-iproute.changes  2015-09-17 
09:18:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-iproute.new/ghc-iproute.changes     
2016-01-08 15:22:54.000000000 +0100
@@ -1,0 +2,10 @@
+Tue Dec 15 15:21:55 UTC 2015 - mimi...@gmail.com
+
+- update to 1.7.0
+
+-------------------------------------------------------------------
+Sat Sep 12 12:45:33 UTC 2015 - mimi...@gmail.com
+
+- update to 1.6.0
+
+-------------------------------------------------------------------

Old:
----
  iproute-1.5.0.tar.gz

New:
----
  iproute-1.7.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-iproute.spec ++++++
--- /var/tmp/diff_new_pack.Pb5Rk9/_old  2016-01-08 15:22:55.000000000 +0100
+++ /var/tmp/diff_new_pack.Pb5Rk9/_new  2016-01-08 15:22:55.000000000 +0100
@@ -20,7 +20,7 @@
 %bcond_with tests
 
 Name:           ghc-iproute
-Version:        1.5.0
+Version:        1.7.0
 Release:        0
 Summary:        IP Routing Table
 Group:          System/Libraries

++++++ iproute-1.5.0.tar.gz -> iproute-1.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iproute-1.5.0/Data/IP/Addr.hs 
new/iproute-1.7.0/Data/IP/Addr.hs
--- old/iproute-1.5.0/Data/IP/Addr.hs   2015-07-06 05:25:25.000000000 +0200
+++ new/iproute-1.7.0/Data/IP/Addr.hs   2015-09-14 09:15:28.000000000 +0200
@@ -1,20 +1,21 @@
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
 module Data.IP.Addr where
 
 import Control.Monad
 import Data.Bits
 import Data.Char
+import Data.Data (Data)
 import Data.List (foldl', intersperse)
 import Data.String
+import Data.Typeable (Typeable)
 import Data.Word
 import Network.Socket
 import Numeric (showHex, showInt)
 import System.ByteOrder
 import Text.Appar.String
 import GHC.Enum (succError,predError)
-#ifdef GENERICS
 import GHC.Generics
-#endif
 
 ----------------------------------------------------------------
 
@@ -30,9 +31,7 @@
 
 data IP = IPv4 { ipv4 :: IPv4 }
         | IPv6 { ipv6 :: IPv6 }
-#ifdef GENERICS
-        deriving (Generic)
-#endif
+        deriving (Data,Generic,Typeable)
 
 {-|
   Equality over IP addresses. Correctly compare IPv4 and IPv4-embedded-in-IPv6 
addresses.
@@ -85,11 +84,7 @@
 192.0.2.1
 -}
 newtype IPv4 = IP4 IPv4Addr
-#ifdef GENERICS
-  deriving (Eq, Ord, Bounded, Generic)
-#else
-  deriving (Eq, Ord, Bounded)
-#endif
+  deriving (Eq, Ord, Bounded, Data, Generic, Typeable)
 
 {-|
   The abstract data type to express an IPv6 address.
@@ -111,11 +106,7 @@
 ::1
 -}
 newtype IPv6 = IP6 IPv6Addr
-#ifdef GENERICS
-  deriving (Eq, Ord, Bounded, Generic)
-#else
-  deriving (Eq, Ord, Bounded)
-#endif
+  deriving (Eq, Ord, Bounded, Data, Generic, Typeable)
 
 
 ----------------------------------------------------------------
@@ -168,6 +159,34 @@
     enumFromThen ip ip' = fmap integerToIP6 [ip6ToInteger ip, ip6ToInteger ip' 
..]
     enumFromThenTo ip inc fin = fmap integerToIP6 [ip6ToInteger ip, 
ip6ToInteger inc .. ip6ToInteger fin]
 
+instance Enum IP where
+    fromEnum (IPv4 ip) = fromEnum ip
+    fromEnum (IPv6 ip) = fromEnum ip
+
+    -- Because Int cannot hold an IPv6 anyway
+    toEnum = IPv4 . toEnum
+
+    succ (IPv4 ip) = IPv4 $ succ ip
+    succ (IPv6 ip) = IPv6 $ succ ip
+
+    pred (IPv4 ip) = IPv4 $ pred ip
+    pred (IPv6 ip) = IPv6 $ pred ip
+
+    enumFrom (IPv4 ip) = fmap IPv4 $ enumFrom ip
+    enumFrom (IPv6 ip) = fmap IPv6 $ enumFrom ip
+
+    enumFromTo (IPv4 ip) (IPv4 ip') = fmap IPv4 $ enumFromTo ip ip'
+    enumFromTo (IPv6 ip) (IPv6 ip') = fmap IPv6 $ enumFromTo ip ip'
+    enumFromTo _ _ = error "enumFromTo: Incompatible IP families"
+
+    enumFromThen (IPv4 ip) (IPv4 ip') = fmap IPv4 $ enumFromThen ip ip'
+    enumFromThen (IPv6 ip) (IPv6 ip') = fmap IPv6 $ enumFromThen ip ip'
+    enumFromThen _ _ = error "enumFromThen: Incompatible IP families"
+
+    enumFromThenTo (IPv4 ip) (IPv4 inc) (IPv4 fin) = fmap IPv4 $ 
enumFromThenTo ip inc fin
+    enumFromThenTo (IPv6 ip) (IPv6 inc) (IPv6 fin) = fmap IPv6 $ 
enumFromThenTo ip inc fin
+    enumFromThenTo _ _ _ = error "enumFromThenTo: Incompatible IP families"
+
 ip6ToInteger :: IPv6 -> Integer
 ip6ToInteger (IP6 (a,b,c,d)) = let a' = word32ToInteger a `shift` 96
                                    b' = word32ToInteger b `shift` 64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iproute-1.5.0/Data/IP/Range.hs 
new/iproute-1.7.0/Data/IP/Range.hs
--- old/iproute-1.5.0/Data/IP/Range.hs  2015-07-06 05:25:25.000000000 +0200
+++ new/iproute-1.7.0/Data/IP/Range.hs  2015-09-14 09:15:28.000000000 +0200
@@ -1,16 +1,17 @@
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE FlexibleInstances  #-}
 module Data.IP.Range where
 
 import Control.Monad
 import Data.Bits
+import Data.Data (Data)
 import Data.IP.Addr
 import Data.IP.Mask
 import Data.String
+import Data.Typeable (Typeable)
 import Text.Appar.String
-#ifdef GENERICS
 import GHC.Generics
-#endif
 
 ----------------------------------------------------------------
 
@@ -27,11 +28,7 @@
 
 data IPRange = IPv4Range { ipv4range :: AddrRange IPv4 }
              | IPv6Range { ipv6range :: AddrRange IPv6 }
-#ifdef GENERICS
-        deriving (Eq, Generic)
-#else
-        deriving (Eq)
-#endif
+        deriving (Eq, Ord, Data, Generic, Typeable)
 
 ----------------------------------------------------------------
 --
@@ -60,11 +57,7 @@
         -- |The 'mlen' function returns a mask length from 'AddrRange'.
       , mlen :: {-# UNPACK #-} !Int
     }
-#ifdef GENERICS
-    deriving (Eq, Ord, Generic)
-#else
-    deriving (Eq, Ord)
-#endif
+    deriving (Eq, Ord, Data, Generic, Typeable)
 
 ----------------------------------------------------------------
 --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iproute-1.5.0/iproute.cabal 
new/iproute-1.7.0/iproute.cabal
--- old/iproute-1.5.0/iproute.cabal     2015-07-06 05:25:25.000000000 +0200
+++ new/iproute-1.7.0/iproute.cabal     2015-09-14 09:15:28.000000000 +0200
@@ -1,5 +1,5 @@
 Name:                   iproute
-Version:                1.5.0
+Version:                1.7.0
 Author:                 Kazu Yamamoto <k...@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <k...@iij.ad.jp>
 License:                BSD3
@@ -26,26 +26,19 @@
                         Data.IP.Op
                         Data.IP.Range
                         Data.IP.RouteTable.Internal
-  Build-Depends:        base >= 4 && < 5
+  Build-Depends:        base >= 4.6 && < 5
                       , appar
                       , 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
   Default-Language:     Haskell2010
   HS-Source-Dirs:       test
   Ghc-Options:          -threaded -Wall
   Main-Is:              doctests.hs
-  Build-Depends:        base
+  Build-Depends:        base >= 4.6 && < 5
                       , doctest >= 0.9.3
 
 Test-Suite spec
@@ -56,7 +49,7 @@
   Main-Is:              Spec.hs
   Other-Modules:        RouteTableSpec
                       , IPSpec
-  Build-Depends:        base
+  Build-Depends:        base >= 4.6 && < 5
                       , hspec
                       , QuickCheck
                       , appar


Reply via email to