From 02e80dc30f8cc34f0241e4fe6e8b40aeec5228e4 Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Mon, 22 Jun 2020 21:28:22 +0800 Subject: [PATCH] revised .cabal file --- ghc-io-streams.spec | 2 + io-streams-1.5.1.0.cabal | 244 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 io-streams-1.5.1.0.cabal diff --git a/ghc-io-streams.spec b/ghc-io-streams.spec index afc0e99..bfd2603 100644 --- a/ghc-io-streams.spec +++ b/ghc-io-streams.spec @@ -15,6 +15,7 @@ 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: @@ -89,6 +90,7 @@ This package provides the Haskell %{pkg_name} profiling library. %prep # Begin cabal-rpm setup: %setup -q -n %{pkgver} +cp -bp %{SOURCE1} %{pkg_name}.cabal # End cabal-rpm setup cabal-tweak-drop-dep bytestring-builder diff --git a/io-streams-1.5.1.0.cabal b/io-streams-1.5.1.0.cabal new file mode 100644 index 0000000..2bc03f4 --- /dev/null +++ b/io-streams-1.5.1.0.cabal @@ -0,0 +1,244 @@ +Name: io-streams +Version: 1.5.1.0 +x-revision: 1 +License: BSD3 +License-file: LICENSE +Category: Data, Network, IO-Streams +Build-type: Simple +Maintainer: Gregory Collins +Cabal-version: >= 1.10 +Synopsis: Simple, composable, and easy-to-use stream I/O +Tested-With: GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, + GHC==8.0.2, GHC==8.2.2, GHC==8.4.3, GHC==8.6.3 +Bug-Reports: https://github.com/snapframework/io-streams/issues +Description: + /Overview/ + . + The io-streams library contains simple and easy-to-use primitives for I/O + using streams. Most users will want to import the top-level convenience + module "System.IO.Streams", which re-exports most of the library: + . + @ + import System.IO.Streams (InputStream, OutputStream) + import qualified System.IO.Streams as Streams + @ + . + For first-time users, @io-streams@ comes with an included tutorial, which can + be found in the "System.IO.Streams.Tutorial" module. + . + /Features/ + . + The @io-streams@ user API has two basic types: @InputStream a@ and + @OutputStream a@, and three fundamental I/O primitives: + . + @ + \-\- read an item from an input stream + Streams.read :: InputStream a -> IO (Maybe a) + . + \-\- push an item back to an input stream + Streams.unRead :: a -> InputStream a -> IO () + . + \-\- write to an output stream + Streams.write :: Maybe a -> OutputStream a -> IO () + @ + . + Streams can be transformed by composition and hooked together with provided combinators: + . + @ + ghci> Streams.fromList [1,2,3::Int] >>= Streams.map (*10) >>= Streams.toList + [10,20,30] + @ + . + Stream composition leaves the original stream accessible: + . + @ + ghci> input \<- Streams.fromByteString \"long string\" + ghci> wrapped \<- Streams.takeBytes 4 input + ghci> Streams.read wrapped + Just \"long\" + ghci> Streams.read wrapped + Nothing + ghci> Streams.read input + Just \" string\" + @ + . + Simple types and operations in the IO monad mean straightforward and simple + exception handling and resource cleanup using Haskell standard library + facilities like 'Control.Exception.bracket'. + . + @io-streams@ comes with: + . + * functions to use files, handles, concurrent channels, sockets, lists, + vectors, and more as streams. + . + * a variety of combinators for wrapping and transforming streams, including + compression and decompression using zlib, controlling precisely how many + bytes are read from or written to a stream, buffering output using + bytestring builders, folds, maps, filters, zips, etc. + . + * support for parsing from streams using @attoparsec@. + . + * support for spawning processes and communicating with them using streams. + +Extra-Source-Files: CONTRIBUTORS README.md changelog.md + +Flag NoInteractiveTests + Description: Do not run interactive tests + Default: False + +------------------------------------------------------------------------------ +Library + hs-source-dirs: src + Default-language: Haskell2010 + + ghc-options: -Wall -fwarn-tabs -funbox-strict-fields + -fno-warn-unused-do-bind + + Exposed-modules: System.IO.Streams, + System.IO.Streams.Attoparsec, + System.IO.Streams.Attoparsec.ByteString, + System.IO.Streams.Attoparsec.Text, + System.IO.Streams.Builder, + System.IO.Streams.ByteString, + System.IO.Streams.Combinators, + System.IO.Streams.Concurrent, + System.IO.Streams.Core, + System.IO.Streams.Debug, + System.IO.Streams.Handle, + System.IO.Streams.File, + System.IO.Streams.List, + System.IO.Streams.Network, + System.IO.Streams.Process, + System.IO.Streams.Text, + System.IO.Streams.Vector, + System.IO.Streams.Zlib, + System.IO.Streams.Internal, + System.IO.Streams.Tutorial + + Other-modules: System.IO.Streams.Internal.Attoparsec, + System.IO.Streams.Internal.Network, + System.IO.Streams.Internal.Search + + Build-depends: base >= 4 && <5, + attoparsec >= 0.10 && <0.14, + bytestring >= 0.9 && <0.11, + bytestring-builder >= 0.10 && <0.11, + network >= 2.3 && <3.2, + primitive >= 0.2 && <0.8, + process >= 1.1 && <1.7, + text >= 0.10 && <1.3, + time >= 1.2 && <1.10, + transformers >= 0.2 && <0.6, + vector >= 0.7 && <0.13, + zlib-bindings >= 0.1 && <0.2 + + if impl(ghc >= 7.2) + other-extensions: Trustworthy + + other-extensions: + BangPatterns, + CPP, + DeriveDataTypeable, + FlexibleContexts, + FlexibleInstances, + GeneralizedNewtypeDeriving, + MultiParamTypeClasses, + OverloadedStrings, + RankNTypes, + TypeSynonymInstances + + +------------------------------------------------------------------------------ +Test-suite testsuite + Type: exitcode-stdio-1.0 + hs-source-dirs: src test + Main-is: TestSuite.hs + Default-language: Haskell2010 + + Other-modules: System.IO.Streams.Tests.Attoparsec.ByteString, + System.IO.Streams.Tests.Attoparsec.Text, + System.IO.Streams.Tests.Builder, + System.IO.Streams.Tests.ByteString, + System.IO.Streams.Tests.Combinators, + System.IO.Streams.Tests.Common, + System.IO.Streams.Tests.Concurrent, + System.IO.Streams.Tests.Debug, + System.IO.Streams.Tests.File, + System.IO.Streams.Tests.Handle, + System.IO.Streams.Tests.Internal, + System.IO.Streams.Tests.List, + System.IO.Streams.Tests.Network, + System.IO.Streams.Tests.Process, + System.IO.Streams.Tests.Text, + System.IO.Streams.Tests.Vector, + System.IO.Streams.Tests.Zlib, + System.IO.Streams, + System.IO.Streams.Attoparsec.ByteString, + System.IO.Streams.Attoparsec.Text, + System.IO.Streams.Builder, + System.IO.Streams.ByteString, + System.IO.Streams.Combinators, + System.IO.Streams.Concurrent, + System.IO.Streams.Core, + System.IO.Streams.Debug, + System.IO.Streams.Handle, + System.IO.Streams.File, + System.IO.Streams.List, + System.IO.Streams.Network, + System.IO.Streams.Process, + System.IO.Streams.Text, + System.IO.Streams.Vector, + System.IO.Streams.Zlib, + System.IO.Streams.Internal, + System.IO.Streams.Internal.Attoparsec, + System.IO.Streams.Internal.Network, + System.IO.Streams.Internal.Search + + + ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -threaded + -fno-warn-unused-do-bind + ghc-prof-options: -auto-all + + if !os(windows) && !flag(NoInteractiveTests) + cpp-options: -DENABLE_PROCESS_TESTS + + Build-depends: base, + attoparsec, + bytestring, + bytestring-builder, + deepseq >= 1.2 && <1.5, + directory >= 1.1 && <2, + filepath >= 1.2 && <2, + mtl >= 2 && <3, + network, + primitive, + process, + text, + time, + transformers, + vector, + zlib-bindings, + + HUnit >= 1.2 && <2, + QuickCheck >= 2.3.0.2 && <3, + test-framework >= 0.6 && <0.9, + test-framework-hunit >= 0.2.7 && <0.4, + test-framework-quickcheck2 >= 0.2.12.1 && <0.4, + zlib >= 0.5 && <0.7 + + if impl(ghc >= 7.2) + other-extensions: Trustworthy + + other-extensions: + BangPatterns, + CPP, + DeriveDataTypeable, + FlexibleInstances, + GeneralizedNewtypeDeriving, + MultiParamTypeClasses, + OverloadedStrings, + RankNTypes + +source-repository head + type: git + location: https://github.com/snapframework/io-streams.git