summaryrefslogtreecommitdiff
path: root/dev-haskell/hashtables
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-30 09:09:34 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-30 09:09:34 +0100
commitad0412d0cafb8c04ce98024155cf99a4cc27db44 (patch)
treec34688ab389c18775a322de6cd4cfd957cbe8014 /dev-haskell/hashtables
parentcdb747b791914a30c287a3a8e33d1b635e431707 (diff)
gentoo auto-resync : 30:07:2022 - 09:09:33
Diffstat (limited to 'dev-haskell/hashtables')
-rw-r--r--dev-haskell/hashtables/Manifest6
-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.xml99
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
- &lt;https://en.wikipedia.org/wiki/Cuckoo_hashing&gt;). 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
- &lt;https://en.wikipedia.org/wiki/Linear_hashing&gt;), 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.:
-
- &gt; import qualified Data.HashTable.IO as H
- &gt;
- &gt; type HashTable k v = H.BasicHashTable k v
- &gt;
- &gt; foo :: IO (HashTable Int Int)
- &gt; foo = do
- &gt; ht &lt;- H.new
- &gt; H.insert ht 1 1
- &gt; 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 &lt;https://en.wikipedia.org/wiki/SSE4&gt;, 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
- &lt;https://github.com/gregorycollins/hashtables/issues&gt;.
- </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>