summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/vector')
-rw-r--r--dev-haskell/vector/Manifest6
-rw-r--r--dev-haskell/vector/files/vector-0.11.0.0-primitive-0.6.2.0.patch21
-rw-r--r--dev-haskell/vector/files/vector-0.12.3.1-cabal-doctest.patch86
-rw-r--r--dev-haskell/vector/files/vector-0.12.3.1-disable-doctests.patch27
-rw-r--r--dev-haskell/vector/files/vector-0.12.3.1-fix-testdata-float.patch42
-rw-r--r--dev-haskell/vector/metadata.xml68
-rw-r--r--dev-haskell/vector/vector-0.10.12.3.ebuild53
-rw-r--r--dev-haskell/vector/vector-0.11.0.0.ebuild45
-rw-r--r--dev-haskell/vector/vector-0.12.1.2.ebuild46
-rw-r--r--dev-haskell/vector/vector-0.12.3.1-r1.ebuild50
-rw-r--r--dev-haskell/vector/vector-0.12.3.1.ebuild70
11 files changed, 284 insertions, 230 deletions
diff --git a/dev-haskell/vector/Manifest b/dev-haskell/vector/Manifest
index 6ebe657084e2..6cc95a4e6de1 100644
--- a/dev-haskell/vector/Manifest
+++ b/dev-haskell/vector/Manifest
@@ -1,3 +1,3 @@
-DIST vector-0.10.12.3.tar.gz 103617 BLAKE2B cd4a4fda8a3da5b431c316d04b23eb82947f08cc930059beb3182c9c68d646c6a767168ae2fd82d06a782991b055421a0558dbf41a1e92f06d265c043cdb2048 SHA512 2b2c98f1fbaaf4f5e7243e18a08e373e85acb06dddf73a48d34b966bfd736efc72880babec9c47859bd8d6d6928a28ac9acd9134eb0ef61b2f88fa31bf18811b
-DIST vector-0.11.0.0.tar.gz 115558 BLAKE2B e2475a37593b92f896c48ff85f6e506fb5011d89173bb0fe12492ed8c6f9620f426c9db88cbc274b37aade52bf6ca3cbdc7cf03b013371b37f2d1b42c348a117 SHA512 4f31e45d08a08c09e5ce73cca4da70e954bf3921d05130b9458c7f2ba267602e0aafc96496595000fd7b82f80aa9147c880917dc64086dab7bf5b2cd426539e0
-DIST vector-0.12.1.2.tar.gz 131049 BLAKE2B d77981f49b89cab1aefa3237d87e84ae36c4586c20ca3f359c0855e3f3e15b8087849590bde06bd2017d83d92d8ff03ff1b9d8d949ceab382865707f16c723b0 SHA512 36d0237cf7c5a6b78f88b33ff09ea8b19baeaf85609efdeba9ab802ca588956457d4607304b73e8d58e9e802a9101c23da62caee71508f069047a6d531e50170
+DIST vector-0.12.3.1-rev1.cabal 7946 BLAKE2B f1545c06c3a2ce405c9bc498e471b640fa415acd3413fbb3514fd0ea9422f4c7d51ee9ff8b6041da842c45a156132f6eebf89ea11b843835fd360b7c1dafa8f3 SHA512 292df3231e4f34bc038efa769928813808e562553188547420a83a5d068e5d591a169957ef50da42da66b5ba9eea12408b3e739f0f9edb76f06977d6b75a4843
+DIST vector-0.12.3.1-rev4.cabal 8218 BLAKE2B df9e13b1d98377d6506225e3da5a1834c51d3e5244945a6d02a9267b077a5b1d276410130d7c2860b8d49b23f4d6d63dfbd168b497d9ad439240aed19dd8213f SHA512 86088ff4f20b2cc214a703b7ea665baf6d1e9b218f931c6880d6d1291f0dd8e2804863a251a8bf11e82d2f0026d55dcba06f937f8c8909dc8988bc60874374aa
+DIST vector-0.12.3.1.tar.gz 151420 BLAKE2B 1d3bb37f1c2b7f3c74e8a934d855b0f1742df03f8526a8b7632d1f940abeeef5a03e476340a96840c9486aeafc404463bff078eb28db9176bc8989b554e87ac4 SHA512 bf117d53c7844c010dc1cee8b778851bd714155fd34e671ae2eb7bd324427de972389eb9f3f315832f20e7bbbecc93ec0f6296ab10e4935957d2a4e14c6cfd98
diff --git a/dev-haskell/vector/files/vector-0.11.0.0-primitive-0.6.2.0.patch b/dev-haskell/vector/files/vector-0.11.0.0-primitive-0.6.2.0.patch
deleted file mode 100644
index 3b78ad74efc3..000000000000
--- a/dev-haskell/vector/files/vector-0.11.0.0-primitive-0.6.2.0.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Data/Vector.hs b/Data/Vector.hs
-index db6dfb7..f074bf0 100644
---- a/Data/Vector.hs
-+++ b/Data/Vector.hs
-@@ -152,3 +152,3 @@ module Data.Vector (
- -- ** Lists
-- toList, fromList, fromListN,
-+ toList, Data.Vector.fromList, Data.Vector.fromListN,
-
-@@ -222,4 +222,4 @@ instance Exts.IsList (Vector a) where
- type Item (Vector a) = a
-- fromList = fromList
-- fromListN = fromListN
-+ fromList = Data.Vector.fromList
-+ fromListN = Data.Vector.fromListN
- toList = toList
-@@ -343,3 +343,3 @@ instance Traversable.Traversable Vector where
- {-# INLINE traverse #-}
-- traverse f xs = fromList Applicative.<$> Traversable.traverse f (toList xs)
-+ traverse f xs = Data.Vector.fromList Applicative.<$> Traversable.traverse f (toList xs)
-
diff --git a/dev-haskell/vector/files/vector-0.12.3.1-cabal-doctest.patch b/dev-haskell/vector/files/vector-0.12.3.1-cabal-doctest.patch
new file mode 100644
index 000000000000..72f56dcb64de
--- /dev/null
+++ b/dev-haskell/vector/files/vector-0.12.3.1-cabal-doctest.patch
@@ -0,0 +1,86 @@
+From: hololeap <hololeap@protonmail.com>
+Signed-off-by: hololeap <hololeap@protonmail.com>
+Bug: https://github.com/gentoo-haskell/gentoo-haskell/issues/1231
+
+doctest pulls in the out-of-scope packages if they are installed on the
+system. The best workaround is to use migrate to cabal-doctest.
+
+diff -urN vector-0.12.3.1/Setup.hs vector-0.12.3.1-r1/Setup.hs
+--- vector-0.12.3.1/Setup.hs 2021-09-21 10:02:15.000000000 -0600
++++ vector-0.12.3.1-r1/Setup.hs 2022-03-22 22:12:57.107142731 -0600
+@@ -1,3 +1,6 @@
+-import Distribution.Simple
+-main = defaultMain
++module Main (main) where
+
++import Distribution.Extra.Doctest ( defaultMainWithDoctests )
++
++main :: IO ()
++main = defaultMainWithDoctests "vector-doctest"
+diff -urN vector-0.12.3.1/tests/doctests.hs vector-0.12.3.1-r1/tests/doctests.hs
+--- vector-0.12.3.1/tests/doctests.hs 2021-09-21 10:02:15.000000000 -0600
++++ vector-0.12.3.1-r1/tests/doctests.hs 2022-03-22 22:14:54.557142788 -0600
+@@ -1,4 +1,30 @@
+ import Test.DocTest (doctest)
++import GHC.IO.Encoding (setLocaleEncoding)
++import System.Directory (getCurrentDirectory, makeAbsolute)
++import System.FilePath.Posix ((</>))
++import System.IO (utf8)
++import Build_doctests (pkgs)
+
+ main :: IO ()
+-main = doctest ["-Iinclude", "-Iinternal", "Data"]
++main = do
++ setLocaleEncoding utf8
++ pwd <- getCurrentDirectory
++ prefix <- makeAbsolute pwd
++
++ let customFlags =
++ [ "-package-env=-"
++ , "-hide-all-packages"
++ , "-no-user-package-db"
++ , "-package-db=" ++ prefix </> "dist/package.conf.inplace"
++ ]
++
++ let origFlags =
++ [ "-Iinclude"
++ , "-Iinternal"
++ ]
++
++ let modules =
++ [ "Data"
++ ]
++
++ doctest $ customFlags ++ pkgs ++ origFlags ++ modules
+diff -urN vector-0.12.3.1/vector.cabal vector-0.12.3.1-r1/vector.cabal
+--- vector-0.12.3.1/vector.cabal 2022-03-22 22:09:55.787142644 -0600
++++ vector-0.12.3.1-r1/vector.cabal 2022-03-22 22:12:23.547142715 -0600
+@@ -49,7 +49,7 @@
+
+
+ Cabal-Version: >=1.10
+-Build-Type: Simple
++Build-Type: Custom
+
+ Extra-Source-Files:
+ changelog.md
+@@ -99,6 +99,11 @@
+ Default: False
+ Manual: True
+
++custom-setup
++ setup-depends:
++ base
++ , Cabal
++ , cabal-doctest
+
+ Library
+ Default-Language: Haskell2010
+@@ -288,4 +293,6 @@
+ base -any
+ , doctest >=0.15 && <0.19
+ , primitive >= 0.6.4.0 && < 0.8
+- , vector -any
++ , directory
++ , filepath
++ , base-compat
diff --git a/dev-haskell/vector/files/vector-0.12.3.1-disable-doctests.patch b/dev-haskell/vector/files/vector-0.12.3.1-disable-doctests.patch
new file mode 100644
index 000000000000..1a04dd89c7f0
--- /dev/null
+++ b/dev-haskell/vector/files/vector-0.12.3.1-disable-doctests.patch
@@ -0,0 +1,27 @@
+From eb479f24b766425dd522ba01e0c298fc814c788d Mon Sep 17 00:00:00 2001
+From: hololeap <hololeap@users.noreply.github.com>
+Date: Sat, 4 Mar 2023 14:46:07 -0700
+Subject: [PATCH] Disable doctests
+
+Doctests are not working on ghc-9.2
+
+Signed-off-by: hololeap <hololeap@users.noreply.github.com>
+---
+ vector.cabal | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/vector.cabal b/vector.cabal
+index cea122a..c738a35 100644
+--- a/vector.cabal
++++ b/vector.cabal
+@@ -274,6 +274,7 @@ test-suite vector-tests-O2
+ Ghc-Options: -Wno-redundant-constraints
+
+ test-suite vector-doctest
++ buildable: False
+ type: exitcode-stdio-1.0
+ main-is: doctests.hs
+ hs-source-dirs: tests
+--
+2.39.2
+
diff --git a/dev-haskell/vector/files/vector-0.12.3.1-fix-testdata-float.patch b/dev-haskell/vector/files/vector-0.12.3.1-fix-testdata-float.patch
new file mode 100644
index 000000000000..8a8db580f225
--- /dev/null
+++ b/dev-haskell/vector/files/vector-0.12.3.1-fix-testdata-float.patch
@@ -0,0 +1,42 @@
+From df8dd8e8e84005aa6b187b03cd502f3c6e18cf3c Mon Sep 17 00:00:00 2001
+From: Bodigrim <andrew.lelechenko@gmail.com>
+Date: Sun, 4 Jun 2023 17:55:28 +0100
+Bug: https://github.com/haskell/vector/pull/461
+Signed-off-by: hololeap <hololeap@protonmail.com>
+Subject: [PATCH] Fix instance TestData Float/Double
+
+---
+ vector/tests/Utilities.hs | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/vector/tests/Utilities.hs b/vector/tests/Utilities.hs
+index 24799554..ae19d425 100644
+--- a/tests/Utilities.hs
++++ b/tests/Utilities.hs
+@@ -121,10 +121,24 @@ instance TestData ty where { \
+ id_TestData(())
+ id_TestData(Bool)
+ id_TestData(Int)
+-id_TestData(Float)
+-id_TestData(Double)
+ id_TestData(Ordering)
+
++instance TestData Float where
++ type Model Float = Float
++ model = id
++ unmodel = id
++
++ type EqTest Float = Property
++ equal x y = property (x == y || (isNaN x && isNaN y))
++
++instance TestData Double where
++ type Model Double = Double
++ model = id
++ unmodel = id
++
++ type EqTest Double = Property
++ equal x y = property (x == y || (isNaN x && isNaN y))
++
+ bimapEither :: (a -> b) -> (c -> d) -> Either a c -> Either b d
+ bimapEither f _ (Left a) = Left (f a)
+ bimapEither _ g (Right c) = Right (g c)
diff --git a/dev-haskell/vector/metadata.xml b/dev-haskell/vector/metadata.xml
index fac2f4dc8e54..d7ad3155bea8 100644
--- a/dev-haskell/vector/metadata.xml
+++ b/dev-haskell/vector/metadata.xml
@@ -1,75 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>haskell@gentoo.org</email>
<name>Gentoo Haskell</name>
</maintainer>
- <longdescription>
- An efficient implementation of Int-indexed arrays (both mutable
- and immutable), with a powerful loop optimisation framework .
-
- It is structured as follows:
-
- ["Data.Vector"] Boxed vectors of arbitrary types.
-
- ["Data.Vector.Unboxed"] Unboxed vectors with an adaptive
- representation based on data type families.
-
- ["Data.Vector.Storable"] Unboxed vectors of 'Storable' types.
-
- ["Data.Vector.Primitive"] Unboxed vectors of primitive types as
- defined by the @primitive@ package. "Data.Vector.Unboxed" is more
- flexible at no performance cost.
-
- ["Data.Vector.Generic"] Generic interface to the vector types.
-
- Each module has a @Safe@ version with is marked as @Trustworthy@
- (see &lt;http://hackage.haskell.org/trac/ghc/wiki/SafeHaskell&gt;).
-
- There is also a (draft) tutorial on common uses of vector.
-
- * &lt;http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial&gt;
-
- Please use the project trac to submit bug reports and feature
- requests.
-
- * &lt;http://trac.haskell.org/vector&gt;
-
- Changes in version 0.9
-
- * 'MonadPlus' instance for boxed vectors
-
- * Export more @construct@ and @constructN@ from @Safe@ modules
-
- * Require @primitive-0.4.0.1@
-
- Changes in version 0.8
-
- * New functions: @constructN@, @constructrN@
-
- * Support for GHC 7.2 array copying primitives
-
- * New fixity for @(!)@
-
- * Safe Haskell support (contributed by David Terei)
-
- * 'Functor', 'Monad', 'Applicative', 'Alternative', 'Foldable' and
- 'Traversable' instances for boxed vectors
- (/WARNING: they tend to be slow and are only provided for completeness/)
-
- * 'Show' instances for immutable vectors follow containers conventions
-
- * 'Read' instances for all immutable vector types
-
- * Performance improvements
- </longdescription>
<use>
<flag name="boundschecks">Enable bounds checking</flag>
- <flag name="internalchecks">Enable internal consistency checks at the cost of a significant performance penalty</flag>
- <flag name="unsafechecks">Enable bounds checking in unsafe operations at the cost of a significant performance penalty</flag>
+ <flag name="internalchecks">Enable internal consistency checks at the cost of a
+significant performance penalty</flag>
+ <flag name="unsafechecks">Enable bounds checking in unsafe operations at the cost of a
+significant performance penalty</flag>
</use>
<upstream>
+ <remote-id type="hackage">vector</remote-id>
<remote-id type="github">haskell/vector</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-haskell/vector/vector-0.10.12.3.ebuild b/dev-haskell/vector/vector-0.10.12.3.ebuild
deleted file mode 100644
index 737b447e1554..000000000000
--- a/dev-haskell/vector/vector-0.10.12.3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-# ebuild generated by hackport 0.4.3
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
-inherit haskell-cabal
-
-DESCRIPTION="Efficient Arrays"
-HOMEPAGE="https://github.com/haskell/vector"
-SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
-IUSE="+boundschecks internalchecks unsafechecks"
-
-RDEPEND=">=dev-haskell/primitive-0.5.0.1:=[profile?] <dev-haskell/primitive-0.7:=[profile?]
- >=dev-lang/ghc-7.4.1:=
-"
-DEPEND="${RDEPEND}
- >=dev-haskell/cabal-1.10
- test? ( >=dev-haskell/quickcheck-2.7 <dev-haskell/quickcheck-2.9
- dev-haskell/random
- dev-haskell/test-framework
- dev-haskell/test-framework-quickcheck2
- >=dev-haskell/transformers-0.2.0.0 )
-"
-
-src_prepare() {
- local can_spec_const="yes"
-
- cabal_chdeps \
- "QuickCheck >= 2.7 && < 2.8" "QuickCheck >= 2.7 && < 2.9"
-
- ghc-supports-interpreter || can_spec_const="no"
-
- # ghci-less GHC can't do ANN #482960
- if [[ ${can_spec_const} == "no" ]]; then
- einfo "Disabling 'ForceSpecConstr' due to bug #482960"
- sed -e 's/{-# ANN type SPEC ForceSpecConstr #-}/{- # ANN type SPEC ForceSpecConstr #-}/' \
- -i Data/Vector/Fusion/Stream/Monadic.hs || die
- fi
-}
-
-src_configure() {
- haskell-cabal_src_configure \
- $(cabal_flag boundschecks boundschecks) \
- $(cabal_flag internalchecks internalchecks) \
- $(cabal_flag unsafechecks unsafechecks)
-}
diff --git a/dev-haskell/vector/vector-0.11.0.0.ebuild b/dev-haskell/vector/vector-0.11.0.0.ebuild
deleted file mode 100644
index f78779315b57..000000000000
--- a/dev-haskell/vector/vector-0.11.0.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# ebuild generated by hackport 0.4.6.9999
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour" # Broken test-suite: #666812
-inherit haskell-cabal
-
-DESCRIPTION="Efficient Arrays"
-HOMEPAGE="https://github.com/haskell/vector"
-SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
-IUSE="+boundschecks internalchecks unsafechecks"
-
-RESTRICT=test # -O2 -g makes tests build hang
-
-RDEPEND=">=dev-haskell/primitive-0.5.0.1:=[profile?] <dev-haskell/primitive-0.7:=[profile?]
- >=dev-lang/ghc-7.4.1:=
-"
-DEPEND="${RDEPEND}
- >=dev-haskell/cabal-1.10
-"
-
-PATCHES=("${FILESDIR}"/${P}-primitive-0.6.2.0.patch)
-
-src_prepare() {
- default
-
- cabal_chdeps \
- "QuickCheck >= 2.7 && < 2.8" "QuickCheck >= 2.7" \
- 'base >= 4.3 && < 4.9' 'base >= 4.3' \
- 'ghc-prim >= 0.2 && < 0.5' 'ghc-prim >= 0.2'
-}
-
-src_configure() {
- haskell-cabal_src_configure \
- $(cabal_flag boundschecks boundschecks) \
- $(cabal_flag internalchecks internalchecks) \
- $(cabal_flag unsafechecks unsafechecks)
-}
diff --git a/dev-haskell/vector/vector-0.12.1.2.ebuild b/dev-haskell/vector/vector-0.12.1.2.ebuild
deleted file mode 100644
index d03f43378f3f..000000000000
--- a/dev-haskell/vector/vector-0.12.1.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# ebuild generated by hackport 0.6.4.9999
-#hackport: flags: -wall
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour" # test-suite"
-inherit haskell-cabal
-
-DESCRIPTION="Efficient Arrays"
-HOMEPAGE="https://github.com/haskell/vector"
-SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="+boundschecks internalchecks unsafechecks"
-
-RESTRICT="test" # test-suite is too memory intensive
-
-RDEPEND=">=dev-haskell/fail-4.9:=[profile?] <dev-haskell/fail-4.10:=[profile?]
- >=dev-haskell/primitive-0.5.0.1:=[profile?] <dev-haskell/primitive-0.8:=[profile?]
- >=dev-haskell/semigroups-0.18:=[profile?] <dev-haskell/semigroups-0.20:=[profile?]
- >=dev-lang/ghc-7.4.1:=
-"
-DEPEND="${RDEPEND}
- >=dev-haskell/cabal-1.10"
-# test? ( >=dev-haskell/base-orphans-0.6
-# dev-haskell/hunit
-# >=dev-haskell/quickcheck-2.9 <dev-haskell/quickcheck-2.14
-# dev-haskell/random
-# dev-haskell/tasty
-# dev-haskell/tasty-hunit
-# dev-haskell/tasty-quickcheck
-# >=dev-haskell/transformers-0.2.0.0 )
-# "
-
-src_configure() {
- haskell-cabal_src_configure \
- $(cabal_flag boundschecks boundschecks) \
- $(cabal_flag internalchecks internalchecks) \
- $(cabal_flag unsafechecks unsafechecks) \
- --flag=-wall
-}
diff --git a/dev-haskell/vector/vector-0.12.3.1-r1.ebuild b/dev-haskell/vector/vector-0.12.3.1-r1.ebuild
new file mode 100644
index 000000000000..23f7fd1c6530
--- /dev/null
+++ b/dev-haskell/vector/vector-0.12.3.1-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# ebuild generated by hackport 0.8.1.0.9999
+#hackport: flags: -wall
+
+CABAL_HACKAGE_REVISION=4
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="Efficient Arrays"
+HOMEPAGE="https://github.com/haskell/vector"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+boundschecks internalchecks unsafechecks"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.12.3.1-disable-doctests.patch"
+ "${FILESDIR}/${PN}-0.12.3.1-fix-testdata-float.patch"
+)
+
+RDEPEND="
+ >=dev-haskell/primitive-0.6.4.0:=[profile?] <dev-haskell/primitive-0.9:=[profile?]
+ >=dev-lang/ghc-8.8.1:=
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-3.0.0.0
+ test? (
+ >=dev-haskell/base-orphans-0.6
+ dev-haskell/hunit
+ >=dev-haskell/quickcheck-2.9 <dev-haskell/quickcheck-2.15
+ dev-haskell/random
+ dev-haskell/tasty
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag boundschecks boundschecks) \
+ $(cabal_flag internalchecks internalchecks) \
+ $(cabal_flag unsafechecks unsafechecks) \
+ --flag=-wall
+}
diff --git a/dev-haskell/vector/vector-0.12.3.1.ebuild b/dev-haskell/vector/vector-0.12.3.1.ebuild
new file mode 100644
index 000000000000..76e5a4178141
--- /dev/null
+++ b/dev-haskell/vector/vector-0.12.3.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# ebuild generated by hackport 0.7.1.1.9999
+#hackport: flags: -wall
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+CABAL_HACKAGE_REVISION="1"
+inherit haskell-cabal
+
+CABAL_FILE="${S}/${PN}.cabal"
+CABAL_DISTFILE="${P}-rev${CABAL_HACKAGE_REVISION}.cabal"
+
+DESCRIPTION="Efficient Arrays"
+HOMEPAGE="https://github.com/haskell/vector"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
+ https://hackage.haskell.org/package/${P}/revision/${CABAL_HACKAGE_REVISION}.cabal
+ -> ${CABAL_DISTFILE}"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+boundschecks internalchecks unsafechecks"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.12.3.1-cabal-doctest.patch"
+ "${FILESDIR}/${PN}-0.12.3.1-fix-testdata-float.patch"
+
+)
+
+RDEPEND=">=dev-haskell/primitive-0.6.4.0:=[profile?] <dev-haskell/primitive-0.8:=[profile?]
+ >=dev-lang/ghc-8.4.3:=
+"
+
+# doctests do not work on >=ghc-9.2
+RDEPEND+="
+ test? (
+ <dev-lang/ghc-9.1
+ )
+"
+
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-2.2.0.1
+ dev-haskell/cabal-doctest
+ test? ( >=dev-haskell/base-orphans-0.6
+ dev-haskell/base-compat
+ >=dev-haskell/doctest-0.15
+ dev-haskell/hunit
+ >=dev-haskell/quickcheck-2.9 <dev-haskell/quickcheck-2.15
+ dev-haskell/random
+ dev-haskell/tasty
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck )
+"
+
+CABAL_CHDEPS=(
+ 'doctest >=0.15 && <0.19' 'doctest >=0.15'
+)
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag boundschecks boundschecks) \
+ $(cabal_flag internalchecks internalchecks) \
+ $(cabal_flag unsafechecks unsafechecks) \
+ --flag=-wall
+}
+
+GHC_BOOTSTRAP_PACKAGES=( cabal-doctest )