aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Popov <arrowd@FreeBSD.org>2026-03-07 06:45:10 +0000
committerGleb Popov <arrowd@FreeBSD.org>2026-03-09 07:03:51 +0000
commit4fcfa3f6b13d9cbf379f63da74ca8b3e730747ae (patch)
tree7b596d829e383ce2b39c519ff865672e62d30d86
parentc30918b1d1fe2ac1d3e08f43897923aad73ede9c (diff)
devel/hs-cabal-install: Enable testing
-rw-r--r--Mk/Uses/cabal.mk2
-rw-r--r--devel/hs-cabal-install/Makefile13
-rw-r--r--devel/hs-cabal-install/files/patch-cabal-benchmarks_bench_CabalBenchmarks.hs14
3 files changed, 28 insertions, 1 deletions
diff --git a/Mk/Uses/cabal.mk b/Mk/Uses/cabal.mk
index d700961174b1..34024cc07d02 100644
--- a/Mk/Uses/cabal.mk
+++ b/Mk/Uses/cabal.mk
@@ -88,7 +88,7 @@ CABAL_EXECUTABLES?= ${PORTNAME}
CABAL_CMD?= cabal
CABAL_PORT= devel/hs-cabal-install
-CABAL_HOME= ${WRKDIR}/cabal-home
+CABAL_HOME?= ${WRKDIR}/cabal-home
CABAL_HOME_ENV=XDG_DATA_HOME=${CABAL_HOME} XDG_CONFIG_HOME=${CABAL_HOME} XDG_CACHE_HOME=${CABAL_HOME} HOME=${CABAL_HOME}
CABAL_LIBEXEC= libexec/cabal
CABAL_EXTRACT_SUFX= .tar.gz
diff --git a/devel/hs-cabal-install/Makefile b/devel/hs-cabal-install/Makefile
index b8bea63466a1..d1b565490e41 100644
--- a/devel/hs-cabal-install/Makefile
+++ b/devel/hs-cabal-install/Makefile
@@ -10,6 +10,8 @@ WWW= https://www.haskell.org/cabal/
LICENSE= BSD3CLAUSE
+TEST_DEPENDS= git:devel/git
+
USES= cabal:nodefault compiler:c11 pkgconfig python:build
USE_GITHUB= yes
@@ -53,6 +55,11 @@ USE_CABAL= alex-3.5.3.0 \
CABAL_EXECUTABLES= cabal
SKIP_CABAL_EXTRACT= yes
+TESTING_UNSAFE= Tests require network access
+.if make(test)
+CABAL_HOME= ${WRKDIR}/cabal-test-home
+.endif
+
post-extract:
${MKDIR} ${WRKSRC}/_build/tarballs/
.for package in ${USE_CABAL}
@@ -73,4 +80,10 @@ do-build:
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/_build/bin/cabal ${STAGEDIR}${PREFIX}/bin/
+do-test:
+ cd ${WRKSRC} && \
+ ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${CABAL_HOME_ENV} ${CABAL_CMD} update
+ cd ${WRKSRC} && \
+ ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${CABAL_HOME_ENV} ${CABAL_CMD} test all
+
.include <bsd.port.mk>
diff --git a/devel/hs-cabal-install/files/patch-cabal-benchmarks_bench_CabalBenchmarks.hs b/devel/hs-cabal-install/files/patch-cabal-benchmarks_bench_CabalBenchmarks.hs
new file mode 100644
index 000000000000..6b13f151194f
--- /dev/null
+++ b/devel/hs-cabal-install/files/patch-cabal-benchmarks_bench_CabalBenchmarks.hs
@@ -0,0 +1,14 @@
+--- cabal-benchmarks/bench/CabalBenchmarks.hs.orig 2025-12-05 21:21:24 UTC
++++ cabal-benchmarks/bench/CabalBenchmarks.hs
+@@ -17,9 +17,9 @@ main = defaultMain
+ main :: IO ()
+ main = defaultMain
+ [ bgroup "parseGPD"
+- [ env (BS.readFile "Cabal/Cabal.cabal") $ \bs ->
++ [ env (BS.readFile "../Cabal/Cabal.cabal") $ \bs ->
+ bench "Cabal" $ whnf parseGenericPackageDescriptionMaybe bs
+- , env (BS.readFile "cabal-benchmarks/cabal-benchmarks.cabal") $ \bs ->
++ , env (BS.readFile "../cabal-benchmarks/cabal-benchmarks.cabal") $ \bs ->
+ bench "cabal-benchmarks" $ whnf parseGenericPackageDescriptionMaybe bs
+ ]
+