mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 18:58:08 -07:00
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
This commit is contained in:
1
dev-haskell/io-streams/Manifest
Normal file
1
dev-haskell/io-streams/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST io-streams-1.3.6.0.tar.gz 61651 SHA256 5e2ae8363cc30d69687db98bfa6711ec53b3b104fcc1829c1e62d8de3d249e3d SHA512 9ef5a2daa43600796b48104771c71d698f40e29def536e785421b53a310683e7db202b254310a0a5f2d1fa507dcad27c25f328c64fffe796c06d4c0d98ca982d WHIRLPOOL cc39cccc832e2f6075368475c34133ec2d9e222b8f8448dde02b105c234d591f4a842ddb5f170d15587feaad1c74463abad75a2792217322419ea8619f58f4c7
|
||||
45
dev-haskell/io-streams/io-streams-1.3.6.0.ebuild
Normal file
45
dev-haskell/io-streams/io-streams-1.3.6.0.ebuild
Normal file
@@ -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/attoparsec-0.14:=[profile?]
|
||||
>=dev-haskell/bytestring-builder-0.10:=[profile?] <dev-haskell/bytestring-builder-0.11:=[profile?]
|
||||
>=dev-haskell/network-2.3:=[profile?] <dev-haskell/network-2.7:=[profile?]
|
||||
>=dev-haskell/primitive-0.2:=[profile?] <dev-haskell/primitive-0.7:=[profile?]
|
||||
>=dev-haskell/text-0.10:=[profile?] <dev-haskell/text-1.3:=[profile?]
|
||||
>=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.13:=[profile?]
|
||||
>=dev-haskell/zlib-bindings-0.1:=[profile?] <dev-haskell/zlib-bindings-0.2:=[profile?]
|
||||
>=dev-lang/ghc-7.8.2:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.18.1.3
|
||||
test? ( >=dev-haskell/hunit-1.2 <dev-haskell/hunit-2
|
||||
>=dev-haskell/mtl-2 <dev-haskell/mtl-3
|
||||
>=dev-haskell/quickcheck-2.3.0.2 <dev-haskell/quickcheck-3
|
||||
>=dev-haskell/test-framework-0.6 <dev-haskell/test-framework-0.9
|
||||
>=dev-haskell/test-framework-hunit-0.2.7 <dev-haskell/test-framework-hunit-0.4
|
||||
>=dev-haskell/test-framework-quickcheck2-0.2.12.1 <dev-haskell/test-framework-quickcheck2-0.4
|
||||
>=dev-haskell/zlib-0.5 <dev-haskell/zlib-0.7 )
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
haskell-cabal_src_configure \
|
||||
--flag=nointeractivetests
|
||||
}
|
||||
138
dev-haskell/io-streams/metadata.xml
Normal file
138
dev-haskell/io-streams/metadata.xml
Normal file
@@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>haskell@gentoo.org</email>
|
||||
<name>Gentoo Haskell</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
/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.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user