commit 325c32a27ced3034cf9e2e958dff4e3ca1adf544bc14960de6b66492ce906279 Author: Peter Simons Date: Wed Jul 8 19:28:28 2020 +0000 osc copypac from project:devel:languages:haskell:ghc-8.10.x package:ghc-foundation revision:1, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-foundation?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/foundation-0.0.25.tar.gz b/foundation-0.0.25.tar.gz new file mode 100644 index 0000000..1bce129 --- /dev/null +++ b/foundation-0.0.25.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c158550f8429be8614e832aa0b5018b29a4e5a8429118bdca5f6d7e74fe9d360 +size 120472 diff --git a/foundation.cabal b/foundation.cabal new file mode 100644 index 0000000..94a532f --- /dev/null +++ b/foundation.cabal @@ -0,0 +1,314 @@ +name: foundation +version: 0.0.25 +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 + + build-depends: base >= 4.9 && <5 + if impl(ghc < 8.0) || impl(ghcjs) + build-depends: base + else + build-depends: base + , ghc-prim + if os(windows) + build-depends: Win32 + if arch(i386) + extra-libraries: gcc + + build-depends: basement == 0.0.11 + + -- 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 > 0 && < 1000 + , 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 > 0 && < 1000 + , 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 + LargeWords + 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.changes b/ghc-foundation.changes new file mode 100644 index 0000000..39a90a4 --- /dev/null +++ b/ghc-foundation.changes @@ -0,0 +1,5 @@ +------------------------------------------------------------------- +Tue Jun 23 09:31:46 UTC 2020 - psimons@suse.com + +- Add foundation at version 0.0.25. + diff --git a/ghc-foundation.spec b/ghc-foundation.spec new file mode 100644 index 0000000..5775f4c --- /dev/null +++ b/ghc-foundation.spec @@ -0,0 +1,88 @@ +# +# spec file for package ghc-foundation +# +# Copyright (c) 2020 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global pkg_name foundation +%bcond_with tests +Name: ghc-%{pkg_name} +Version: 0.0.25 +Release: 0 +Summary: Alternative prelude with batteries and no dependencies +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-basement-devel +BuildRequires: ghc-rpm-macros + +%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. + +%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. + +%prep +%setup -q -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal + +%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 + +%changelog