summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/foldl/files/foldl-1.4.15-cabal-doctest.patch')
-rw-r--r--dev-haskell/foldl/files/foldl-1.4.15-cabal-doctest.patch120
1 files changed, 120 insertions, 0 deletions
diff --git a/dev-haskell/foldl/files/foldl-1.4.15-cabal-doctest.patch b/dev-haskell/foldl/files/foldl-1.4.15-cabal-doctest.patch
new file mode 100644
index 000000000000..a5fad758b449
--- /dev/null
+++ b/dev-haskell/foldl/files/foldl-1.4.15-cabal-doctest.patch
@@ -0,0 +1,120 @@
+From 7dc9bf5a311c56408f5f102c09d36ab127e64b94 Mon Sep 17 00:00:00 2001
+From: hololeap <hololeap@protonmail.com>
+Date: Sat, 4 Nov 2023 14:43:01 -0600
+Subject: [PATCH 1/1] Migrate to cabal-doctest
+
+doctest pulls in the out-of-scope packages if they are installed on the
+system. The best current workaround is to migrate to cabal-doctest.
+
+Bug: https://bugs.gentoo.org/916851
+Signed-off-by: hololeap <hololeap@protonmail.com>
+---
+ Setup.hs | 17 +++++++++++++++++
+ foldl.cabal | 13 +++++++++++--
+ test/doctest.hs | 29 +++++++++++++++++++++++++++--
+ 3 files changed, 55 insertions(+), 4 deletions(-)
+
+diff --git a/Setup.hs b/Setup.hs
+index 9a994af..f21ad76 100644
+--- a/Setup.hs
++++ b/Setup.hs
+@@ -1,2 +1,23 @@
++{-# LANGUAGE CPP #-}
++
++module Main (main) where
++
++#ifndef MIN_VERSION_cabal_doctest
++#define MIN_VERSION_cabal_doctest(x,y,z) 0
++#endif
++
++#if MIN_VERSION_cabal_doctest(1,0,0)
++
++import Distribution.Extra.Doctest ( defaultMainWithDoctests )
++
++main :: IO ()
++main = defaultMainWithDoctests "doctest"
++
++#else
++
+ import Distribution.Simple
++
++main :: IO ()
+ main = defaultMain
++
++#endif
+diff --git a/foldl.cabal b/foldl.cabal
+index 08715aa..ec2983e 100644
+--- a/foldl.cabal
++++ b/foldl.cabal
+@@ -1,7 +1,7 @@
+ Name: foldl
+ Version: 1.4.15
+ Cabal-Version: >=1.10
+-Build-Type: Simple
++Build-Type: Custom
+ License: BSD3
+ License-File: LICENSE
+ Copyright: 2013 Gabriella Gonzalez
+@@ -21,6 +21,12 @@ Source-Repository head
+ Type: git
+ Location: https://github.com/Gabriella439/Haskell-Foldl-Library
+
++custom-setup
++ setup-depends:
++ base
++ , Cabal
++ , cabal-doctest >= 1.0.0
++
+ Library
+ HS-Source-Dirs: src
+ Build-Depends:
+@@ -83,6 +89,9 @@ Test-Suite doctest
+ Main-Is: doctest.hs
+ Build-Depends:
+ base,
+- doctest >= 0.16
++ doctest >= 0.16,
++ directory,
++ filepath,
++ base-compat
+ GHC-Options: -threaded
+ Default-Language: Haskell2010
+diff --git a/test/doctest.hs b/test/doctest.hs
+index 5981eb4..847b897 100644
+--- a/test/doctest.hs
++++ b/test/doctest.hs
+@@ -1,4 +1,29 @@
+ import Test.DocTest
++import GHC.IO.Encoding (setLocaleEncoding)
++import System.Directory (getCurrentDirectory, makeAbsolute)
++import System.FilePath.Posix ((</>))
++import System.IO (utf8)
++import Build_doctests (pkgs)
++
++main = do
++ setLocaleEncoding utf8
++ pwd <- getCurrentDirectory
++ prefix <- makeAbsolute pwd
+
+-main :: IO ()
+-main = doctest ["-isrc", "src/Control/Foldl.hs", "src/Control/Scanl.hs"]
++ let customFlags =
++ [ "-package-env=-"
++ , "-hide-all-packages"
++ , "-no-user-package-db"
++ , "-package-db=" ++ prefix </> "dist/package.conf.inplace"
++ ]
++
++ let origFlags =
++ [ "-isrc"
++ ]
++
++ let modules =
++ [ "src/Control/Foldl.hs"
++ , "src/Control/Scanl.hs"
++ ]
++
++ doctest $ customFlags ++ pkgs ++ origFlags ++ modules
+--
+2.41.0
+