summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-10-29 02:17:39 +0000
committerCoprDistGit <infra@openeuler.org>2023-10-29 02:17:39 +0000
commitdc635c6ff0d1e7e6a00f1deeca735554fa5febe7 (patch)
treed6fe29ed5f6a7af37f469fc3bf45ba34f86dd17d
parent020d213859b56ed6c906fbb6f4e1de176493ced2 (diff)
automatic import of ghc-safeopeneuler23.09
-rw-r--r--.gitignore1
-rw-r--r--ghc-safe.spec107
-rw-r--r--sources1
3 files changed, 109 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..8b60ec3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/safe-0.3.19.tar.gz
diff --git a/ghc-safe.spec b/ghc-safe.spec
new file mode 100644
index 0000000..e3e96ed
--- /dev/null
+++ b/ghc-safe.spec
@@ -0,0 +1,107 @@
+%global pkg_name safe
+%global pkgver %{pkg_name}-%{version}
+%bcond_with tests
+
+Name: ghc-%{pkg_name}
+Version: 0.3.19
+Release: 1
+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
+BuildRequires: ghc-Cabal-devel
+BuildRequires: ghc-base-devel
+BuildRequires: ghc-base-prof
+BuildRequires: ghc-rpm-macros
+ExcludeArch: %{ix86}
+%if %{with tests}
+BuildRequires: ghc-QuickCheck-devel
+BuildRequires: ghc-QuickCheck-prof
+BuildRequires: ghc-deepseq-devel
+BuildRequires: ghc-deepseq-prof
+%endif
+
+%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.
+
+%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}-help
+Summary: Haskell %{pkg_name} library documentation
+BuildArch: noarch
+
+%description -n ghc-%{pkg_name}-help
+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}
+
+%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 CHANGES.txt README.md
+
+%files -n ghc-%{pkg_name}-help -f ghc-%{pkg_name}-help.files
+%license LICENSE
+
+%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files
+
+%changelog
+* Tue Aug 22 2023 Lin Runze <lrzlin@163.com> 0.3.19-1
+- Initial packaging (Version 0.3.19)
diff --git a/sources b/sources
new file mode 100644
index 0000000..22599c0
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+23a1bcc16b885249dc35370b1c428cc7 safe-0.3.19.tar.gz