diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-07-30 09:09:34 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-07-30 09:09:34 +0100 |
commit | ad0412d0cafb8c04ce98024155cf99a4cc27db44 (patch) | |
tree | c34688ab389c18775a322de6cd4cfd957cbe8014 /dev-haskell/hashtables | |
parent | cdb747b791914a30c287a3a8e33d1b635e431707 (diff) |
gentoo auto-resync : 30:07:2022 - 09:09:33
Diffstat (limited to 'dev-haskell/hashtables')
-rw-r--r-- | dev-haskell/hashtables/Manifest | 6 | ||||
-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, 16 insertions, 113 deletions
diff --git a/dev-haskell/hashtables/Manifest b/dev-haskell/hashtables/Manifest index 4c89bee32a69..ea3e55572716 100644 --- a/dev-haskell/hashtables/Manifest +++ b/dev-haskell/hashtables/Manifest @@ -1,3 +1,3 @@ -DIST hashtables-1.2.4.1.tar.gz 58425 BLAKE2B 1e7d0e0f80e2e8ef17370f7019f802989c12eb7a7e340cfac44fa4138baa105985846262b0d5eeb1f59ee21d27a5036dce9c45623fecf6ecdf319ed8d4e36bc8 SHA512 e88fb8f9c8a51be31e5d07ca1fef3d1a05a347942878f84a500d8c224b1118a2be97f9a947f17834a8331f296f302eafeef34d1f151360361675ecf5204b38f6 -EBUILD hashtables-1.2.4.1.ebuild 1574 BLAKE2B 025ec4927d92f9b0b71a6f69bb80bc977a85f0c3b20c2b765c675797c0ce8382097e31ea35a9648e7db81123cf666df5db230d9b66d2a5de339977085d7f9766 SHA512 660f7e436099477f5dd89aa3018c133b88994a03a135b93b96138620651256f1832cb48cee84db45ffef2826263e9691025d5e1cffae402ddd749d849c55d18f -MISC metadata.xml 4982 BLAKE2B fbcbf2f3265a707d5e21d0e2e20000d15f155e080a9058336273c8ad0650c4fc76770a2654c7a66f4ed3f34c91a9ad65e738d44d136c99ce011532485482588f SHA512 675452507f1b746c1cc9edb068429d27613c6f5fca1f31fc6a45351161f66738df038592854e3ed73801b7c08973eae4c13402ef7caf50645fe550ef4ed5a396 +DIST hashtables-1.3.tar.gz 58599 BLAKE2B a0ce2ecc6b91c3b1c46759ef7e6a067b6872998d7fbecc22e8ee84bafc80bd5b7e286100c3c906a0b60ae86bceafb2cca7717081f347790d70c47e164aea9800 SHA512 7fb82e7c45c13d7bde8a216fb678d20bbd4c970f7860cbc2f08fb5524324f6b9584e1b5d397bdcb3fdbf53928758b608986167bb2bc2f1adae6feb3b0dd94444 +EBUILD hashtables-1.3.ebuild 1555 BLAKE2B d238fe3f1ce51fd50e0c576922e1b8eeb2d3f801348cf6ab6f7f144992c6f0b981f78855585e35e41a521827b3bd879a3ab74a2906cafc21382a0e147cdabc04 SHA512 ad4aa5ce49da29a232ba3b9569094bca2b2d21dd9c86afdb1f9dd2ea3fcdfea97e23fc5f4f69fb223872d5e6ffdf846826a2f055c5fead2ebb86f96d4ad5d731 +MISC metadata.xml 447 BLAKE2B c991b1240987728e39457ee74db6fc0cc9e45af88315e363ed093229d8d473767827b1bf047c262f2274e6d13f31bfc7261d83af7dbc26cadf4ea64009ecb2b8 SHA512 0d9827b54886393fa50594252d5727ae8a59217730022544f2e763f58ef336bf042f09bc69fd4db7804a0d5b4ceef80ebde134dd16b52ae098a9a8cc654444b5 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> |