Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Mar 2026 07:03:59 +0000
From:      Gleb Popov <arrowd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 4fcfa3f6b13d - main - devel/hs-cabal-install: Enable testing
Message-ID:  <69ae70df.25ebc.116d2e88@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4fcfa3f6b13d9cbf379f63da74ca8b3e730747ae

commit 4fcfa3f6b13d9cbf379f63da74ca8b3e730747ae
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2026-03-07 06:45:10 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-03-09 07:03:51 +0000

    devel/hs-cabal-install: Enable testing
---
 Mk/Uses/cabal.mk                                           |  2 +-
 devel/hs-cabal-install/Makefile                            | 13 +++++++++++++
 .../files/patch-cabal-benchmarks_bench_CabalBenchmarks.hs  | 14 ++++++++++++++
 3 files changed, 28 insertions(+), 1 deletion(-)

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
+         ]
+ 


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69ae70df.25ebc.116d2e88>