summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatoro <matoro@users.noreply.github.com>2022-07-24 14:59:28 -0400
committerSam James <sam@gentoo.org>2022-07-30 06:57:57 +0100
commit0a7adfcad5f67c793b6c8f534d8de9d107832c9b (patch)
tree412eca698d3f9ca69388d0ffd455181506c3d39f /dev-haskell/hashtables
parentdev-haskell/glob: drop 0.10.1 (diff)
downloadgentoo-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/Manifest2
-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, 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
- &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>