Hello community,

here is the log from the commit of package ghc-th-expand-syns for 
openSUSE:Leap:15.2 checked in at 2020-02-19 18:41:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/ghc-th-expand-syns (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.ghc-th-expand-syns.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-th-expand-syns"

Wed Feb 19 18:41:39 2020 rev:13 rq:771489 version:0.4.5.0

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/ghc-th-expand-syns/ghc-th-expand-syns.changes  
2020-01-15 15:02:41.029818198 +0100
+++ 
/work/SRC/openSUSE:Leap:15.2/.ghc-th-expand-syns.new.26092/ghc-th-expand-syns.changes
       2020-02-19 18:41:40.586224602 +0100
@@ -1,0 +2,14 @@
+Fri Nov  8 16:14:57 UTC 2019 - Peter Simons <psim...@suse.com>
+
+- Drop obsolete group attributes.
+
+-------------------------------------------------------------------
+Fri Aug 30 02:05:47 UTC 2019 - psim...@suse.com
+
+- Update th-expand-syns to version 0.4.5.0.
+  ## 0.4.5.0
+
+  * Support GHC 8.8 / template-haskell-2.15 (Thanks to Ryan Scott)
+  * Support GHC 8.6 / template-haskell-2.14 (Thanks to Chaitanya Koparkar)
+
+-------------------------------------------------------------------

Old:
----
  th-expand-syns-0.4.4.0.tar.gz
  th-expand-syns.cabal

New:
----
  th-expand-syns-0.4.5.0.tar.gz

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

Other differences:
------------------
++++++ ghc-th-expand-syns.spec ++++++
--- /var/tmp/diff_new_pack.qsIbT3/_old  2020-02-19 18:41:40.898224986 +0100
+++ /var/tmp/diff_new_pack.qsIbT3/_new  2020-02-19 18:41:40.898224986 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-th-expand-syns
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,14 +19,12 @@
 %global pkg_name th-expand-syns
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.4.4.0
+Version:        0.4.5.0
 Release:        0
 Summary:        Expands type synonyms in Template Haskell ASTs
 License:        BSD-3-Clause
-Group:          Development/Libraries/Haskell
 URL:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-containers-devel
 BuildRequires:  ghc-rpm-macros
@@ -38,7 +36,6 @@
 
 %package devel
 Summary:        Haskell %{pkg_name} library development files
-Group:          Development/Libraries/Haskell
 Requires:       %{name} = %{version}-%{release}
 Requires:       ghc-compiler = %{ghc_version}
 Requires(post): ghc-compiler = %{ghc_version}
@@ -49,7 +46,6 @@
 
 %prep
 %setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build

++++++ th-expand-syns-0.4.4.0.tar.gz -> th-expand-syns-0.4.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/th-expand-syns-0.4.4.0/Language/Haskell/TH/ExpandSyns.hs 
new/th-expand-syns-0.4.5.0/Language/Haskell/TH/ExpandSyns.hs
--- old/th-expand-syns-0.4.4.0/Language/Haskell/TH/ExpandSyns.hs        
2017-12-26 21:16:35.000000000 +0100
+++ new/th-expand-syns-0.4.5.0/Language/Haskell/TH/ExpandSyns.hs        
2019-08-29 21:54:34.000000000 +0200
@@ -16,6 +16,7 @@
 import Language.Haskell.TH hiding(cxt)
 import qualified Data.Set as Set
 import Data.Generics
+import Data.Maybe
 import Control.Monad
 import Prelude
 
@@ -201,6 +202,10 @@
     go (PatSynSigD {}) = no
 #endif
 
+#if MIN_VERSION_template_haskell(2,15,0)
+    go (ImplicitParamBindD {}) = no
+#endif
+
     no = return Nothing
 
 #if MIN_VERSION_template_haskell(2,4,0)
@@ -229,7 +234,38 @@
       expandSyns' t =
          do
            (acc,t') <- go [] t
-           return (foldl AppT t' acc)
+           return (foldl applyTypeArg t' acc)
+
+#if MIN_VERSION_template_haskell(2,4,0)
+      expandKindSyns' k =
+# if MIN_VERSION_template_haskell(2,8,0)
+         do
+           (acc,k') <- go [] k
+           return (foldl applyTypeArg k' acc)
+# else
+         return k -- No kind variables on old versions of GHC
+# endif
+#endif
+
+      applyTypeArg :: Type -> TypeArg -> Type
+      applyTypeArg f (TANormal x) = f `AppT` x
+      applyTypeArg f (TyArg _x)   =
+#if __GLASGOW_HASKELL__ >= 807
+                                    f `AppKindT` _x
+#else
+                                    -- VKA isn't supported, so
+                                    -- conservatively drop the argument
+                                    f
+#endif
+
+
+      -- Filter the normal type arguments from a list of TypeArgs.
+      filterTANormals :: [TypeArg] -> [Type]
+      filterTANormals = mapMaybe getTANormal
+        where
+          getTANormal :: TypeArg -> Maybe Type
+          getTANormal (TANormal t) = Just t
+          getTANormal (TyArg {})   = Nothing
 
       -- Must only be called on an `x' requiring no expansion
       passThrough acc x = return (acc, x)
@@ -242,7 +278,7 @@
       --  All elements of `args'' and `t'' are expanded.
       --  `t' applied to `args' equals `t'' applied to `args'' (up to 
expansion, of course)
 
-      go :: [Type] -> Type -> Q ([Type], Type)
+      go :: [TypeArg] -> Type -> Q ([TypeArg], Type)
 
       go acc x@ListT = passThrough acc x
       go acc x@ArrowT = passThrough acc x
@@ -262,7 +298,7 @@
       go acc (AppT t1 t2) =
           do
             r <- expandSyns' t2
-            go (r:acc) t1
+            go (TANormal r:acc) t1
 
       go acc x@(ConT n) =
           do
@@ -274,7 +310,7 @@
                   then fail (packagename++": expandSynsWith: Underapplied type 
synonym: "++show(n,acc))
                   else
                       let
-                          substs = zip vars acc
+                          substs = zip vars (filterTANormals acc)
                           expanded = foldr subst body substs
                       in
                         go (drop (length vars) acc) expanded
@@ -284,11 +320,8 @@
       go acc (SigT t kind) =
           do
             (acc',t') <- go acc t
-            return
-              (acc',
-                SigT t' kind
-                -- No expansion needed in kinds (todo: is this correct?)
-              )
+            kind' <- expandKindSyns' kind
+            return (acc', SigT t' kind')
 #endif
 
 #if MIN_VERSION_template_haskell(2,6,0)
@@ -331,6 +364,24 @@
       go acc x@(UnboxedSumT _) = passThrough acc x
 #endif
 
+#if MIN_VERSION_template_haskell(2,15,0)
+      go acc (AppKindT t k) =
+          do
+            k' <- expandKindSyns' k
+            go (TyArg k':acc) t
+      go acc (ImplicitParamT n t) =
+          do
+            (acc',t') <- go acc t
+            return (acc',ImplicitParamT n t')
+#endif
+
+-- | An argument to a type, either a normal type ('TANormal') or a visible
+-- kind application ('TyArg').
+data TypeArg
+  = TANormal Type -- Normal arguments
+  | TyArg    Kind -- Visible kind applications
+  deriving Show
+
 class SubstTypeVariable a where
     -- | Capture-free substitution
     subst :: (Name, Type) -> a -> a
@@ -352,7 +403,7 @@
       go s@(TupleT _) = s
 
 #if MIN_VERSION_template_haskell(2,4,0)
-      go (SigT t1 kind) = SigT (go t1) kind
+      go (SigT t1 kind) = SigT (go t1) (subst (v, t) kind)
 #endif
 
 #if MIN_VERSION_template_haskell(2,6,0)
@@ -384,6 +435,11 @@
       go s@(UnboxedSumT _) = s
 #endif
 
+#if MIN_VERSION_template_haskell(2,15,0)
+      go (AppKindT ty ki) = AppKindT (go ty) (go ki)
+      go (ImplicitParamT n ty) = ImplicitParamT n (go ty)
+#endif
+
 -- testCapture :: Type
 -- testCapture =
 --     let
@@ -402,6 +458,10 @@
     subst s = mapPred (subst s)
 #endif
 
+#if MIN_VERSION_template_haskell(2,4,0) && !MIN_VERSION_template_haskell(2,8,0)
+instance SubstTypeVariable Kind where
+    subst _ = id -- No kind variables on old versions of GHC
+#endif
 
 -- | Make a name (based on the first arg) that's distinct from every name in 
the second arg
 --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/th-expand-syns-0.4.4.0/changelog.markdown 
new/th-expand-syns-0.4.5.0/changelog.markdown
--- old/th-expand-syns-0.4.4.0/changelog.markdown       2017-12-26 
21:29:22.000000000 +0100
+++ new/th-expand-syns-0.4.5.0/changelog.markdown       2019-08-29 
23:48:48.000000000 +0200
@@ -1,3 +1,8 @@
+## 0.4.5.0
+
+* Support GHC 8.8 / template-haskell-2.15 (Thanks to Ryan Scott)
+* Support GHC 8.6 / template-haskell-2.14 (Thanks to Chaitanya Koparkar)
+
 ## 0.4.4.0
 
 *   Made `SynonymExpansionSettings` an instance of `Semigroup` (fixes build 
with GHC 8.4.1 alpha).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/th-expand-syns-0.4.4.0/testing/Main.hs 
new/th-expand-syns-0.4.5.0/testing/Main.hs
--- old/th-expand-syns-0.4.4.0/testing/Main.hs  2017-03-03 15:28:32.000000000 
+0100
+++ new/th-expand-syns-0.4.5.0/testing/Main.hs  2019-08-29 21:54:34.000000000 
+0200
@@ -68,6 +68,13 @@
         [t| Int'' |]
         [t| Int |])
 
+#if MIN_VERSION_template_haskell(2,8,0)
+    putStrLn "Synonyms in kinds"
+    $(mkTest
+        (sigT (conT ''Int) (ConT ''Id `AppT` StarT))
+        (sigT (conT ''Int) StarT))
+#endif
+
     $(do
         reportWarning "No warning about type families should appear after this 
line." -- TODO: Automate this test with a custom Quasi instance?
         _ <- expandSynsWith noWarnTypeFamilies =<< [t| (DF1 Int', TF1 Int', 
AT1 Int') |]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/th-expand-syns-0.4.4.0/testing/Types.hs 
new/th-expand-syns-0.4.5.0/testing/Types.hs
--- old/th-expand-syns-0.4.4.0/testing/Types.hs 2017-03-03 15:28:32.000000000 
+0100
+++ new/th-expand-syns-0.4.5.0/testing/Types.hs 2019-08-29 21:54:34.000000000 
+0200
@@ -16,6 +16,7 @@
 type Int' = Int
 type Either' = Either
 type Int'' = Int
+type Id a = a
 
 -- type E x = forall y. Either x y -> Int
 $(sequence [tySynD (mkName "E") [PlainTV (mkName "x")]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/th-expand-syns-0.4.4.0/th-expand-syns.cabal 
new/th-expand-syns-0.4.5.0/th-expand-syns.cabal
--- old/th-expand-syns-0.4.4.0/th-expand-syns.cabal     2017-12-26 
21:43:27.000000000 +0100
+++ new/th-expand-syns-0.4.5.0/th-expand-syns.cabal     2019-08-29 
23:48:59.000000000 +0200
@@ -1,5 +1,5 @@
 name:                th-expand-syns
-version:             0.4.4.0
+version:             0.4.5.0
 synopsis:            Expands type synonyms in Template Haskell ASTs
 description:         Expands type synonyms in Template Haskell ASTs.
 category:            Template Haskell
@@ -12,21 +12,18 @@
 extra-source-files:  changelog.markdown
 homepage:            https://github.com/DanielSchuessler/th-expand-syns
 tested-with:
-    GHC == 7.0.4
-    GHC == 7.2.2
-    GHC == 7.4.2
-    GHC == 7.6.3
-    GHC == 7.8.4
-    GHC == 7.10.3
     GHC == 8.0.2
     GHC == 8.2.2
+    GHC == 8.4.4
+    GHC == 8.6.5
+    GHC == 8.8.1
 
 source-repository head
  type: git
  location: git://github.com/DanielSchuessler/th-expand-syns.git
 
 Library
-    build-depends:       base >= 4 && < 5, template-haskell < 2.14, syb, 
containers
+    build-depends:       base >= 4 && < 5, template-haskell < 2.16, syb, 
containers
     ghc-options:
     exposed-modules:     Language.Haskell.TH.ExpandSyns
     other-modules:       Language.Haskell.TH.ExpandSyns.SemigroupCompat


Reply via email to