Hello community, here is the log from the commit of package ghc-th-lift-instances for openSUSE:Factory checked in at 2020-06-19 17:19:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-th-lift-instances (Old) and /work/SRC/openSUSE:Factory/.ghc-th-lift-instances.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-th-lift-instances" Fri Jun 19 17:19:49 2020 rev:11 rq:815193 version:0.1.17 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-th-lift-instances/ghc-th-lift-instances.changes 2019-12-27 13:58:21.824803126 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-th-lift-instances.new.3606/ghc-th-lift-instances.changes 2020-06-19 17:19:51.071285296 +0200 @@ -2 +2 @@ -Fri Nov 8 16:14:58 UTC 2019 - Peter Simons <psim...@suse.com> +Wed Jun 10 02:00:24 UTC 2020 - psim...@suse.com @@ -4,12 +4 @@ -- Drop obsolete group attributes. - -------------------------------------------------------------------- -Wed Aug 14 02:02:39 UTC 2019 - psim...@suse.com - -- Update th-lift-instances to version 0.1.14. - Upstream does not provide a change log file. - -------------------------------------------------------------------- -Wed May 1 02:03:16 UTC 2019 - psim...@suse.com - -- Update th-lift-instances to version 0.1.13. +- Update th-lift-instances to version 0.1.17. @@ -19,12 +8 @@ -Thu Feb 7 13:49:07 UTC 2019 - psim...@suse.com - -- Update th-lift-instances to version 0.1.12. - Upstream does not provide a change log file. - -------------------------------------------------------------------- -Sat Oct 20 11:32:06 UTC 2018 - Peter Simons <psim...@suse.com> - -- Use https URL to refer to bugs.opensuse.org. - -------------------------------------------------------------------- -Wed Jul 18 14:26:44 UTC 2018 - psim...@suse.com +Tue Jun 9 09:26:37 UTC 2020 - psim...@suse.com @@ -32,25 +10 @@ -- Cosmetic: replace tabs with blanks, strip trailing white space, - and update copyright headers with spec-cleaner. - -------------------------------------------------------------------- -Wed May 16 14:36:29 UTC 2018 - psim...@suse.com - -- Prefer the new %license attribute over %doc. - -------------------------------------------------------------------- -Thu Aug 3 15:38:38 UTC 2017 - psim...@suse.com - -- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf. - -------------------------------------------------------------------- -Fri Dec 16 17:59:39 UTC 2016 - psim...@suse.com - -- Update to version 0.1.11 with cabal2obs. - -------------------------------------------------------------------- -Fri Jul 22 06:10:18 UTC 2016 - psim...@suse.com - -- Update to version 0.1.10 revision 0 with cabal2obs. - -------------------------------------------------------------------- -Sun Jul 10 17:16:11 UTC 2016 - psim...@suse.com +- Add th-lift-instances at version 0.1.16. @@ -58 +11,0 @@ -- Update to version 0.1.9 revision 0 with cabal2obs. Old: ---- th-lift-instances-0.1.14.tar.gz New: ---- th-lift-instances-0.1.17.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-th-lift-instances.spec ++++++ --- /var/tmp/diff_new_pack.E5AGqS/_old 2020-06-19 17:19:51.991287714 +0200 +++ /var/tmp/diff_new_pack.E5AGqS/_new 2020-06-19 17:19:51.995287724 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-th-lift-instances # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %global pkg_name th-lift-instances %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.1.14 +Version: 0.1.17 Release: 0 Summary: Lift instances for template-haskell for common data types License: BSD-3-Clause @@ -39,9 +39,9 @@ %endif %description -Most data types in haskell platform do not have Lift instances. This package -provides orphan instances for containers, text, bytestring and vector. -It also acts as a compat instances, definining instances not existing in +Most data types in the haskell platform do not have Lift instances. +This package provides orphan instances for containers, text, bytestring and +vector. It also provides compat instances for older versions of 'template-haskell' Note that <https://hackage.haskell.org/package/th-lift th-lift> package ++++++ th-lift-instances-0.1.14.tar.gz -> th-lift-instances-0.1.17.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/th-lift-instances-0.1.14/.travis.yml new/th-lift-instances-0.1.17/.travis.yml --- old/th-lift-instances-0.1.14/.travis.yml 2019-08-13 22:13:37.000000000 +0200 +++ new/th-lift-instances-0.1.17/.travis.yml 2001-09-09 03:46:40.000000000 +0200 @@ -28,7 +28,7 @@ - env: GHCVER=7.10.3 CABALVER=1.24 compiler: ghc-7.10.3 addons: {apt: {packages: [cabal-install-1.24, ghc-7.10.3, alex-3.1.4, happy-1.19.5], sources: [hvr-ghc]}} - - env: GHCVER=8.0.1 CABALVER=1.24 ROOT=1 + - env: GHCVER=8.0.1 CABALVER=1.24 compiler: ghc-8.0.1 addons: {apt: {packages: [cabal-install-1.24, ghc-8.0.1, alex-3.1.7, happy-1.19.5], sources: [hvr-ghc]}} - env: GHCVER=8.2.2 CABALVER=2.0 @@ -37,10 +37,16 @@ - env: GHCVER=8.4.4 CABALVER=2.2 compiler: ghc-8.4.4 addons: {apt: {packages: [cabal-install-2.2, ghc-8.4.4, alex-3.1.7, happy-1.19.5], sources: [hvr-ghc]}} - - env: GHCVER=8.6.3 CABALVER=2.4 - compiler: ghc-8.6.3 - addons: {apt: {packages: [cabal-install-2.4, ghc-8.6.3, alex-3.1.7, happy-1.19.5], sources: [hvr-ghc]}} - - env: GHCVER=head CABALVER=head ALLOW_NEWER="template-haskell" + - env: GHCVER=8.6.5 CABALVER=2.4 + compiler: ghc-8.6.5 + addons: {apt: {packages: [cabal-install-2.4, ghc-8.6.5, alex-3.1.7, happy-1.19.5], sources: [hvr-ghc]}} + - env: GHCVER=8.8.3 CABALVER=3.0 ROOT=1 V2=1 + compiler: ghc-8.8.3 + addons: {apt: {packages: [cabal-install-3.0, ghc-8.8.3, alex-3.1.7, happy-1.19.5], sources: [hvr-ghc]}} + - env: GHCVER=8.10.1 CABALVER=3.2 V2=1 + compiler: ghc-8.10.1 + addons: {apt: {packages: [cabal-install-3.2, ghc-8.10.1, alex-3.1.7, happy-1.19.5], sources: [hvr-ghc]}} + - env: GHCVER=head CABALVER=head ALLOW_NEWER="template-haskell" V2=1 compiler: ghc-head addons: {apt: {packages: [cabal-install-head, ghc-head, alex-3.1.7, happy-1.19.5], sources: [hvr-ghc]}} allow_failures: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/th-lift-instances-0.1.14/LICENSE new/th-lift-instances-0.1.17/LICENSE --- old/th-lift-instances-0.1.14/LICENSE 2019-08-13 22:13:37.000000000 +0200 +++ new/th-lift-instances-0.1.17/LICENSE 2001-09-09 03:46:40.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright 2013-2016 Benno Fünfstück +Copyright 2013-2020 Benno Fünfstück All rights reserved. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/th-lift-instances-0.1.14/src/Instances/TH/Lift.hs new/th-lift-instances-0.1.17/src/Instances/TH/Lift.hs --- old/th-lift-instances-0.1.14/src/Instances/TH/Lift.hs 2019-08-13 22:13:37.000000000 +0200 +++ new/th-lift-instances-0.1.17/src/Instances/TH/Lift.hs 2001-09-09 03:46:40.000000000 +0200 @@ -2,6 +2,8 @@ {-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 800 {-# LANGUAGE TemplateHaskellQuotes #-} +{-# LANGUAGE DeriveLift #-} +{-# LANGUAGE StandaloneDeriving #-} #else {-# LANGUAGE TemplateHaskell #-} #endif @@ -54,6 +56,9 @@ ) where import Language.Haskell.TH.Syntax (Lift(..)) +#if MIN_VERSION_template_haskell(2,16,0) +import Language.Haskell.TH.Syntax (unsafeTExpCoerce) +#endif import Language.Haskell.TH import qualified Data.Foldable as F @@ -78,12 +83,27 @@ #endif -- Containers +import qualified Data.Tree as Tree + +#if MIN_VERSION_containers(5,10,1) +-- recent enough containers exports internals, +-- so we can use DeriveLift +-- This way we construct the data type exactly as we have it +-- during compile time, so there is nothing left for run-time. +#define HAS_CONTAINERS_INTERNALS 1 + +import qualified Data.IntMap.Internal as IntMap +import qualified Data.IntSet.Internal as IntSet +import qualified Data.Map.Internal as Map +import qualified Data.Sequence.Internal as Sequence +import qualified Data.Set.Internal as Set +#else import qualified Data.IntMap as IntMap import qualified Data.IntSet as IntSet import qualified Data.Map as Map import qualified Data.Sequence as Sequence import qualified Data.Set as Set -import qualified Data.Tree as Tree +#endif #if !MIN_VERSION_text(1,2,4) -- Text @@ -110,6 +130,12 @@ import Control.Applicative (Const (..)) import Data.Functor.Identity (Identity (..)) +#if MIN_VERSION_template_haskell(2,16,0) +#define LIFT_TYPED_DEFAULT liftTyped = unsafeTExpCoerce . lift +#else +#define LIFT_TYPED_DEFAULT +#endif + -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- @@ -178,28 +204,47 @@ -------------------------------------------------------------------------------- -- Containers +-- + +#if __GLASGOW_HASKELL__ >= 800 +deriving instance Lift a => Lift (Tree.Tree a) +#else +instance Lift a => Lift (Tree.Tree a) where + lift (Tree.Node x xs) = [| Tree.Node x xs |] +#endif + +#if HAS_CONTAINERS_INTERNALS +deriving instance Lift v => Lift (IntMap.IntMap v) +deriving instance Lift IntSet.IntSet +deriving instance (Lift k, Lift v) => Lift (Map.Map k v) +deriving instance Lift a => Lift (Sequence.Seq a) +deriving instance Lift a => Lift (Set.Set a) +#else instance Lift v => Lift (IntMap.IntMap v) where lift m = [| IntMap.fromList m' |] where m' = IntMap.toList m + LIFT_TYPED_DEFAULT instance Lift IntSet.IntSet where lift s = [| IntSet.fromList s' |] where s' = IntSet.toList s + LIFT_TYPED_DEFAULT instance (Lift k, Lift v) => Lift (Map.Map k v) where lift m = [| Map.fromList m' |] where m' = Map.toList m + LIFT_TYPED_DEFAULT instance Lift a => Lift (Sequence.Seq a) where lift s = [| Sequence.fromList s' |] where s' = F.toList s + LIFT_TYPED_DEFAULT instance Lift a => Lift (Set.Set a) where lift s = [| Set.fromList s' |] where s' = Set.toList s - -instance Lift a => Lift (Tree.Tree a) where - lift (Tree.Node x xs) = [| Tree.Node x xs |] + LIFT_TYPED_DEFAULT +#endif #if !MIN_VERSION_text(1,2,4) -------------------------------------------------------------------------------- @@ -207,10 +252,12 @@ instance Lift Text.Text where lift t = [| Text.pack t' |] where t' = Text.unpack t + LIFT_TYPED_DEFAULT instance Lift Text.Lazy.Text where lift t = [| Text.Lazy.pack t' |] where t' = Text.Lazy.unpack t + LIFT_TYPED_DEFAULT #endif -------------------------------------------------------------------------------- @@ -227,6 +274,7 @@ #else LitE $ StringPrimL $ ByteString.Char8.unpack b #endif + LIFT_TYPED_DEFAULT instance Lift ByteString.Lazy.ByteString where lift lb = do @@ -234,29 +282,44 @@ return (VarE 'ByteString.Lazy.fromChunks `AppE` b') where b = ByteString.Lazy.toChunks lb + LIFT_TYPED_DEFAULT -------------------------------------------------------------------------------- -- Vector instance (Vector.Primitive.Prim a, Lift a) => Lift (Vector.Primitive.Vector a) where - lift v = [| Vector.Primitive.fromList v' |] where + lift v = [| Vector.Primitive.fromListN n' v' |] where + n' = Vector.Primitive.length v v' = Vector.Primitive.toList v + LIFT_TYPED_DEFAULT instance (Vector.Storable.Storable a, Lift a) => Lift (Vector.Storable.Vector a) where - lift v = [| Vector.Storable.fromList v' |] where + lift v = [| Vector.Storable.fromListN n' v' |] where + n' = Vector.Storable.length v v' = Vector.Storable.toList v + LIFT_TYPED_DEFAULT instance (Vector.Unboxed.Unbox a, Lift a) => Lift (Vector.Unboxed.Vector a) where - lift v = [| Vector.Unboxed.fromList v' |] where + lift v = [| Vector.Unboxed.fromListN n' v' |] where + n' = Vector.Unboxed.length v v' = Vector.Unboxed.toList v + LIFT_TYPED_DEFAULT instance Lift a => Lift (Vector.Boxed.Vector a) where - lift v = [| Vector.Boxed.fromList v' |] where + lift v = [| Vector.Boxed.fromListN n' v' |] where + n' = Vector.Boxed.length v v' = Vector.Boxed.toList v + LIFT_TYPED_DEFAULT -------------------------------------------------------------------------------- -- Transformers + +#if __GLASGOW_HASKELL__ >= 800 +deriving instance Lift a => Lift (Identity a) +deriving instance Lift a => Lift (Const a b) +#else instance Lift a => Lift (Identity a) where lift (Identity a) = [| Identity a |] instance Lift a => Lift (Const a b) where lift (Const a) = [| Const a |] +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/th-lift-instances-0.1.14/th-lift-instances.cabal new/th-lift-instances-0.1.17/th-lift-instances.cabal --- old/th-lift-instances-0.1.14/th-lift-instances.cabal 2019-08-13 22:13:37.000000000 +0200 +++ new/th-lift-instances-0.1.17/th-lift-instances.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,20 +1,19 @@ name: th-lift-instances -version: 0.1.14 +version: 0.1.17 cabal-version: >=1.10 build-type: Simple license: BSD3 license-file: LICENSE -copyright: Copyright (C) 2013-2016 Benno Fünfstück +copyright: Copyright (C) 2013-2020 Benno Fünfstück maintainer: Benno Fünfstück <benno.fuenfstu...@gmail.com> stability: experimental homepage: http://github.com/bennofs/th-lift-instances/ bug-reports: http://github.com/bennofs/th-lift-instances/issues synopsis: Lift instances for template-haskell for common data types. description: - Most data types in haskell platform do not have Lift instances. + Most data types in the haskell platform do not have Lift instances. This package provides orphan instances for containers, text, bytestring and vector. - It also acts as a compat instances, definining instances not existing - in @template-haskell@ + It also provides compat instances for older versions of @template-haskell@ . Note that <https://hackage.haskell.org/package/th-lift th-lift> package provides Template Haskell based derivation of @Lift@ instances (when you cannot use @DeriveLift@ extension), @@ -38,7 +37,7 @@ base >=4.3 && <5, template-haskell >=2.5.0.0, containers, - vector >= 0.4, + vector >= 0.7, text, transformers, bytestring