diff --git a/foundation-0.0.21.cabal b/foundation-0.0.21.cabal new file mode 100644 index 0000000..cbd1cfe --- /dev/null +++ b/foundation-0.0.21.cabal @@ -0,0 +1,311 @@ +name: foundation +version: 0.0.21 +x-revision: 1 +synopsis: Alternative prelude with batteries and no dependencies +description: + A custom prelude with no dependencies apart from base. + . + This package has the following goals: + . + * provide a base like sets of modules that provide a consistent set of features and bugfixes across multiple versions of GHC (unlike base). + . + * provide a better and more efficient prelude than base's prelude. + . + * be self-sufficient: no external dependencies apart from base. + . + * provide better data-types: packed unicode string by default, arrays. + . + * Better numerical classes that better represent mathematical thing (No more all-in-one Num). + . + * Better I/O system with less Lazy IO + . + * Usual partial functions distinguished through type system +license: BSD3 +license-file: LICENSE +copyright: 2015-2017 Vincent Hanquez , 2017- Foundation Maintainers +author: Vincent Hanquez +maintainer: vincent@snarc.org +category: foundation +build-type: Simple +homepage: https://github.com/haskell-foundation/foundation +bug-reports: https://github.com/haskell-foundation/foundation/issues +cabal-version: >=1.18 +extra-source-files: cbits/*.h + +source-repository head + type: git + location: https://github.com/haskell-foundation/foundation + subdir: foundation + +flag experimental + description: Enable building experimental features, known as highly unstable or without good support cross-platform + default: False + manual: True + +flag bench-all + description: Add some comparaison benchmarks against other haskell libraries + default: False + manual: True + +flag minimal-deps + description: Build fully with minimal deps (no criterion, no quickcheck, no doctest) + default: False + manual: True + +flag bounds-check + description: Add extra friendly boundary check for unsafe array operations + default: False + manual: True + +flag doctest + description: Build doctest on demand only + default: False + manual: True + +flag linktest + description: Run linking test + default: False + manual: True + +library + exposed-modules: Foundation + Foundation.Numerical + Foundation.Array + Foundation.Array.Internal + Foundation.Bits + Foundation.Class.Bifunctor + Foundation.Class.Storable + Foundation.Conduit + Foundation.Conduit.Textual + Foundation.Exception + Foundation.Format.CSV + Foundation.String + Foundation.String.Read + Foundation.String.Builder + Foundation.IO + Foundation.IO.FileMap + Foundation.IO.Terminal + Foundation.VFS + Foundation.VFS.Path + Foundation.VFS.FilePath + Foundation.VFS.URI + Foundation.Math.Trigonometry + Foundation.Hashing + Foundation.Foreign + Foundation.Collection + Foundation.Primitive + Foundation.List.DList + Foundation.List.ListN + Foundation.Monad + Foundation.Monad.Except + Foundation.Monad.Reader + Foundation.Monad.State + Foundation.Network.IPv4 + Foundation.Network.IPv6 + Foundation.System.Info + Foundation.Strict + Foundation.Parser + Foundation.Random + Foundation.Check + Foundation.Check.Main + Foundation.Timing + Foundation.Timing.Main + Foundation.Time.Types + Foundation.Time.Bindings + Foundation.Time.StopWatch + Foundation.Tuple.Nth + Foundation.UUID + Foundation.System.Entropy + Foundation.System.Bindings + other-modules: + Foundation.Tuple + Foundation.Hashing.FNV + Foundation.Hashing.SipHash + Foundation.Hashing.Hasher + Foundation.Hashing.Hashable + Foundation.Check.Gen + Foundation.Check.Print + Foundation.Check.Arbitrary + Foundation.Check.Property + Foundation.Check.Config + Foundation.Check.Types + Foundation.Collection.Buildable + Foundation.Collection.List + Foundation.Collection.Element + Foundation.Collection.InnerFunctor + Foundation.Collection.Collection + Foundation.Collection.Copy + Foundation.Collection.Sequential + Foundation.Collection.Keyed + Foundation.Collection.Indexed + Foundation.Collection.Foldable + Foundation.Collection.Mutable + Foundation.Collection.Zippable + Foundation.Collection.Mappable + Foundation.Conduit.Internal + Foundation.Format.CSV.Types + Foundation.Format.CSV.Builder + Foundation.Format.CSV.Parser + Foundation.Numerical.Floating + Foundation.IO.File + Foundation.Monad.MonadIO + Foundation.Monad.Exception + Foundation.Monad.Transformer + Foundation.Monad.Identity + Foundation.Monad.Base + Foundation.Random.Class + Foundation.Random.DRG + Foundation.Random.ChaChaDRG + Foundation.Random.XorShift + Foundation.Array.Chunked.Unboxed + Foundation.Array.Bitmap + Foundation.Foreign.Alloc + Foundation.Foreign.MemoryMap + Foundation.Foreign.MemoryMap.Types + Foundation.Partial + -- Foundation.Time.Bindings + Foundation.System.Entropy.Common + Foundation.System.Bindings.Network + Foundation.System.Bindings.Time + Foundation.System.Bindings.Hs + + include-dirs: cbits + c-sources: cbits/foundation_random.c + cbits/foundation_network.c + cbits/foundation_time.c + cbits/foundation_utf8.c + + if flag(experimental) + exposed-modules: Foundation.Network.HostName + if os(windows) + exposed-modules: Foundation.System.Bindings.Windows + other-modules: Foundation.Foreign.MemoryMap.Windows + Foundation.System.Entropy.Windows + else + exposed-modules: Foundation.System.Bindings.Posix + Foundation.System.Bindings.PosixDef + other-modules: Foundation.Foreign.MemoryMap.Posix + Foundation.System.Entropy.Unix + if os(linux) + exposed-modules: Foundation.System.Bindings.Linux + if os(osx) + exposed-modules: Foundation.System.Bindings.Macos + + default-extensions: NoImplicitPrelude + RebindableSyntax + TypeFamilies + BangPatterns + DeriveDataTypeable + + if impl(ghc < 8.0) + -- https://github.com/haskell-infra/hackage-trustees/issues/171 + build-depends: base >= 4.9 && < 4.13 + else + build-depends: base + , ghc-prim + if os(windows) + build-depends: Win32 + + build-depends: basement == 0.0.8 + + -- FIXME add suport for armel mipsel + -- CPP-options: -DARCH_IS_LITTLE_ENDIAN + -- FIXME add support for powerpc powerpc64 armeb mipseb + -- CPP-options: -DARCH_IS_BIG_ENDIAN + if (arch(i386) || arch(x86_64)) + cpp-options: -DARCH_IS_LITTLE_ENDIAN + else + cpp-options: -DARCH_IS_UNKNOWN_ENDIAN + ghc-options: -Wall -fwarn-tabs + default-language: Haskell2010 + if impl(ghc >= 8.0) + ghc-options: -Wno-redundant-constraints + if flag(bounds-check) + cpp-options: -DFOUNDATION_BOUNDS_CHECK + +test-suite check-foundation + type: exitcode-stdio-1.0 + hs-source-dirs: tests + main-is: Checks.hs + other-modules: Test.Checks.Property.Collection + Test.Foundation.Random + Test.Foundation.Misc + Test.Foundation.Conduit + Test.Foundation.Primitive.BlockN + Test.Foundation.Storable + Test.Foundation.Number + Test.Foundation.String.Base64 + Test.Foundation.String + Test.Foundation.Bits + Test.Basement + Test.Basement.UTF8 + Test.Data.Network + Test.Data.List + Test.Foundation.Network.IPv4 + Test.Foundation.Network.IPv6 + Test.Foundation.Format + Test.Foundation.Format.CSV + default-extensions: NoImplicitPrelude + RebindableSyntax + OverloadedStrings + build-depends: base + , basement + , foundation + ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures + default-language: Haskell2010 + if impl(ghc >= 8.0) + ghc-options: -Wno-redundant-constraints + +test-suite foundation-link + type: exitcode-stdio-1.0 + hs-source-dirs: tests + default-language: Haskell2010 + main-is: Scripts/Link.hs + default-extensions: NoImplicitPrelude + RebindableSyntax + if flag(linktest) + build-depends: base + , foundation + , template-haskell + buildable: True + else + buildable: False + +test-suite doctest + type: exitcode-stdio-1.0 + hs-source-dirs: tests + default-language: Haskell2010 + main-is: DocTest.hs + default-extensions: NoImplicitPrelude + RebindableSyntax + if flag(minimal-deps) + -- TODO: for no, force unbuildable anyway + buildable: False + else + if flag(doctest) + build-depends: base + , doctest >= 0.9 + buildable: True + else + buildable: False + +Benchmark bench + main-is: Main.hs + other-modules: BenchUtil.Common + BenchUtil.RefData + Sys + Fake.ByteString + Fake.Text + Fake.Vector + hs-source-dirs: benchs + default-language: Haskell2010 + type: exitcode-stdio-1.0 + default-extensions: NoImplicitPrelude + BangPatterns + if flag(minimal-deps) || impl(ghc < 7.10) + buildable: False + else + build-depends: base, gauge, basement, foundation + if flag(bench-all) + cpp-options: -DBENCH_ALL + build-depends: text, attoparsec, vector, bytestring diff --git a/ghc-foundation.spec b/ghc-foundation.spec index cc6171b..0b5840e 100644 --- a/ghc-foundation.spec +++ b/ghc-foundation.spec @@ -1,4 +1,4 @@ -# generated by cabal-rpm-0.12.5 +# generated by cabal-rpm-0.13 # https://fedoraproject.org/wiki/Packaging:Haskell %global pkg_name foundation @@ -8,16 +8,19 @@ Name: ghc-%{pkg_name} Version: 0.0.21 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Alternative prelude with batteries and no dependencies 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: BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros -# Begin cabal-rpm deps: BuildRequires: ghc-basement-devel # End cabal-rpm deps @@ -68,19 +71,22 @@ This package provides the Haskell %{pkg_name} library development documentation. %prep +# Begin cabal-rpm setup: %setup -q -n %{pkgver} -cat > Setup.hs << EOF -import Distribution.Simple -main = defaultMain -EOF +cp -bp %{SOURCE1} %{pkg_name}.cabal +# End cabal-rpm setup %build +# Begin cabal-rpm build: %ghc_lib_build +# End cabal-rpm build %install +# Begin cabal-rpm install %ghc_lib_install +# End cabal-rpm install grep -v "%{_docdir}/ghc/html/libraries/%{pkgver}" %{name}-devel.files > %{name}-devel-nodoc.files %if %{undefined without_haddock} grep "%{_docdir}/ghc/html/libraries/%{pkgver}" %{name}-devel.files > %{name}-devel-doc.files @@ -100,7 +106,9 @@ grep "%{_docdir}/ghc/html/libraries/%{pkgver}" %{name}-devel.files > %{name}-dev %files -f %{name}.files +# Begin cabal-rpm files: %license LICENSE +# End cabal-rpm files %files devel -f %{name}-devel-nodoc.files @@ -112,6 +120,9 @@ grep "%{_docdir}/ghc/html/libraries/%{pkgver}" %{name}-devel.files > %{name}-dev %changelog +* Sun Feb 17 2019 Jens Petersen - 0.0.21-3 +- refresh to cabal-rpm-0.13 + * Thu Jan 31 2019 Fedora Release Engineering - 0.0.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild