forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
Sergei Trofimovich
committed
Feb 16, 2017
1 parent
360d4ac
commit 29d3836
Showing
3 changed files
with
184 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
DIST io-streams-1.3.6.0.tar.gz 61651 SHA256 5e2ae8363cc30d69687db98bfa6711ec53b3b104fcc1829c1e62d8de3d249e3d SHA512 9ef5a2daa43600796b48104771c71d698f40e29def536e785421b53a310683e7db202b254310a0a5f2d1fa507dcad27c25f328c64fffe796c06d4c0d98ca982d WHIRLPOOL cc39cccc832e2f6075368475c34133ec2d9e222b8f8448dde02b105c234d591f4a842ddb5f170d15587feaad1c74463abad75a2792217322419ea8619f58f4c7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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>[email protected]</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> |