Accepting request 930352 from devel:languages:haskell
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/930352 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-scientific?expand=0&rev=26
This commit is contained in:
commit
29e116759a
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 08:26:58 UTC 2021 - psimons@suse.com
|
||||||
|
|
||||||
|
- Update scientific to version 0.3.7.0 revision 1.
|
||||||
|
Upstream has revised the Cabal build instructions on Hackage.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu May 20 19:46:12 UTC 2021 - psimons@suse.com
|
Thu May 20 19:46:12 UTC 2021 - psimons@suse.com
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ Summary: Numbers represented using scientific notation
|
|||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://hackage.haskell.org/package/%{pkg_name}
|
URL: https://hackage.haskell.org/package/%{pkg_name}
|
||||||
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
|
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-Cabal-devel
|
||||||
BuildRequires: ghc-binary-devel
|
BuildRequires: ghc-binary-devel
|
||||||
BuildRequires: ghc-bytestring-devel
|
BuildRequires: ghc-bytestring-devel
|
||||||
@ -88,6 +89,7 @@ This package provides the Haskell %{pkg_name} library development files.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{pkg_name}-%{version}
|
%autosetup -n %{pkg_name}-%{version}
|
||||||
|
cp -p %{SOURCE1} %{pkg_name}.cabal
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%ghc_lib_build
|
%ghc_lib_build
|
||||||
|
168
scientific.cabal
Normal file
168
scientific.cabal
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
name: scientific
|
||||||
|
version: 0.3.7.0
|
||||||
|
x-revision: 1
|
||||||
|
synopsis: Numbers represented using scientific notation
|
||||||
|
description:
|
||||||
|
"Data.Scientific" provides the number type 'Scientific'. Scientific numbers are
|
||||||
|
arbitrary precision and space efficient. They are represented using
|
||||||
|
<http://en.wikipedia.org/wiki/Scientific_notation scientific notation>.
|
||||||
|
The implementation uses a coefficient @c :: 'Integer'@ and a base-10 exponent
|
||||||
|
@e :: 'Int'@. A scientific number corresponds to the
|
||||||
|
'Fractional' number: @'fromInteger' c * 10 '^^' e@.
|
||||||
|
.
|
||||||
|
Note that since we're using an 'Int' to represent the exponent these numbers
|
||||||
|
aren't truly arbitrary precision. I intend to change the type of the exponent
|
||||||
|
to 'Integer' in a future release.
|
||||||
|
.
|
||||||
|
The main application of 'Scientific' is to be used as the target of parsing
|
||||||
|
arbitrary precision numbers coming from an untrusted source. The advantages
|
||||||
|
over using 'Rational' for this are that:
|
||||||
|
.
|
||||||
|
* A 'Scientific' is more efficient to construct. Rational numbers need to be
|
||||||
|
constructed using '%' which has to compute the 'gcd' of the 'numerator' and
|
||||||
|
'denominator'.
|
||||||
|
.
|
||||||
|
* 'Scientific' is safe against numbers with huge exponents. For example:
|
||||||
|
@1e1000000000 :: 'Rational'@ will fill up all space and crash your
|
||||||
|
program. Scientific works as expected:
|
||||||
|
.
|
||||||
|
>>> read "1e1000000000" :: Scientific
|
||||||
|
1.0e1000000000
|
||||||
|
.
|
||||||
|
* Also, the space usage of converting scientific numbers with huge exponents to
|
||||||
|
@'Integral's@ (like: 'Int') or @'RealFloat's@ (like: 'Double' or 'Float')
|
||||||
|
will always be bounded by the target type.
|
||||||
|
|
||||||
|
homepage: https://github.com/basvandijk/scientific
|
||||||
|
bug-reports: https://github.com/basvandijk/scientific/issues
|
||||||
|
license: BSD3
|
||||||
|
license-file: LICENSE
|
||||||
|
author: Bas van Dijk
|
||||||
|
maintainer: Bas van Dijk <v.dijk.bas@gmail.com>
|
||||||
|
category: Data
|
||||||
|
build-type: Simple
|
||||||
|
cabal-version: >=1.10
|
||||||
|
extra-source-files: changelog
|
||||||
|
tested-with:
|
||||||
|
GHC ==7.6.3
|
||||||
|
|| ==7.8.4
|
||||||
|
|| ==7.10.3
|
||||||
|
|| ==8.0.2
|
||||||
|
|| ==8.2.2
|
||||||
|
|| ==8.4.4
|
||||||
|
|| ==8.6.5
|
||||||
|
|| ==8.8.4
|
||||||
|
|| ==8.10.7
|
||||||
|
|| ==9.0.1
|
||||||
|
|| ==9.2.1
|
||||||
|
|
||||||
|
source-repository head
|
||||||
|
type: git
|
||||||
|
location: git://github.com/basvandijk/scientific.git
|
||||||
|
|
||||||
|
flag bytestring-builder
|
||||||
|
description:
|
||||||
|
Depend on the bytestring-builder package for backwards compatibility.
|
||||||
|
|
||||||
|
default: False
|
||||||
|
manual: False
|
||||||
|
|
||||||
|
flag integer-simple
|
||||||
|
description: Use the integer-simple package instead of integer-gmp
|
||||||
|
default: False
|
||||||
|
|
||||||
|
library
|
||||||
|
exposed-modules:
|
||||||
|
Data.ByteString.Builder.Scientific
|
||||||
|
Data.Scientific
|
||||||
|
Data.Text.Lazy.Builder.Scientific
|
||||||
|
|
||||||
|
other-modules:
|
||||||
|
GHC.Integer.Compat
|
||||||
|
Utils
|
||||||
|
|
||||||
|
other-extensions:
|
||||||
|
BangPatterns
|
||||||
|
DeriveDataTypeable
|
||||||
|
Trustworthy
|
||||||
|
|
||||||
|
ghc-options: -Wall
|
||||||
|
build-depends:
|
||||||
|
base >=4.5 && <4.17
|
||||||
|
, binary >=0.5.1 && <0.9
|
||||||
|
, containers >=0.4.2.1 && <0.7
|
||||||
|
, deepseq >=1.3.0.0 && <1.5
|
||||||
|
, hashable >=1.2.7.0 && <1.5
|
||||||
|
, integer-logarithms >=1.0.3.1 && <1.1
|
||||||
|
, primitive >=0.7.1.0 && <0.8
|
||||||
|
, template-haskell >=2.8 && <2.19
|
||||||
|
, text >=1.2.3.0 && <1.3
|
||||||
|
|
||||||
|
if flag(bytestring-builder)
|
||||||
|
build-depends:
|
||||||
|
bytestring >=0.9 && <0.10.4
|
||||||
|
, bytestring-builder >=0.10.4 && <0.11
|
||||||
|
|
||||||
|
else
|
||||||
|
build-depends: bytestring >=0.10.4 && <0.12
|
||||||
|
|
||||||
|
if impl(ghc >=9.0)
|
||||||
|
build-depends: base >=4.15
|
||||||
|
|
||||||
|
if flag(integer-simple)
|
||||||
|
build-depends: invalid-cabal-flag-settings <0
|
||||||
|
|
||||||
|
else
|
||||||
|
if flag(integer-simple)
|
||||||
|
build-depends: integer-simple
|
||||||
|
|
||||||
|
else
|
||||||
|
build-depends: integer-gmp
|
||||||
|
|
||||||
|
if impl(ghc <8)
|
||||||
|
other-extensions: TemplateHaskell
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
hs-source-dirs: src
|
||||||
|
default-language: Haskell2010
|
||||||
|
|
||||||
|
test-suite test-scientific
|
||||||
|
type: exitcode-stdio-1.0
|
||||||
|
hs-source-dirs: test
|
||||||
|
main-is: test.hs
|
||||||
|
default-language: Haskell2010
|
||||||
|
ghc-options: -Wall
|
||||||
|
build-depends:
|
||||||
|
base
|
||||||
|
, binary
|
||||||
|
, QuickCheck >=2.14.2
|
||||||
|
, scientific
|
||||||
|
, smallcheck >=1.0
|
||||||
|
, tasty >=1.4.0.1
|
||||||
|
, tasty-hunit >=0.8
|
||||||
|
, tasty-quickcheck >=0.8
|
||||||
|
, tasty-smallcheck >=0.2
|
||||||
|
, text
|
||||||
|
|
||||||
|
if flag(bytestring-builder)
|
||||||
|
build-depends:
|
||||||
|
bytestring
|
||||||
|
, bytestring-builder
|
||||||
|
|
||||||
|
else
|
||||||
|
build-depends: bytestring
|
||||||
|
|
||||||
|
benchmark bench-scientific
|
||||||
|
type: exitcode-stdio-1.0
|
||||||
|
hs-source-dirs: bench
|
||||||
|
main-is: bench.hs
|
||||||
|
default-language: Haskell2010
|
||||||
|
ghc-options: -O2
|
||||||
|
build-depends:
|
||||||
|
base
|
||||||
|
, criterion >=0.5
|
||||||
|
, scientific
|
Loading…
Reference in New Issue
Block a user