diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-haskell/hashtables | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-haskell/hashtables')
-rw-r--r-- | dev-haskell/hashtables/Manifest | 3 | ||||
-rw-r--r-- | dev-haskell/hashtables/hashtables-1.1.2.1.ebuild | 38 | ||||
-rw-r--r-- | dev-haskell/hashtables/hashtables-1.2.0.1.ebuild | 38 | ||||
-rw-r--r-- | dev-haskell/hashtables/hashtables-1.2.0.2.ebuild | 39 | ||||
-rw-r--r-- | dev-haskell/hashtables/metadata.xml | 110 |
5 files changed, 228 insertions, 0 deletions
diff --git a/dev-haskell/hashtables/Manifest b/dev-haskell/hashtables/Manifest new file mode 100644 index 000000000000..0dab379be858 --- /dev/null +++ b/dev-haskell/hashtables/Manifest @@ -0,0 +1,3 @@ +DIST hashtables-1.1.2.1.tar.gz 48553 SHA256 c50d910fea2e81eca53d9a2dfbc925246be5b7cc2d0854c6d9e95eaab05ac684 SHA512 87739d4021b705e40982e66925400eea38efd2f2a11dc46626f33d2a9c9287a5a323d93c82d6e8415aef0434350256fda80819a4bbb58ff2afee74ed755c266a WHIRLPOOL 26fd049380d0dbdd959eb2d778b8409bc901f307db8e65c26193b1abc70d6d715ffb47fa6ef1343d60897fc580f8f101d719a547f139dadb3a3bb51da5ab9bd1 +DIST hashtables-1.2.0.1.tar.gz 53093 SHA256 329d700e716b18a2cf1a75669104da3a773091a7e441c5470c202d4c439bf0fc SHA512 5677ca82aafec488ae1801363a3c58f173f5e11a92ac0c8991c08f0da5128ef62a66ade391771a99f8a6a339057ca774591e146667237a2a3bedc283a3a1684c WHIRLPOOL fa26257fe461177f508bd0bfb86be8d9355bae0f20b228c8a779939158acad95031a6a1032a8b28d8977c7e56efd1e1d02e4354b2d0bfde39c4433e26add5eff +DIST hashtables-1.2.0.2.tar.gz 54283 SHA256 012be9fa5e91118b9301ca58138fbf45222119a284d5561ca6f7e3f9b42e1837 SHA512 8b6416056c56acfa81224506779bf47626373cdd70f39ff8fd40a11a474e2c45dccd3a7a534c45265d275c1cc13cc6a0d657c8f9f1c1f5fda8fbad98d9043739 WHIRLPOOL 2c3375ac986d348e6a1ce3dcc199ea491ee991e51e42f0f9e02e726539cbf69de4d5e5e6b926c957d088f4174b368cbe6c0a8a958d63a6fedfb1a6dd6117f77c diff --git a/dev-haskell/hashtables/hashtables-1.1.2.1.ebuild b/dev-haskell/hashtables/hashtables-1.1.2.1.ebuild new file mode 100644 index 000000000000..28372a6015a4 --- /dev/null +++ b/dev-haskell/hashtables/hashtables-1.1.2.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# ebuild generated by hackport 0.3.4.9999 + +CABAL_FEATURES="lib profile haddock hoogle hscolour" +inherit haskell-cabal + +DESCRIPTION="Mutable hash tables in the ST monad" +HOMEPAGE="http://github.com/gregorycollins/hashtables" +SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86" +IUSE="bounds-checking debug portable cpu_flags_x86_sse4_1 +unsafe-tricks" + +RDEPEND="dev-haskell/primitive:=[profile?] + >=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.12:=[profile?] + >=dev-lang/ghc-6.10.4:= + || ( ( >=dev-haskell/hashable-1.1:=[profile?] <dev-haskell/hashable-1.2:=[profile?] ) + ( >=dev-haskell/hashable-1.2.1:=[profile?] <dev-haskell/hashable-1.3:=[profile?] ) ) +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.8 +" + +src_configure() { + haskell-cabal_src_configure \ + $(cabal_flag bounds-checking bounds-checking) \ + $(cabal_flag debug debug) \ + $(cabal_flag portable portable) \ + $(cabal_flag cpu_flags_x86_sse4_1 sse41) \ + $(cabal_flag unsafe-tricks unsafe-tricks) +} diff --git a/dev-haskell/hashtables/hashtables-1.2.0.1.ebuild b/dev-haskell/hashtables/hashtables-1.2.0.1.ebuild new file mode 100644 index 000000000000..ba549aa31bf1 --- /dev/null +++ b/dev-haskell/hashtables/hashtables-1.2.0.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# ebuild generated by hackport 0.4.4.9999 + +CABAL_FEATURES="lib profile haddock hoogle hscolour" +inherit haskell-cabal + +DESCRIPTION="Mutable hash tables in the ST monad" +HOMEPAGE="http://github.com/gregorycollins/hashtables" +SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="bounds-checking debug portable cpu_flags_x86_sse4_2 +unsafe-tricks" + +RDEPEND="dev-haskell/primitive:=[profile?] + >=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.12:=[profile?] + >=dev-lang/ghc-7.4.1:= + || ( ( >=dev-haskell/hashable-1.1:=[profile?] <dev-haskell/hashable-1.2:=[profile?] ) + ( >=dev-haskell/hashable-1.2.1:=[profile?] <dev-haskell/hashable-1.3:=[profile?] ) ) +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.8 +" + +src_configure() { + haskell-cabal_src_configure \ + $(cabal_flag bounds-checking bounds-checking) \ + $(cabal_flag debug debug) \ + $(cabal_flag portable portable) \ + $(cabal_flag cpu_flags_x86_sse4_2 sse42) \ + $(cabal_flag unsafe-tricks unsafe-tricks) +} diff --git a/dev-haskell/hashtables/hashtables-1.2.0.2.ebuild b/dev-haskell/hashtables/hashtables-1.2.0.2.ebuild new file mode 100644 index 000000000000..ec916d7f2b61 --- /dev/null +++ b/dev-haskell/hashtables/hashtables-1.2.0.2.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# ebuild generated by hackport 0.4.4 +#hackport: flags: sse42:cpu_flags_x86_sse4_2 + +CABAL_FEATURES="lib profile haddock hoogle hscolour" +inherit haskell-cabal + +DESCRIPTION="Mutable hash tables in the ST monad" +HOMEPAGE="http://github.com/gregorycollins/hashtables" +SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="bounds-checking cpu_flags_x86_sse4_2 debug portable +unsafe-tricks" + +RDEPEND="dev-haskell/primitive:=[profile?] + >=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.12:=[profile?] + >=dev-lang/ghc-7.4.1:= + || ( ( >=dev-haskell/hashable-1.1:=[profile?] <dev-haskell/hashable-1.2:=[profile?] ) + ( >=dev-haskell/hashable-1.2.1:=[profile?] <dev-haskell/hashable-1.3:=[profile?] ) ) +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.8 +" + +src_configure() { + haskell-cabal_src_configure \ + $(cabal_flag bounds-checking bounds-checking) \ + $(cabal_flag debug debug) \ + $(cabal_flag portable portable) \ + $(cabal_flag cpu_flags_x86_sse4_2 sse42) \ + $(cabal_flag unsafe-tricks unsafe-tricks) +} diff --git a/dev-haskell/hashtables/metadata.xml b/dev-haskell/hashtables/metadata.xml new file mode 100644 index 000000000000..534f6dfdb278 --- /dev/null +++ b/dev-haskell/hashtables/metadata.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>haskell</herd> + <herd>proxy-maintainers</herd> + <maintainer> + <email>haskell@gentoo.org</email> + </maintainer> + <longdescription> + This package provides a couple of different implementations of mutable hash + tables in the ST monad, as well as a typeclass abstracting their common + operations, and a set of wrappers to use the hash tables in the IO monad. + + /QUICK START/: documentation for the hash table operations is provided in the + "Data.HashTable.Class" module, and the IO wrappers (which most users will + probably prefer) are located in the "Data.HashTable.IO" module. + + This package currently contains three hash table implementations: + + 1. "Data.HashTable.ST.Basic" contains a basic open-addressing hash table + using linear probing as the collision strategy. On a pure speed basis it + should currently be the fastest available Haskell hash table + implementation for lookups, although it has a higher memory overhead + than the other tables and can suffer from long delays when the table is + resized because all of the elements in the table need to be rehashed. + + 2. "Data.HashTable.ST.Cuckoo" contains an implementation of \"cuckoo + hashing\" as introduced by Pagh and Rodler in 2001 (see + <http://en.wikipedia.org/wiki/Cuckoo_hashing>). Cuckoo hashing has + worst-case /O(1)/ lookups and can reach a high \"load factor\", in which + the table can perform acceptably well even when more than 90% full. + Randomized testing shows this implementation of cuckoo hashing to be + slightly faster on insert and slightly slower on lookup than + "Data.Hashtable.ST.Basic", while being more space efficient by about a + half-word per key-value mapping. Cuckoo hashing, like the basic hash + table implementation using linear probing, can suffer from long delays + when the table is resized. + + 3. "Data.HashTable.ST.Linear" contains a linear hash table (see + <http://en.wikipedia.org/wiki/Linear_hashing>), which trades some insert + and lookup performance for higher space efficiency and much shorter + delays when expanding the table. In most cases, benchmarks show this + table to be currently slightly faster than @Data.HashTable@ from the + Haskell base library. + + It is recommended to create a concrete type alias in your code when using this + package, i.e.: + + > import qualified Data.HashTable.IO as H + > + > type HashTable k v = H.BasicHashTable k v + > + > foo :: IO (HashTable Int Int) + > foo = do + > ht <- H.new + > H.insert ht 1 1 + > return ht + + Firstly, this makes it easy to switch to a different hash table implementation, + and secondly, using a concrete type rather than leaving your functions abstract + in the HashTable class should allow GHC to optimize away the typeclass + dictionaries. + + This package accepts a couple of different cabal flags: + + * @unsafe-tricks@, default /ON/. If this flag is enabled, we use some + unsafe GHC-specific tricks to save indirections (namely @unsafeCoerce#@ + and @reallyUnsafePtrEquality#@. These techniques rely on assumptions + about the behaviour of the GHC runtime system and, although they've been + tested and should be safe under normal conditions, are slightly + dangerous. Caveat emptor. In particular, these techniques are + incompatible with HPC code coverage reports. + + * @sse41@, default /OFF/. If this flag is enabled, we use some SSE 4.1 + instructions (see <http://en.wikipedia.org/wiki/SSE4>, first available on + Intel Core 2 processors) to speed up cache-line searches for cuckoo + hashing. + + * @bounds-checking@, default /OFF/. If this flag is enabled, array accesses + are bounds-checked. + + * @debug@, default /OFF/. If turned on, we'll rudely spew debug output to + stdout. + + * @portable@, default /OFF/. If this flag is enabled, we use only pure + Haskell code and try not to use unportable GHC extensions. Turning this + flag on forces @unsafe-tricks@ and @sse41@ /OFF/. + + This package has been tested with GHC 7.0.3, on: + + * a MacBook Pro running Snow Leopard with an Intel Core i5 processor, + running GHC 7.0.3 in 64-bit mode. + + * an Arch Linux desktop with an AMD Phenom II X4 940 quad-core processor. + + * a MacBook Pro running Snow Leopard with an Intel Core 2 Duo processor, + running GHC 6.12.3 in 32-bit mode. + + Please send bug reports to + <https://github.com/gregorycollins/hashtables/issues>. + </longdescription> + <use> + <flag name="bounds-checking">if on, use bounds-checking array accesses</flag> + <flag name="portable">if on, use only pure Haskell code and no GHC extensions.</flag> + <flag name="unsafe-tricks">turn on unsafe GHC tricks</flag> + </use> + <upstream> + <remote-id type="github">gregorycollins/hashtables</remote-id> + </upstream> +</pkgmetadata> |