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
This commit is contained in:
Peter Simons 2025-03-05 22:00:58 +00:00 committed by Git OBS Bridge
commit f563b2f5b8
7 changed files with 641 additions and 0 deletions

23
.gitattributes vendored Normal file

@ -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

1
.gitignore vendored Normal file

@ -0,0 +1 @@
.osc

456
ghc-th-abstraction.changes Normal file

@ -0,0 +1,456 @@
-------------------------------------------------------------------
Sun Mar 2 13:35:52 UTC 2025 - Peter Simons <psimons@suse.com>
- 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 <psimons@suse.com>
- 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 <psimons@suse.com>
- 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 <psimons@suse.com>
- 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 <psimons@suse.com>
- 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 <psimons@suse.com>
- 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 <psimons@suse.com>
- Updated spec file to conform with ghc-rpm-macros-2.5.2.
-------------------------------------------------------------------
Mon Feb 27 10:44:12 UTC 2023 - Peter Simons <psimons@suse.com>
- 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 <psimons@suse.com>
- 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 <psimons@suse.com>
- 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 <mimi.vx@gmail.com>
- 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 <psimons@suse.com>
- Replace %setup -q with the more modern %autosetup macro.
-------------------------------------------------------------------
Tue Jun 16 11:14:41 UTC 2020 - Peter Simons <psimons@suse.com>
- 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 <psimons@suse.com>
- 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 <psimons@suse.com>
- 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.

102
ghc-th-abstraction.spec Normal file

@ -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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:69ea6eca1f0c00b6e1e1f8329c908ec76e73855e2ce6e91ace2f8bbf92c51a30
size 43152

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f9b6184aba4c6b61dd0d96f7dad41a4c9db0a01d3cdbf993a7d860488f1c04c5
size 45428

53
th-abstraction.cabal Normal file

@ -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