From d071967e7e62bb0e15d461999ef6e03bb2080da9 Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Fri, 17 Jul 2020 16:38:02 +0800 Subject: [PATCH] add revision --- ghc-semigroupoids.spec | 2 + semigroupoids-5.3.4.cabal | 219 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 semigroupoids-5.3.4.cabal diff --git a/ghc-semigroupoids.spec b/ghc-semigroupoids.spec index 6ba0be8..1f6da61 100644 --- a/ghc-semigroupoids.spec +++ b/ghc-semigroupoids.spec @@ -15,6 +15,7 @@ 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: @@ -92,6 +93,7 @@ This package provides the Haskell %{pkg_name} profiling library. %prep # Begin cabal-rpm setup: %setup -q -n %{pkgver} +cp -bp %{SOURCE1} %{pkg_name}.cabal chmod a-x CHANGELOG.markdown README.markdown # End cabal-rpm setup diff --git a/semigroupoids-5.3.4.cabal b/semigroupoids-5.3.4.cabal new file mode 100644 index 0000000..22a7b02 --- /dev/null +++ b/semigroupoids-5.3.4.cabal @@ -0,0 +1,219 @@ +name: semigroupoids +category: Control, Comonads +version: 5.3.4 +x-revision: 1 +license: BSD3 +cabal-version: >= 1.8 +license-file: LICENSE +author: Edward A. Kmett +maintainer: Edward A. Kmett +stability: provisional +homepage: http://github.com/ekmett/semigroupoids +bug-reports: http://github.com/ekmett/semigroupoids/issues +copyright: Copyright (C) 2011-2015 Edward A. Kmett +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.1 +build-type: Custom +synopsis: Semigroupoids: Category sans id +extra-source-files: + .travis.yml + .gitignore + .vim.custom + README.markdown + CHANGELOG.markdown + Warning.hs +description: + Provides a wide array of (semi)groupoids and operations for working with them. + . + A 'Semigroupoid' is a 'Category' without the requirement of identity arrows for every object in the category. + . + A 'Category' is any 'Semigroupoid' for which the Yoneda lemma holds. + . + When working with comonads you often have the @\<*\>@ portion of an @Applicative@, but + not the @pure@. This was captured in Uustalu and Vene's \"Essence of Dataflow Programming\" + in the form of the @ComonadZip@ class in the days before @Applicative@. Apply provides a weaker invariant, but for the comonads used for data flow programming (found in the streams package), this invariant is preserved. Applicative function composition forms a semigroupoid. + . + Similarly many structures are nearly a comonad, but not quite, for instance lists provide a reasonable 'extend' operation in the form of 'tails', but do not always contain a value. + . + Ideally the following relationships would hold: + . + > Foldable ----> Traversable <--- Functor ------> Alt ---------> Plus Semigroupoid + > | | | | | + > v v v v v + > Foldable1 ---> Traversable1 Apply --------> Applicative -> Alternative Category + > | | | | + > v v v v + > Bind ---------> Monad -------> MonadPlus Arrow + > + . + Apply, Bind, and Extend (not shown) give rise the Static, Kleisli and Cokleisli semigroupoids respectively. + . + This lets us remove many of the restrictions from various monad transformers + as in many cases the binding operation or @\<*\>@ operation does not require them. + . + Finally, to work with these weaker structures it is beneficial to have containers + that can provide stronger guarantees about their contents, so versions of 'Traversable' + and 'Foldable' that can be folded with just a 'Semigroup' are added. + +source-repository head + type: git + location: git://github.com/ekmett/semigroupoids.git + +custom-setup + setup-depends: + base >= 4 && < 5, + Cabal, + cabal-doctest >= 1 && < 1.1 + +flag containers + description: + You can disable the use of the `containers` package using `-f-containers`. + . + Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. + default: True + manual: True + +flag contravariant + description: + You can disable the use of the `contravariant` package using `-f-contravariant`. + . + Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. + . + If disabled we will not supply instances of `Contravariant` + . + default: True + manual: True + +flag distributive + description: + You can disable the use of the `distributive` package using `-f-distributive`. + . + Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. + . + If disabled we will not supply instances of `Distributive` + . + default: True + manual: True + +flag doctests + description: + You can disable testing with doctests using `-f-doctests`. + default: True + manual: True + +flag comonad + description: + You can disable the use of the `comonad` package using `-f-comonad`. + . + Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. + . + If disabled we will not supply instances of `Comonad` + . + default: True + manual: True + +flag tagged + description: + You can disable the use of the `tagged` package using `-f-tagged`. + . + Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. + default: True + manual: True + +flag unordered-containers + description: + You can disable the use of the `unordered-containers` package (and also its dependency `hashable`) using `-f-unordered-containers`. + . + Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. + default: True + manual: True + +library + build-depends: + base >= 4.3 && < 5, + base-orphans >= 0.8 && < 1, + bifunctors >= 5 && < 6, + template-haskell, + transformers >= 0.2 && < 0.6, + transformers-compat >= 0.5 && < 0.7 + + if impl(ghc >= 7.0 && < 7.2) + build-depends: generic-deriving >= 1.11 && < 1.14 + + if impl(ghc >= 7.2 && < 7.6) + build-depends: ghc-prim + + if !impl(ghc >= 8.0) + build-depends: semigroups >= 0.16.2 && < 1 + + if flag(containers) + build-depends: containers >= 0.3 && < 0.7 + + if flag(contravariant) + build-depends: contravariant >= 0.2.0.1 && < 2 + + if flag(distributive) + build-depends: distributive >= 0.2.2 && < 1 + + if flag(comonad) + build-depends: comonad >= 4.2.6 && < 6 + + if flag(tagged) + build-depends: tagged >= 0.8.5 && < 1 + + if flag(unordered-containers) + build-depends: hashable >= 1.1 && < 1.4, + unordered-containers >= 0.2 && < 0.3 + + hs-source-dirs: src + + exposed-modules: + Data.Bifunctor.Apply + Data.Functor.Alt + Data.Functor.Apply + Data.Functor.Bind + Data.Functor.Bind.Class + Data.Functor.Bind.Trans + Data.Functor.Extend + Data.Functor.Plus + Data.Groupoid + Data.Isomorphism + Data.Semigroup.Bifoldable + Data.Semigroup.Bitraversable + Data.Semigroup.Foldable + Data.Semigroup.Foldable.Class + Data.Semigroup.Traversable + Data.Semigroup.Traversable.Class + Data.Semigroupoid + Data.Semigroupoid.Dual + Data.Semigroupoid.Ob + Data.Semigroupoid.Static + Data.Traversable.Instances + + ghc-options: -Wall -fno-warn-warnings-deprecations + + if impl(ghc >= 7.10) + ghc-options: -fno-warn-trustworthy-safe + +test-suite doctests + type: exitcode-stdio-1.0 + main-is: doctests.hs + hs-source-dirs: test + ghc-options: -Wall -fno-warn-warnings-deprecations + + if !flag(doctests) + buildable: False + else + build-depends: + base >= 4 && < 5, + doctest >= 0.11.1 && < 0.18, + semigroupoids