revise .cabal

This commit is contained in:
Jens Petersen 2022-06-18 00:21:41 +08:00
parent cfe3a53146
commit ca4ed83b92
2 changed files with 128 additions and 0 deletions

125
fclabels-2.0.5.1.cabal Normal file
View File

@ -0,0 +1,125 @@
Name: fclabels
Version: 2.0.5.1
x-revision: 1
Author: Sebastiaan Visser, Erik Hesselink, Chris Eidhof, Sjoerd Visscher
with lots of help and feedback from others.
Synopsis: First class accessor labels implemented as lenses.
Description: This package provides first class labels that can act as
bidirectional record fields. The labels can be derived
automatically using Template Haskell which means you don't have
to write any boilerplate yourself. The labels are implemented as
/lenses/ and are fully composable. Lenses can be used to /get/,
/set/ and /modify/ parts of a data type in a consistent way.
.
See "Data.Label" for an introductory explanation or see the
introductory blog post at
<http://fvisser.nl/post/2013/okt/1/fclabels-2.0.html>
.
* /Total and partial lenses/
.
Internally lenses do not used Haskell functions directly, but
are implemented as categories. Categories allow the lenses to be
run in custom computational contexts. This approach allows us to
make partial lenses that point to fields of multi-constructor
datatypes in an elegant way.
.
See "Data.Label.Partial" for the use of partial labels.
.
* /Monomorphic and polymorphic lenses/
.
We have both polymorphic and monomorphic lenses. Polymorphic
lenses allow updates that change the type. The types of
polymorphic lenses are slightly more verbose than their
monomorphic counterparts, but their usage is similar. Because
monomorphic lenses are built by restricting the types of
polymorphic lenses they are essentially the same and can be
freely composed with eachother.
.
See "Data.Label.Mono" and "Data.Label.Poly" for the difference
between polymorphic and monomorphic lenses.
.
* /Using fclabels/
.
To simplify working with labels we supply both a set of labels
for Haskell's base types, like lists, tuples, Maybe and Either,
and we supply a set of combinators for working with labels for
values in the Reader and State monad.
.
See "Data.Label.Base" and "Data.Label.Monadic" for more
information.
.
* /Changelog from 2.0.4 to 2.0.5/
.
> - Support for GHC 8.10. Thanks to Potato Hatsue.
Maintainer: Sebastiaan Visser <code@fvisser.nl>
Homepage: https://github.com/sebastiaanvisser/fclabels
Bug-Reports: https://github.com/sebastiaanvisser/fclabels/issues
License: BSD3
License-File: LICENSE
Category: Data, Lenses
Cabal-Version: >= 1.10
Build-Type: Simple
Tested-With:
GHC==7.4.2,
GHC==7.6.3,
GHC==7.8.4,
GHC==7.10.3,
GHC==8.0.2
Extra-Source-Files:
README.md
CHANGELOG
Library
HS-Source-Dirs: src
Exposed-Modules:
Data.Label
Data.Label.Base
Data.Label.Derive
Data.Label.Failing
Data.Label.Monadic
Data.Label.Mono
Data.Label.Partial
Data.Label.Point
Data.Label.Poly
Data.Label.Total
GHC-Options: -Wall
Build-Depends:
base >= 4.5 && < 4.17
, base-orphans >= 0.8.2 && < 0.9
, template-haskell >= 2.2 && < 2.19
, mtl >= 1.0 && < 2.3
, transformers >= 0.2 && < 0.6
Default-Language: Haskell2010
Source-Repository head
Type: git
Location: git://github.com/sebastiaanvisser/fclabels.git
Test-Suite suite
Type: exitcode-stdio-1.0
HS-Source-Dirs: test
Main-Is: TestSuite.hs
Ghc-Options: -Wall -threaded
Build-Depends:
base < 5
, fclabels
, template-haskell
, mtl
, transformers
, HUnit >= 1.2 && < 1.7
Default-Language: Haskell2010
Benchmark benchmark
Type: exitcode-stdio-1.0
HS-Source-Dirs: bench
Main-Is: Benchmark.hs
Ghc-Options: -Wall -threaded
Build-Depends:
base < 5
, fclabels
, criterion < 1.6
Default-Language: Haskell2010

View File

@ -15,9 +15,11 @@ License: BSD
Url: https://hackage.haskell.org/package/%{pkg_name}
# Begin cabal-rpm sources:
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal
# End cabal-rpm sources
# Begin cabal-rpm deps:
BuildRequires: dos2unix
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-base-prof
@ -76,6 +78,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
# Begin cabal-rpm setup:
%setup -q -n %{pkgver}
dos2unix -k -n %{SOURCE1} %{pkg_name}.cabal
# End cabal-rpm setup