From 29d3836d2f9ef44f9a652aa2774b71e36083d5a9 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 16 Feb 2017 20:48:06 +0000 Subject: dev-haskell/io-streams: new package, a depend of snap-core-1 Simple, composable, and easy-to-use stream I/O Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- dev-haskell/io-streams/Manifest | 1 + dev-haskell/io-streams/io-streams-1.3.6.0.ebuild | 45 ++++++++ dev-haskell/io-streams/metadata.xml | 138 +++++++++++++++++++++++ 3 files changed, 184 insertions(+) create mode 100644 dev-haskell/io-streams/Manifest create mode 100644 dev-haskell/io-streams/io-streams-1.3.6.0.ebuild create mode 100644 dev-haskell/io-streams/metadata.xml (limited to 'dev-haskell') diff --git a/dev-haskell/io-streams/Manifest b/dev-haskell/io-streams/Manifest new file mode 100644 index 000000000000..780362c983bc --- /dev/null +++ b/dev-haskell/io-streams/Manifest @@ -0,0 +1 @@ +DIST io-streams-1.3.6.0.tar.gz 61651 SHA256 5e2ae8363cc30d69687db98bfa6711ec53b3b104fcc1829c1e62d8de3d249e3d SHA512 9ef5a2daa43600796b48104771c71d698f40e29def536e785421b53a310683e7db202b254310a0a5f2d1fa507dcad27c25f328c64fffe796c06d4c0d98ca982d WHIRLPOOL cc39cccc832e2f6075368475c34133ec2d9e222b8f8448dde02b105c234d591f4a842ddb5f170d15587feaad1c74463abad75a2792217322419ea8619f58f4c7 diff --git a/dev-haskell/io-streams/io-streams-1.3.6.0.ebuild b/dev-haskell/io-streams/io-streams-1.3.6.0.ebuild new file mode 100644 index 000000000000..46b0057ef99f --- /dev/null +++ b/dev-haskell/io-streams/io-streams-1.3.6.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +# ebuild generated by hackport 0.5.1.9999 +#hackport: flags: +nointeractivetests + +CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite" +inherit haskell-cabal + +DESCRIPTION="Simple, composable, and easy-to-use stream I/O" +HOMEPAGE="http://hackage.haskell.org/package/io-streams" +SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND=">=dev-haskell/attoparsec-0.10:=[profile?] =dev-haskell/bytestring-builder-0.10:=[profile?] =dev-haskell/network-2.3:=[profile?] =dev-haskell/primitive-0.2:=[profile?] =dev-haskell/text-0.10:=[profile?] =dev-haskell/vector-0.7:=[profile?] =dev-haskell/zlib-bindings-0.1:=[profile?] =dev-lang/ghc-7.8.2:= +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.18.1.3 + test? ( >=dev-haskell/hunit-1.2 =dev-haskell/mtl-2 =dev-haskell/quickcheck-2.3.0.2 =dev-haskell/test-framework-0.6 =dev-haskell/test-framework-hunit-0.2.7 =dev-haskell/test-framework-quickcheck2-0.2.12.1 =dev-haskell/zlib-0.5 + + + + haskell@gentoo.org + Gentoo Haskell + + + /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.'System.IO.Streams.read' :: 'System.IO.Streams.InputStream' a -> IO (Maybe a) + + \-\- push an item back to an input stream + Streams.'System.IO.Streams.unRead' :: a -> 'System.IO.Streams.InputStream' a -> IO () + + \-\- write to an output stream + Streams.'System.IO.Streams.write' :: Maybe a -> 'System.IO.Streams.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. + + /ChangeLog/ + + [@1.1.4.2@] Fixed a build error with network versions older than 2.4. + + [@1.1.4.1@] @System.IO.Streams.Network@: scalability improvement: buffers + for socket reads are now allocated by system malloc rather than + by pinned pointers in GHC (currently pinned pointer allocation + takes a global lock). + + [@1.1.4.0@] Widened @attoparsec@ and @text@ library dependencies to allow + the latest versions. + + [@1.1.3.0@] Added @System.IO.Streams.ByteString.takeExactly@. Widened + @network@ dependency to include 2.3. Added a + @NoInteractiveTests@ flag to selectively disable some tests for + environments where spawning interactive processes is + impossible. + + [@1.1.2.2@] Allowed newest versions of the @process@, @test-framework@, + and @text@ libraries. + + [@1.1.2.1@] Fixed build error when compiled against attoparsec-0.10.0.x. + + [@1.1.2.0@] Added @System.IO.Streams.Concurrent.makeChanPipe@, to create a + simple concurrent pipe between an @InputStream@/@OutputStream@ + pair. + + [@1.1.1.0@] Added @System.IO.Streams.Network.socketToStreamsWithBufferSize@, + allowing control over the size of the receive buffers used when + reading from sockets. + + [@1.1.0.3@] Fixed an inconsistent version upper bound in the test suite. + + [@1.1.0.2@] Fixed a typo in the tutorial. + + [@1.1.0.1@] A couple of Haddock markup fixes. + + [@1.1.0.0@] Reworked, simplified, and streamlined the internals of the + library. Exports from "System.IO.Streams.Internal" relying on + Sources and Sinks were deleted because they are no longer + necessary: Source(..), Sink(..), defaultPushback, + withDefaultPushback, nullSource, nullSink, singletonSource, + simpleSource, sourceToStream, sinkToStream, generatorToSource, + and consumerToSink. + + [@1.0.2.2@] Fixed a bug in which \"takeBytes 0\" was erroneously requesting + input from the wrapped stream. + + [@1.0.2.1@] Fixed a compile error on GHC 7.0.x. + + [@1.0.2.0@] Added "System.IO.Streams.Process" (support for communicating + with system processes using streams), added new functions to + "System.IO.Streams.Handle" for converting @io-streams@ types to + 'System.IO.Handle's. (Now you can pass streams from this + library to places that expect Handles and everything will + work.) + + [@1.0.1.0@] Added 'System.IO.Streams.Combinators.ignoreEof'. + + [@1.0.0.1@] Fixed some haddock markup. + + -- cgit v1.2.3-65-gdbad