diff options
author | matoro <matoro@users.noreply.github.com> | 2022-07-24 14:59:28 -0400 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-07-30 06:57:57 +0100 |
commit | 0a7adfcad5f67c793b6c8f534d8de9d107832c9b (patch) | |
tree | 412eca698d3f9ca69388d0ffd455181506c3d39f /dev-haskell/hashtables | |
parent | dev-haskell/glob: drop 0.10.1 (diff) | |
download | gentoo-0a7adfcad5f67c793b6c8f534d8de9d107832c9b.tar.gz gentoo-0a7adfcad5f67c793b6c8f534d8de9d107832c9b.tar.bz2 gentoo-0a7adfcad5f67c793b6c8f534d8de9d107832c9b.zip |
dev-haskell/hashtables: add 1.3, drop 1.2.4.1
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-haskell/hashtables')
-rw-r--r-- | dev-haskell/hashtables/Manifest | 2 | ||||
-rw-r--r-- | dev-haskell/hashtables/hashtables-1.3.ebuild (renamed from dev-haskell/hashtables/hashtables-1.2.4.1.ebuild) | 24 | ||||
-rw-r--r-- | dev-haskell/hashtables/metadata.xml | 99 |
3 files changed, 14 insertions, 111 deletions
diff --git a/dev-haskell/hashtables/Manifest b/dev-haskell/hashtables/Manifest index 1fe7076067dc..bb8c2dd1cab0 100644 --- a/dev-haskell/hashtables/Manifest +++ b/dev-haskell/hashtables/Manifest @@ -1 +1 @@ -DIST hashtables-1.2.4.1.tar.gz 58425 BLAKE2B 1e7d0e0f80e2e8ef17370f7019f802989c12eb7a7e340cfac44fa4138baa105985846262b0d5eeb1f59ee21d27a5036dce9c45623fecf6ecdf319ed8d4e36bc8 SHA512 e88fb8f9c8a51be31e5d07ca1fef3d1a05a347942878f84a500d8c224b1118a2be97f9a947f17834a8331f296f302eafeef34d1f151360361675ecf5204b38f6 +DIST hashtables-1.3.tar.gz 58599 BLAKE2B a0ce2ecc6b91c3b1c46759ef7e6a067b6872998d7fbecc22e8ee84bafc80bd5b7e286100c3c906a0b60ae86bceafb2cca7717081f347790d70c47e164aea9800 SHA512 7fb82e7c45c13d7bde8a216fb678d20bbd4c970f7860cbc2f08fb5524324f6b9584e1b5d397bdcb3fdbf53928758b608986167bb2bc2f1adae6feb3b0dd94444 diff --git a/dev-haskell/hashtables/hashtables-1.2.4.1.ebuild b/dev-haskell/hashtables/hashtables-1.3.ebuild index b4558c556890..d3059c57ed9b 100644 --- a/dev-haskell/hashtables/hashtables-1.2.4.1.ebuild +++ b/dev-haskell/hashtables/hashtables-1.3.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -# ebuild generated by hackport 0.6.6 -#hackport: flags: sse42:cpu_flags_x86_sse4_2 +# ebuild generated by hackport 0.7.1.1.9999 +#hackport: flags: sse42:cpu_flags_x86_sse4_2,+unsafe-tricks,-portable CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite" inherit haskell-cabal @@ -15,16 +15,16 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz" LICENSE="BSD" SLOT="0/${PV}" -KEYWORDS="~amd64 ~x86" -IUSE="bounds-checking cpu_flags_x86_sse4_2 debug detailed-profiling portable +unsafe-tricks" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="bounds-checking cpu_flags_x86_sse4_2 debug detailed-profiling" -RDEPEND="dev-haskell/primitive:=[profile?] +RDEPEND=">=dev-haskell/hashable-1.4:=[profile?] <dev-haskell/hashable-1.5:=[profile?] + dev-haskell/primitive:=[profile?] >=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.13:=[profile?] - >=dev-lang/ghc-7.8.2:= - >=dev-haskell/hashable-1.2.1:=[profile?] <dev-haskell/hashable-1.4:=[profile?] + >=dev-lang/ghc-8.4.3:= " DEPEND="${RDEPEND} - >=dev-haskell/cabal-2.2 + >=dev-haskell/cabal-2.2.0.1 test? ( >=dev-haskell/hunit-1.2 <dev-haskell/hunit-2 >=dev-haskell/mwc-random-0.8 <dev-haskell/mwc-random-0.16 >=dev-haskell/quickcheck-2.3.0.2 @@ -38,7 +38,7 @@ src_configure() { $(cabal_flag bounds-checking bounds-checking) \ $(cabal_flag debug debug) \ $(cabal_flag detailed-profiling detailed-profiling) \ - $(cabal_flag portable portable) \ + --flag=-portable \ $(cabal_flag cpu_flags_x86_sse4_2 sse42) \ - $(cabal_flag unsafe-tricks unsafe-tricks) + --flag=unsafe-tricks } diff --git a/dev-haskell/hashtables/metadata.xml b/dev-haskell/hashtables/metadata.xml index 86c607e5ac2e..6f84b90b37dc 100644 --- a/dev-haskell/hashtables/metadata.xml +++ b/dev-haskell/hashtables/metadata.xml @@ -3,107 +3,10 @@ <pkgmetadata> <maintainer type="project"> <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> </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 - <https://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 - <https://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 <https://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="detailed-profiling">add detailed profiling information to profiled build-depends</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> |