diff --git a/generic-deriving.cabal b/generic-deriving.cabal new file mode 100644 index 0000000..3360577 --- /dev/null +++ b/generic-deriving.cabal @@ -0,0 +1,154 @@ +name: generic-deriving +version: 1.14 +x-revision: 1 +synopsis: Generic programming library for generalised deriving. +description: + + This package provides functionality for generalising the deriving mechanism + in Haskell to arbitrary classes. It was first described in the paper: + . + * /A generic deriving mechanism for Haskell/. + Jose Pedro Magalhaes, Atze Dijkstra, Johan Jeuring, and Andres Loeh. + Haskell'10. + . + The current implementation integrates with the new GHC Generics. See + for more information. + Template Haskell code is provided for supporting older GHCs. + . + This library is organized as follows: + . + * "Generics.Deriving.Base" defines the core functionality for GHC generics, + including the @Generic(1)@ classes and representation data types. + On modern versions of GHC, this simply re-exports "GHC.Generics" from + @base@. On older versions of GHC, this module backports parts of + "GHC.Generics" that were not included at the time, including @Generic(1)@ + instances. + . + * "Generics.Deriving.TH" implements Template Haskell functionality for + deriving instances of @Generic(1)@. + . + * Educational code: in order to provide examples of how to define and use + "GHC.Generics"-based defaults, this library offers a number of modules + which define examples of type classes along with default implementations + for the classes' methods. Currently, the following modules are provided: + "Generics.Deriving.Copoint", "Generics.Deriving.ConNames", + "Generics.Deriving.Enum", "Generics.Deriving.Eq", + "Generics.Deriving.Foldable", "Generics.Deriving.Functor", + "Generics.Deriving.Monoid", "Generics.Deriving.Semigroup", + "Generics.Deriving.Show", "Generics.Deriving.Traversable", + and "Generics.Deriving.Uniplate". + . + It is worth emphasizing that these modules are primarly intended for + educational purposes. Many of the classes in these modules resemble other + commonly used classes—for example, @GShow@ from "Generics.Deriving.Show" + resembles @Show@ from @base@—but in general, the classes that + @generic-deriving@ defines are not drop-in replacements. Moreover, the + generic defaults that @generic-deriving@ provide often make simplifying + assumptions that may violate expectations of how these classes might work + elsewhere. For example, the generic default for @GShow@ does not behave + exactly like @deriving Show@ would. + . + If you are seeking "GHC.Generics"-based defaults for type classes in + @base@, consider using the + @@ library. + . + * "Generics.Deriving.Default" provides newtypes that allow leveraging the + generic defaults in this library using the @DerivingVia@ GHC language + extension. + . + * "Generics.Deriving" re-exports "Generics.Deriving.Base", + "Generics.Deriving.Default", and a selection of educational modules. + +homepage: https://github.com/dreixel/generic-deriving +bug-reports: https://github.com/dreixel/generic-deriving/issues +category: Generics +copyright: 2011-2013 Universiteit Utrecht, University of Oxford +license: BSD3 +license-file: LICENSE +author: José Pedro Magalhães +maintainer: generics@haskell.org +stability: experimental +build-type: Simple +cabal-version: >= 1.10 +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.3 + , GHC == 8.10.1 +extra-source-files: CHANGELOG.md + , README.md + +source-repository head + type: git + location: https://github.com/dreixel/generic-deriving + +flag base-4-9 + description: Use base-4.9 or later. This version of base uses a + DataKinds-based encoding of GHC generics metadata. + default: True + +library + hs-source-dirs: src + exposed-modules: Generics.Deriving + Generics.Deriving.Base + Generics.Deriving.Instances + Generics.Deriving.Copoint + Generics.Deriving.ConNames + Generics.Deriving.Default + Generics.Deriving.Enum + Generics.Deriving.Eq + Generics.Deriving.Foldable + Generics.Deriving.Functor + Generics.Deriving.Monoid + Generics.Deriving.Semigroup + Generics.Deriving.Show + Generics.Deriving.Traversable + Generics.Deriving.Uniplate + + Generics.Deriving.TH + + other-modules: Generics.Deriving.Base.Internal + Generics.Deriving.Monoid.Internal + Generics.Deriving.Semigroup.Internal + Generics.Deriving.TH.Internal + Paths_generic_deriving + if flag(base-4-9) + build-depends: base >= 4.9 && < 5 + other-modules: Generics.Deriving.TH.Post4_9 + else + build-depends: base >= 4.3 && < 4.9 + other-modules: Generics.Deriving.TH.Pre4_9 + + build-depends: containers >= 0.1 && < 0.7 + , ghc-prim < 1 + , template-haskell >= 2.4 && < 2.19 + , th-abstraction >= 0.4 && < 0.5 + + default-language: Haskell2010 + ghc-options: -Wall + +test-suite spec + type: exitcode-stdio-1.0 + main-is: Spec.hs + other-modules: DefaultSpec + EmptyCaseSpec + ExampleSpec + T68Spec + TypeInTypeSpec + build-depends: base >= 4.3 && < 5 + , generic-deriving + , hspec >= 2 && < 3 + , template-haskell >= 2.4 && < 2.18 + build-tool-depends: hspec-discover:hspec-discover + hs-source-dirs: tests + default-language: Haskell2010 + ghc-options: -Wall -threaded -rtsopts + if impl(ghc >= 8.6) + ghc-options: -Wno-star-is-type diff --git a/ghc-generic-deriving.changes b/ghc-generic-deriving.changes index e8944a9..73683c2 100644 --- a/ghc-generic-deriving.changes +++ b/ghc-generic-deriving.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Apr 30 08:29:38 UTC 2021 - psimons@suse.com + +- Update generic-deriving to version 1.14 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + ------------------------------------------------------------------- Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup diff --git a/ghc-generic-deriving.spec b/ghc-generic-deriving.spec index d6b8cef..e0c8399 100644 --- a/ghc-generic-deriving.spec +++ b/ghc-generic-deriving.spec @@ -1,7 +1,7 @@ # # spec file for package ghc-generic-deriving # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -25,6 +25,7 @@ Summary: Generic programming library for generalised deriving License: BSD-3-Clause 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 @@ -101,6 +102,7 @@ files. %prep %autosetup -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build