From 887458142559fed1d86dc01f732e6b044b9c8baa3d757f331c2876199cebc4f8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 30 Mar 2023 08:26:23 +0000 Subject: [PATCH] osc copypac from project:devel:languages:haskell:ghc-9.4.x package:ghc-free revision:7, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-free?expand=0&rev=71 --- free.cabal | 167 +++++++++++++++++++++++++++++++++++++++++++++++ ghc-free.changes | 12 ++++ ghc-free.spec | 40 +++++++++++- 3 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 free.cabal diff --git a/free.cabal b/free.cabal new file mode 100644 index 0000000..fc7a5ab --- /dev/null +++ b/free.cabal @@ -0,0 +1,167 @@ +name: free +category: Control, Monads +version: 5.1.10 +x-revision: 2 +license: BSD3 +cabal-version: 1.18 +license-file: LICENSE +author: Edward A. Kmett +maintainer: Edward A. Kmett +stability: provisional +homepage: http://github.com/ekmett/free/ +bug-reports: http://github.com/ekmett/free/issues +copyright: Copyright (C) 2008-2015 Edward A. Kmett +tested-with: 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.4 + , GHC == 8.10.7 + , GHC == 9.0.2 + , GHC == 9.2.2 +synopsis: Monads for free +description: + Free monads are useful for many tree-like structures and domain specific languages. + . + If @f@ is a 'Functor' then the free 'Monad' on @f@ is the type + of trees whose nodes are labeled with the constructors of @f@. The word + \"free\" is used in the sense of \"unrestricted\" rather than \"zero-cost\": + @Free f@ makes no constraining assumptions beyond those given by @f@ and the + definition of 'Monad'. As used here it is a standard term from the + mathematical theory of adjoint functors. + . + Cofree comonads are dual to free monads. They provide convenient ways to talk + about branching streams and rose-trees, and can be used to annotate syntax + trees. The cofree comonad can be seen as a stream parameterized by a 'Functor' + that controls its branching factor. + . + More information on free monads, including examples, can be found in the + following blog posts: + + + +build-type: Simple +extra-source-files: + .ghci + .gitignore + .hlint.yaml + .vim.custom + README.markdown + CHANGELOG.markdown + doc/proof/Control/Comonad/Cofree/*.md + doc/proof/Control/Comonad/Trans/Cofree/*.md + examples/free-examples.cabal + examples/LICENSE + examples/*.hs + examples/*.lhs + include/free-common.h +extra-doc-files: + examples/*.hs + examples/*.lhs + +source-repository head + type: git + location: git://github.com/ekmett/free.git + +library + hs-source-dirs: src + include-dirs: include + includes: free-common.h + + default-language: Haskell2010 + default-extensions: CPP + other-extensions: + MultiParamTypeClasses + FunctionalDependencies + FlexibleInstances + UndecidableInstances + Rank2Types + GADTs + + build-depends: + base >= 4.5 && < 5, + comonad >= 5.0.8 && < 6, + containers >= 0.3 && < 0.7, + distributive >= 0.5.2 && < 1, + exceptions >= 0.10.4 && < 0.11, + indexed-traversable >= 0.1.1 && < 0.2, + semigroupoids >= 5.3.5 && < 7, + th-abstraction >= 0.4.2.0 && < 0.6, + transformers >= 0.3 && < 0.7, + transformers-base >= 0.4.5.2 && < 0.5, + template-haskell >= 2.7.0.0 && < 2.21 + + -- GHC-7.8 bundles transformers-0.3, + -- mtl-2.2.* requires transformers >=0.4 + if impl(ghc >=7.10) + build-depends: + mtl >= 2.2.2 && < 2.4 + else + build-depends: + mtl >= 2.1.3.1 && < 2.4 + + -- recent profunctors dropped support for GHCs older than 7.8 + if impl(ghc >=7.8) + build-depends: + profunctors >= 5.6.1 && < 6 + else + build-depends: + profunctors >= 5.2.2 && < 5.3 + + if !impl(ghc >= 8.2) + build-depends: bifunctors >= 5.5.9 && < 6 + + if !impl(ghc >= 8.0) + build-depends: semigroups >= 0.18.5 && < 1 + + -- Ensure Data.Functor.Classes is always available + if impl(ghc >= 7.10) + build-depends: transformers >= 0.4.2.0 + else + build-depends: transformers-compat >= 0.5.1.0 && <0.8 + + exposed-modules: + Control.Applicative.Free + Control.Applicative.Free.Fast + Control.Applicative.Free.Final + Control.Applicative.Trans.Free + Control.Alternative.Free + Control.Alternative.Free.Final + Control.Comonad.Cofree + Control.Comonad.Cofree.Class + Control.Comonad.Trans.Cofree + Control.Comonad.Trans.Coiter + Control.Monad.Free + Control.Monad.Free.Ap + Control.Monad.Free.Church + Control.Monad.Free.Class + Control.Monad.Free.TH + Control.Monad.Trans.Free + Control.Monad.Trans.Free.Ap + Control.Monad.Trans.Free.Church + Control.Monad.Trans.Iter + + other-modules: + Data.Functor.Classes.Compat + + ghc-options: -Wall + + -- See https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#base-4.9.0.0 + if impl(ghc >= 8.0) + ghc-options: -Wcompat -Wnoncanonical-monad-instances + + if !impl(ghc >= 8.8) + ghc-options: -Wnoncanonical-monadfail-instances + else + build-depends: fail == 4.9.* + + 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 + + x-docspec-extra-packages: tagged diff --git a/ghc-free.changes b/ghc-free.changes index 0c7e720..5a88625 100644 --- a/ghc-free.changes +++ b/ghc-free.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Sun Mar 12 19:10:46 UTC 2023 - Peter Simons + +- Update free to version 5.1.10 revision 2. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Mon Feb 27 13:06:01 UTC 2023 - Peter Simons + +- Update free to version 5.1.10 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + ------------------------------------------------------------------- Wed Nov 30 12:05:58 UTC 2022 - Peter Simons diff --git a/ghc-free.spec b/ghc-free.spec index 68c637f..1667fbc 100644 --- a/ghc-free.spec +++ b/ghc-free.spec @@ -1,7 +1,7 @@ # # spec file for package ghc-free # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,6 +17,7 @@ %global pkg_name free +%global pkgver %{pkg_name}-%{version} Name: ghc-%{pkg_name} Version: 5.1.10 Release: 0 @@ -24,20 +25,35 @@ Summary: Monads for free 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/2.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof BuildRequires: ghc-comonad-devel +BuildRequires: ghc-comonad-prof BuildRequires: ghc-containers-devel +BuildRequires: ghc-containers-prof BuildRequires: ghc-distributive-devel +BuildRequires: ghc-distributive-prof BuildRequires: ghc-exceptions-devel +BuildRequires: ghc-exceptions-prof BuildRequires: ghc-indexed-traversable-devel +BuildRequires: ghc-indexed-traversable-prof BuildRequires: ghc-mtl-devel +BuildRequires: ghc-mtl-prof BuildRequires: ghc-profunctors-devel +BuildRequires: ghc-profunctors-prof BuildRequires: ghc-rpm-macros BuildRequires: ghc-semigroupoids-devel +BuildRequires: ghc-semigroupoids-prof BuildRequires: ghc-template-haskell-devel +BuildRequires: ghc-template-haskell-prof BuildRequires: ghc-th-abstraction-devel +BuildRequires: ghc-th-abstraction-prof BuildRequires: ghc-transformers-base-devel +BuildRequires: ghc-transformers-base-prof BuildRequires: ghc-transformers-devel +BuildRequires: ghc-transformers-prof ExcludeArch: %{ix86} %description @@ -70,8 +86,25 @@ 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 @@ -91,4 +124,9 @@ This package provides the Haskell %{pkg_name} library development files. %files devel -f %{name}-devel.files %doc CHANGELOG.markdown README.markdown doc examples +%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