diff --git a/ghc-safe.changes b/ghc-safe.changes index e77ec1b..7229de6 100644 --- a/ghc-safe.changes +++ b/ghc-safe.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Feb 4 16:45:27 UTC 2024 - Peter Simons + +- Update safe to version 0.3.21 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + ------------------------------------------------------------------- Thu Jan 18 16:51:51 UTC 2024 - Peter Simons diff --git a/ghc-safe.spec b/ghc-safe.spec index b0b8454..6fdde5c 100644 --- a/ghc-safe.spec +++ b/ghc-safe.spec @@ -26,6 +26,7 @@ Summary: Library of safe (exception free) functions 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/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-base-devel BuildRequires: ghc-base-prof @@ -93,6 +94,7 @@ 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 diff --git a/safe.cabal b/safe.cabal new file mode 100644 index 0000000..f908719 --- /dev/null +++ b/safe.cabal @@ -0,0 +1,74 @@ +cabal-version: 1.18 +build-type: Simple +name: safe +version: 0.3.21 +x-revision: 1 +license: BSD3 +license-file: LICENSE +category: Unclassified +author: Neil Mitchell +maintainer: Neil Mitchell +copyright: Neil Mitchell 2007-2024 +homepage: https://github.com/ndmitchell/safe#readme +synopsis: Library of safe (exception free) functions +bug-reports: https://github.com/ndmitchell/safe/issues +tested-with: GHC==9.8, GHC==9.6, GHC==9.4, GHC==9.2, GHC==9.0, GHC==8.10, GHC==8.8 +description: + A library wrapping @Prelude@/@Data.List@ functions that can throw exceptions, such as @head@ and @!!@. + Each unsafe function has up to four variants, e.g. with @tail@: + . + * @tail :: [a] -> [a]@, raises an error on @tail []@. + . + * @tailMay :: [a] -> /Maybe/ [a]@, turns errors into @Nothing@. + . + * @tailDef :: /[a]/ -> [a] -> [a]@, takes a default to return on errors. + . + * @tailNote :: /String/ -> [a] -> [a]@, takes an extra argument which supplements the error message. + . + * @tailSafe :: [a] -> [a]@, returns some sensible default if possible, @[]@ in the case of @tail@. + . + This package is divided into three modules: + . + * "Safe" contains safe variants of @Prelude@ and @Data.List@ functions. + . + * "Safe.Foldable" contains safe variants of @Foldable@ functions. + . + * "Safe.Exact" creates crashing versions of functions like @zip@ (errors if the lists are not equal) and @take@ (errors if there are not enough elements), then wraps them to provide safe variants. +extra-doc-files: + CHANGES.txt + README.md + +source-repository head + type: git + location: https://github.com/ndmitchell/safe.git + +library + default-language: Haskell2010 + build-depends: + base >= 4.9 && < 5 + + exposed-modules: + Safe + Safe.Exact + Safe.Foldable + Safe.Partial + + other-modules: + Safe.Util + +test-suite safe-test + type: exitcode-stdio-1.0 + main-is: Test.hs + default-language: Haskell2010 + + other-modules: + Safe + Safe.Exact + Safe.Foldable + Safe.Partial + Safe.Util + build-depends: + base, + deepseq, + QuickCheck, + safe