From f563b2f5b89bcbdc43dc706f13d12f61f485e2280261409bfffc27d0d7224771 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 5 Mar 2025 22:00:58 +0000 Subject: [PATCH] osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-th-abstraction revision:4, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-th-abstraction?expand=0&rev=72 --- .gitattributes | 23 ++ .gitignore | 1 + ghc-th-abstraction.changes | 456 ++++++++++++++++++++++++++++++++++ ghc-th-abstraction.spec | 102 ++++++++ th-abstraction-0.6.0.0.tar.gz | 3 + th-abstraction-0.7.1.0.tar.gz | 3 + th-abstraction.cabal | 53 ++++ 7 files changed, 641 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 ghc-th-abstraction.changes create mode 100644 ghc-th-abstraction.spec create mode 100644 th-abstraction-0.6.0.0.tar.gz create mode 100644 th-abstraction-0.7.1.0.tar.gz create mode 100644 th-abstraction.cabal diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/ghc-th-abstraction.changes b/ghc-th-abstraction.changes new file mode 100644 index 0000000..e1022d6 --- /dev/null +++ b/ghc-th-abstraction.changes @@ -0,0 +1,456 @@ +------------------------------------------------------------------- +Sun Mar 2 13:35:52 UTC 2025 - Peter Simons + +- Update th-abstraction to version 0.7.1.0 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Thu Dec 5 11:48:06 UTC 2024 - Peter Simons + +- Update th-abstraction to version 0.7.1.0. + ## 0.7.1.0 -- 2024.12.05 + * Drop support for pre-8.0 versions of GHC. + +------------------------------------------------------------------- +Sun Mar 17 15:30:04 UTC 2024 - Peter Simons + +- Update th-abstraction to version 0.7.0.0. + ## 0.7.0.0 -- 2024.03.17 + * `DatatypeInfo` now has an additional `datatypeReturnKind` field. Most of the + time, this will be `StarT`, but this can also be more exotic kinds such as + `ConT ''UnliftedType` if dealing with primitive types, `UnliftedDatatypes`, + or `UnliftedNewtypes`. + * `reifyDatatype` and related functions now support primitive types such as + `Int#`. These will be reified as `DatatypeInfo`s with no `ConstructorInfo`s + and with `Datatype` as the `datatypeVariant`. + * `normalizeCon` now takes a `Kind` argument representing the return kind of + the parent data type. (This is sometimes necessary to determine which type + variables in the data constructor are universal or existential, depending + on if the variables appear in the return kind.) + * Fix a couple of bugs in which `normalizeDec` would return incorrect results + for GADTs that use `forall`s in their return kind. + +------------------------------------------------------------------- +Sun Mar 17 15:24:51 UTC 2024 - Peter Simons + +- Update th-abstraction to version 0.6.0.0 revision 2. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Sat Sep 30 12:03:02 UTC 2023 - Peter Simons + +- Update th-abstraction to version 0.6.0.0 revision 1. + ## 0.6.0.0 -- 2023.07.31 + * Support building with `template-haskell-2.21.0.0` (GHC 9.8). + * Adapt to `TyVarBndr`s for type-level declarations changing their type from + `TyVarBndr ()` to `TyVarBndr BndrVis` in `template-haskell`: + + * `Language.Haskell.TH.Datatype.TyVarBndr` now backports `type BndrVis = ()`, + as well as `BndrReq` and `BndrInvis` pattern synonyms. These make it + possible to write code involving `BndrVis` that is somewhat backwards + compatible (but do see the caveats in the Haddocks for `BndrInvis`). + * `Language.Haskell.TH.Datatype.TyVarBndr` also backports the following + definitions: + * The `type TyVarBndrVis = TyVarBndr BndrVis` type synonym. + * The `DefaultBndrFlag` class, which can be used to write code that is + polymorphic over `TyVarBndr` flags while still allowing the code to return + a reasonable default value for the flag. + * The `bndrReq` and `bndrInvis` definitions, which behave identically to + `BndrReq` and `BndrInvis`. + * `Language.Haskell.TH.Datatype.TyVarBndr` now defines the following utility + functions, which are not present in `template-haskell`: + * `plainTVReq`, `plainTVInvis`, `kindedTVReq`, and `kindedTVInvis` + functions, which construct `PlainTV`s and `KindedTV`s with particular + `BndrVis` flags. + * An `elimTVFlag`, which behaves like `elimTV`, but where the continuation + arguments also take a `flag` argument. (Note that the type of this + function is slightly different on old versions of `template-haskell`. + See the Haddocks for more.) + * A `tvFlag` function, which extracts the `flag` from a `TyVarBndr`. (Note + that the type of this function is slightly different on old versions of + `template-haskell`. See the Haddocks for more.) + * The types of the `dataDCompat` and `newtypeDCompat` functions have had + their `[TyVarBndrUnit]` arguments changed to `[TyVarBndrVis]`, matching + similar changes to `DataD` and `NewtypeD` in `template-haskell`. + + Because `BndrVis` is a synonym for `()` on pre-9.8 versions of GHC, this + change is unlikely to break any existing code, provided that you build it + with GHC 9.6 or earlier. If you build with GHC 9.8 or later, on the other + hand, it is likely that you will need to update your existing code. Here are + some possible ways that your code might fail to compile with GHC 9.8, along + with some migration strategies: + + * Your code passes a `TyVarBndrUnit` in a place where a `TyVarBndrVis` is now + expected in GHC 9.8, such as in the arguments to `dataDCompat`: + + ```hs + import "template-haskell" Language.Haskell.TH + import "th-abstraction" Language.Haskell.TH.Datatype (dataDCompat) + + dec :: DecQ + dec = dataDCompat (pure []) d [PlainTV a ()] [] [] + where + d = mkName "d" + a = mkName "a" + ``` + + With GHC 9.8, this will fail to compile with: + + ``` + error: [GHC-83865] + • Couldn't match expected type ‘BndrVis’ with actual type ‘()’ + • In the second argument of ‘PlainTV’, namely ‘()’ + In the expression: PlainTV a () + In the third argument of ‘dataDCompat’, namely ‘[PlainTV a ()]’ + | + | dec = dataDCompat (pure []) d [PlainTV a ()] [] [] + | ^^ + ``` + + Some possible ways to migrate this code include: + + * Use the `bndrReq` function or `BndrReq` pattern synonym in place of `()`, + making sure to import them from `Language.Haskell.TH.Datatype.TyVarBndr`: + + ```hs + ... + import "th-abstraction" Language.Haskell.TH.Datatype.TyVarBndr + + dec :: DecQ + dec = dataDCompat (pure []) d [PlainTV a bndrReq] [] [] + -- Or, alternatively: + {- + dec = dataDCompat (pure []) d [PlainTV a BndrReq] [] [] + -} + where + ... + ``` + * Use the `plainTV` function from `Language.Haskell.TH.Datatype.TyVarBndr`, + which is now sufficiently polymorphic to work as both a `TyVarBndrUnit` + and a `TyVarBndrVis`: + + ```hs + ... + import Language.Haskell.TH.Datatype.TyVarBndr + + dec :: DecQ + dec = dataDCompat (pure []) d [plainTV a] [] [] + where + ... + ``` + * You may have to replace some uses of `TyVarBndrUnit` with `TyVarBndrVis` + in your code. For instance, this will no longer typecheck in GHC 9.8 for + similar reasons to the previous example: + + ```hs + import "template-haskell" Language.Haskell.TH + import "th-abstraction" Language.Haskell.TH.Datatype (dataDCompat) + + dec :: DecQ + dec = dataDCompat (pure []) d tvbs [] [] + where + tvbs :: [TyVarBndrUnit] + tvbs = [plainTV a] + + d = mkName "d" + a = mkName "a" + ``` + + Here is a version that will typecheck with GHC 9.8 and earlier: + + ```hs + ... + import "th-abstraction" Language.Haskell.TH.Datatype.TyVarBndr + + dec :: DecQ + dec = dataDCompat (pure []) d tvbs [] [] + where + tvbs :: [TyVarBndrVis] + tvbs = [plainTV a] + + ... + ``` + * In some cases, the `TyVarBndrUnit`s might come from another place in the + code, e.g., + + ```hs + import "template-haskell" Language.Haskell.TH + import "th-abstraction" Language.Haskell.TH.Datatype (dataDCompat) + + dec :: [TyVarBndrUnit] -> DecQ + dec tvbs = dataDCompat (pure []) d tvbs [] [] + where + d = mkName "d" + ``` + + If it is not straightforward to change `dec`'s type to accept + `[TyVarBndrVis]` as an argument, another viable option is to use the + `changeTVFlags` function: + + ```hs + ... + import "th-abstraction" Language.Haskell.TH.Datatype.TyVarBndr + + dec :: [TyVarBndrUnit] -> DecQ + dec tvbs = dataDCompat (pure []) d tvbs' [] [] + where + tvbs' :: [TyVarBndrVis] + tvbs' = changeTVFlags bndrReq tvbs + + ... + ``` + + This guide, while not comprehensive, should cover most of the common cases one + will encounter when migrating their `th-abstraction` code to support GHC 9.8. + +------------------------------------------------------------------- +Mon Jun 27 10:45:36 UTC 2023 - Peter Simons + +- Update th-abstraction to version 0.5.0.0. + ## 0.5.0.0 -- 2023.02.27 + * Support the `TypeData` language extension added in GHC 9.6. The + `DatatypeVariant` data type now has a separate `TypeData` constructor to + represent `type data` declarations. + * Add a `Lift` instance for `th-abstraction`'s compatibility shim for + `Specificity` when building with pre-9.0 versions of GHC. + +------------------------------------------------------------------- +Thu Mar 30 17:08:35 UTC 2023 - Peter Simons + +- Updated spec file to conform with ghc-rpm-macros-2.5.2. + +------------------------------------------------------------------- +Mon Feb 27 10:44:12 UTC 2023 - Peter Simons + +- Update th-abstraction to version 0.4.5.0 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Mon Sep 12 23:32:58 UTC 2022 - Peter Simons + +- Update th-abstraction to version 0.4.5.0. + ## 0.4.5.0 -- 2022.09.12 + * Fix a bug in which data family declarations with interesting return kinds + (e.g., `data family F :: Type -> Type`) would be reified incorrectly when + using `reifyDatatype`. + +------------------------------------------------------------------- +Sat Jul 23 17:44:02 UTC 2022 - Peter Simons + +- Update th-abstraction to version 0.4.4.0. + ## 0.4.4.0 -- 2022.07.23 + * Support free variable substitution and infix resolution for + `PromotedInfixT` and `PromotedUInfixT` on `template-haskell-2.19.0.0` or + later. + +------------------------------------------------------------------- +Thu Sep 2 08:31:58 UTC 2021 - psimons@suse.com + +- Update th-abstraction to version 0.4.3.0. + ## 0.4.3.0 -- 2021.08.30 + * Make `applySubstitution` avoid capturing type variable binders when + substituting into `forall`s. + * Fix a bug in which `resolveTypeSynonyms` would incorrectly expand type + synonyms that are not applied to enough arguments. + * Allow the test suite to build with GHC 9.2. + +------------------------------------------------------------------- +Fri Apr 30 08:29:32 UTC 2021 - psimons@suse.com + +- Update th-abstraction to version 0.4.2.0 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Wed Dec 30 17:53:11 UTC 2020 - psimons@suse.com + +- Update th-abstraction to version 0.4.2.0. + ## 0.4.2.0 -- 2020-12-30 + * Explicitly mark modules as Safe (or Trustworthy for GHC versions prior to 8.4). + +------------------------------------------------------------------- +Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup + +- disable %{ix86} build + +------------------------------------------------------------------- +Thu Dec 10 09:07:33 UTC 2020 - psimons@suse.com + +- Update th-abstraction to version 0.4.1.0. + ## 0.4.1.0 -- 2020-12-09 + * Fix a bug in which `normalizeDec` would give incorrect kind annotations to + type variables in quoted `Dec`s. `normalizeDec` now leaves the kinds of + type variable binders alone. + +------------------------------------------------------------------- +Wed Sep 30 08:36:12 UTC 2020 - psimons@suse.com + +- Update th-abstraction to version 0.4.0.0. + ## 0.4.0.0 -- 2020-09-29 + * Adapt to the `TyVarBndr` data type gaining a new `flag` type parameter + (in `template-haskell-2.17.0.0`) to represent its specificity: + * Introduce a new `Language.Haskell.TH.Datatype.TyVarBndr` module that + defines `TyVarBndr_`, a backwards-compatible type synonym for `TyVarBndr`, + as well as backporting `TyVarBndrSpec`, `TyVarBndrUnit`, and `Specificity`. + This module also defines other useful functions for constructing and + manipulating `TyVarBndr`s. + * The types in `Language.Haskell.TH.Datatype` now use `TyVarBndr_`, + `TyVarBndrUnit`, and `TyVarBndrSpec` where appropriate. Technically, this + is not a breaking change, since all three are simple type synonyms around + `TyVarBndr`, but it is likely that you will need to update your + `th-abstraction`-using code anyway if it involves a `TyVarBndr`-consuming + function. + +------------------------------------------------------------------- +Tue Aug 18 10:46:15 UTC 2020 - Peter Simons + +- Replace %setup -q with the more modern %autosetup macro. + +------------------------------------------------------------------- +Tue Jun 16 11:14:41 UTC 2020 - Peter Simons + +- Re-generate file with latest version of spec-cleaner. + +------------------------------------------------------------------- +Fri Feb 7 08:06:47 UTC 2020 - psimons@suse.com + +- Update th-abstraction to version 0.3.2.0. + ## 0.3.2.0 -- 2020-02-06 + * Support substituting into and extracting free variables from `ForallVisT`s + on `template-haskell-2.16.0.0` (GHC 8.10) or later. + * Fix a bug in which `freeVariables` could report duplicate kind variables when + they occur in the kinds of the type variable binders in a `ForallT`. + * Fix a bug in which `resolveInfixT` would not resolve `UInfixT`s occurring in + the kinds of type variable binders in a `ForallT`. + * Fix a bug in which the `TypeSubstitution ConstructorInfo` instance would not + detect free kind variables in the `constructorVars`. + +------------------------------------------------------------------- +Fri Nov 8 16:14:57 UTC 2019 - Peter Simons + +- Drop obsolete group attributes. + +------------------------------------------------------------------- +Tue Apr 30 09:23:09 UTC 2019 - psimons@suse.com + +- Update th-abstraction to version 0.3.1.0. + ## 0.3.1.0 -- 2019-04-28 + * Fix a bug which would cause data family information to be reified incorrectly + with GHC 8.8+ in some situations. + + ## 0.3.0.0 -- 2019-04-26 + * Breaking change: the `datatypeVars` field of `DatatypeInfo` is now of type + `[TyVarBndr]` instead of `[Type]`, as it now refers to all of the bound type + variables in the data type. The old `datatypeVars` field has been renamed to + `datatypeInstTypes` to better reflect its purpose. + + In addition, the type of `normalizeCon` now has an additional `[TyVarBndr]` + argument, since `DatatypeInfo` now requires it. + * Support `template-haskell-2.15`. + * Fix a bug in which `normalizeDec` would not detect existential type variables + in a GADT constructor if they were implicitly quantified. + * Fix a bug in which `normalizeDec` would report an incorrect number of + `datatypeVars` for GADT declarations with explicit return kinds (such as + `data Foo :: * -> * where`). + +------------------------------------------------------------------- +Wed Feb 27 03:02:53 UTC 2019 - psimons@suse.com + +- Update th-abstraction to version 0.2.11.0. + ## 0.2.11.0 -- 2019-02-26 + * Fix a bug in which `freeVariablesWellScoped` would sometimes not preserve + the left-to-right ordering of `Name`s generated with `newName`. + +------------------------------------------------------------------- +Fri Dec 21 03:02:45 UTC 2018 - psimons@suse.com + +- Update th-abstraction to version 0.2.10.0. + ## 0.2.10.0 -- 2018-12-20 + * Optimization: `quantifyType` now collapses consecutive `forall`s. For + instance, calling `quantifyType` on `forall b. a -> b -> T a` now produces + `forall a b. a -> b -> T a` instead of `forall a. forall b. a -> b -> T a`. + + ## 0.2.9.0 -- 2018-12-20 + * Fix a bug in which `resolveTypeSynonyms` would not look into `ForallT`s, + `SigT`s, `InfixT`s, or `ParensT`s. + * Fix a bug in which `quantifyType` would not respect the dependency order of + type variables (e.g., `Proxy (a :: k)` would have erroneously been quantified + as `forall a k. Proxy (a :: k)`). + * Fix a bug in which `asEqualPred` would return incorrect results with GHC 8.7. + * Add a `freeVariablesWellScoped` function which computes the free variables of + a list of types and sorts them according to dependency order. + * Add a `resolveKindSynonyms` function which expands all type synonyms in a + `Kind`. This is mostly useful for supporting old GHCs where `Type` and `Kind` + were not the same. + +------------------------------------------------------------------- +Sat Oct 20 11:32:05 UTC 2018 - Peter Simons + +- Use https URL to refer to bugs.opensuse.org. + +------------------------------------------------------------------- +Wed Jul 18 14:26:43 UTC 2018 - psimons@suse.com + +- Cosmetic: replace tabs with blanks, strip trailing white space, + and update copyright headers with spec-cleaner. + +------------------------------------------------------------------- +Fri Jul 13 14:31:53 UTC 2018 - psimons@suse.com + +- Update th-abstraction to version 0.2.8.0. + ## 0.2.8.0 -- 2018-06-29 + * GADT reification is now much more robust with respect to `PolyKinds`: + * A bug in which universally quantified kind variables were mistakenly + flagged as existential has been fixed. + * A bug in which the kinds of existentially quantified type variables + were not substituted properly has been fixed. + * More kind equalities are detected than before. For example, in the + following data type: + + ```haskell + data T (a :: k) where + MkT :: forall (a :: Bool). T a + ``` + + We now catch the `k ~ Bool` equality. + * Tweak `resolveTypeSynonyms` so that failing to reify a type constructor + name so longer results in an error. Among other benefits, this makes + it possible to pass data types with GADT syntax to `normalizeDec`. + + ## 0.2.7.0 -- 2018-06-17 + * Fix bug in which data family instances with duplicate occurrences of type + variables in the left-hand side would have redundant equality constraints + in their contexts. + +------------------------------------------------------------------- +Mon May 14 17:02:11 UTC 2018 - psimons@suse.com + +- Update th-abstraction to version 0.2.6.0 revision 1. + * Fix bug in which `applySubstitution` and `freeVariables` would ignore + type variables in the kinds of type variable binders. + * Added `pragLineDCompat`, `newtypeDCompat` and `tySynInstDCompat` + * Fix bug that caused GADT equality constraints to be incorrect in some cases. + * Expose `Unpackedness` and `Strictness` (which were unexported by accident). + * Add `resolvePredSynonyms` + * Add `reifyConstructor`, which allows reification of `ConstructorInfo` from + a constructor name, and `lookupByConstructorName`, which allows directly + looking up a `ConstructorInfo` from a `DatatypeInfo` value for a given + constructor `Name`. + * Augment `reifyDatatype` to be able to look up `DatatypeInfo` from the `Name` + of a record selector for one of its constructors. Also add `reifyRecord` for + reification of of `ConstructorInfo` from a record name, and + `lookupByRecordName`, which allows directly looking up a `ConstructorInfo` + from a `DatatypeInfo` value for a given record `Name`. + * Fix bug that caused `th-abstraction` to fail on GHC 7.0 and 7.2 when passing + a vanilla constructor name to `reifyDatatype` + * Make `normalizeDec` and `normalizeCon` more robust with respect to + data family instances on GHC 7.6 and 7.8 + +------------------------------------------------------------------- +Fri Jun 30 03:01:59 UTC 2017 - psimons@suse.com + +- Update to version 0.2.3.0. + +------------------------------------------------------------------- +Mon Jun 19 21:01:50 UTC 2017 - psimons@suse.com + +- Update to version 0.2.2.0. diff --git a/ghc-th-abstraction.spec b/ghc-th-abstraction.spec new file mode 100644 index 0000000..869d9f9 --- /dev/null +++ b/ghc-th-abstraction.spec @@ -0,0 +1,102 @@ +# +# spec file for package ghc-th-abstraction +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global pkg_name th-abstraction +%global pkgver %{pkg_name}-%{version} +%bcond_with tests +Name: ghc-%{pkg_name} +Version: 0.7.1.0 +Release: 0 +Summary: Nicer interface for reified information about data types +License: ISC +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-base-devel +BuildRequires: ghc-base-prof +BuildRequires: ghc-containers-devel +BuildRequires: ghc-containers-prof +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-template-haskell-devel +BuildRequires: ghc-template-haskell-prof +ExcludeArch: %{ix86} + +%description +This package normalizes variations in the interface for inspecting datatype +information via Template Haskell so that packages and support a single, easier +to use informational datatype while supporting many versions of Template +Haskell. + +%package devel +Summary: Haskell %{pkg_name} library development files +Requires: %{name} = %{version}-%{release} +Requires: ghc-compiler = %{ghc_version} +Requires(post): ghc-compiler = %{ghc_version} +Requires(postun): ghc-compiler = %{ghc_version} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + +%package -n ghc-%{pkg_name}-doc +Summary: Haskell %{pkg_name} library documentation +Requires: ghc-filesystem +BuildArch: noarch + +%description -n ghc-%{pkg_name}-doc +This package provides the Haskell %{pkg_name} library documentation. + +%package -n ghc-%{pkg_name}-prof +Summary: Haskell %{pkg_name} profiling library +Requires: ghc-%{pkg_name}-devel = %{version}-%{release} +Supplements: (ghc-%{pkg_name}-devel and ghc-prof) + +%description -n ghc-%{pkg_name}-prof +This package provides the Haskell %{pkg_name} profiling library. + +%prep +%autosetup -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal + +%build +%ghc_lib_build + +%install +%ghc_lib_install + +%check +%cabal_test + +%post devel +%ghc_pkg_recache + +%postun devel +%ghc_pkg_recache + +%files -f %{name}.files +%license LICENSE + +%files devel -f %{name}-devel.files +%doc ChangeLog.md README.md + +%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files +%license LICENSE + +%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files + +%changelog diff --git a/th-abstraction-0.6.0.0.tar.gz b/th-abstraction-0.6.0.0.tar.gz new file mode 100644 index 0000000..b08448a --- /dev/null +++ b/th-abstraction-0.6.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69ea6eca1f0c00b6e1e1f8329c908ec76e73855e2ce6e91ace2f8bbf92c51a30 +size 43152 diff --git a/th-abstraction-0.7.1.0.tar.gz b/th-abstraction-0.7.1.0.tar.gz new file mode 100644 index 0000000..3d324d5 --- /dev/null +++ b/th-abstraction-0.7.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9b6184aba4c6b61dd0d96f7dad41a4c9db0a01d3cdbf993a7d860488f1c04c5 +size 45428 diff --git a/th-abstraction.cabal b/th-abstraction.cabal new file mode 100644 index 0000000..fbb3090 --- /dev/null +++ b/th-abstraction.cabal @@ -0,0 +1,53 @@ +name: th-abstraction +version: 0.7.1.0 +x-revision: 1 +synopsis: Nicer interface for reified information about data types +description: This package normalizes variations in the interface for + inspecting datatype information via Template Haskell + so that packages and support a single, easier to use + informational datatype while supporting many versions + of Template Haskell. +license: ISC +license-file: LICENSE +author: Eric Mertens +maintainer: emertens@gmail.com +copyright: 2017 Eric Mertens +homepage: https://github.com/glguy/th-abstraction +bug-reports: https://github.com/glguy/th-abstraction/issues +category: Development +build-type: Simple +extra-source-files: ChangeLog.md README.md +cabal-version: >=1.10 +tested-with: GHC==9.12.1, GHC==9.10.1, GHC==9.8.4, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2 + +source-repository head + type: git + location: https://github.com/glguy/th-abstraction.git + +library + exposed-modules: Language.Haskell.TH.Datatype + Language.Haskell.TH.Datatype.TyVarBndr + other-modules: Language.Haskell.TH.Datatype.Internal + build-depends: base >=4.9 && <5, + ghc-prim, + template-haskell >=2.11 && <2.24, + containers >=0.4 && <0.9 + hs-source-dirs: src + default-language: Haskell2010 + + if impl(ghc >= 9.0) + -- these flags may abort compilation with GHC-8.10 + -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295 + ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode + +test-suite unit-tests + other-modules: Harness + Types + type: exitcode-stdio-1.0 + main-is: Main.hs + build-depends: th-abstraction, base, containers, template-haskell + hs-source-dirs: test + default-language: Haskell2010 + + if impl(ghc >= 8.6) + ghc-options: -Wno-star-is-type