I believe it's time to bring this thread to a resolution.

I have been running with this for a while, anybody feel like testing or
OK'ing this size reduction? The second patch is courtesy of portbump.

Thanks
Greg

>From 364b3906e4549158d19a8dc7019304945bcec84d Mon Sep 17 00:00:00 2001
From: Greg Steuck <g...@nest.cx>
Date: Mon, 23 Jan 2023 09:11:17 -0800
Subject: [PATCH 1/2] Shrink Haskell binaries size via link time deduplication

http://brandon.si/code/linking-smaller-haskell-binaries/
---
 devel/cabal/cabal.port.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/devel/cabal/cabal.port.mk b/devel/cabal/cabal.port.mk
index 8e0ed30d9e8..f90e6ce59cf 100644
--- a/devel/cabal/cabal.port.mk
+++ b/devel/cabal/cabal.port.mk
@@ -85,6 +85,10 @@ MODCABAL_post-extract += \
 	&& echo "packages: ${WRKDIR}/${_package}-${_version}/${_package}.cabal" >> ${WRKSRC}/cabal.project.local
 .endfor  # MODCABAL_MANIFEST
 
+MODCABAL_post-extract += \
+	&& echo "package *\n ghc-options: -split-sections\n" >> ${WRKSRC}/cabal.project.local \
+	&& echo "package ${MODCABAL_STEM}\n ld-options: -Wl,--gc-sections,--build-id" >> ${WRKSRC}/cabal.project.local
+
 # Automatically copies the cabal.project file if any.
 MODCABAL_post-extract += \
 	&& (test -f ${FILESDIR}/cabal.project \
-- 
2.39.1

>From 644d93b129217c7b12feef0fdfced9347095ba08 Mon Sep 17 00:00:00 2001
From: Greg Steuck <g...@nest.cx>
Date: Sat, 4 Feb 2023 22:33:38 -0800
Subject: [PATCH 2/2] REVISION bumps for haskell ports size reduction

---
 devel/alex/Makefile          | 1 +
 devel/cabal-bundler/Makefile | 2 +-
 devel/cpphs/Makefile         | 2 +-
 devel/darcs/Makefile         | 2 +-
 devel/git-annex/Makefile     | 1 +
 devel/happy/Makefile         | 1 +
 devel/hasktags/Makefile      | 2 +-
 devel/hlint/Makefile         | 1 +
 devel/shellcheck/Makefile    | 1 +
 textproc/pandoc/Makefile     | 1 +
 x11/xmobar/Makefile          | 1 +
 x11/xmonad/Makefile          | 2 +-
 12 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/devel/alex/Makefile b/devel/alex/Makefile
index 5709cfdd6a3..fca80864b57 100644
--- a/devel/alex/Makefile
+++ b/devel/alex/Makefile
@@ -1,4 +1,5 @@
 COMMENT =	lexical analyser generator for Haskell
+REVISION =	0
 
 MODCABAL_STEM 		= alex
 MODCABAL_VERSION	= 3.2.7.1
diff --git a/devel/cabal-bundler/Makefile b/devel/cabal-bundler/Makefile
index c4446ab3018..65f00bb8bff 100644
--- a/devel/cabal-bundler/Makefile
+++ b/devel/cabal-bundler/Makefile
@@ -5,7 +5,7 @@ V =		0.1.20210825
 GH_ACCOUNT = 	phadej
 GH_COMMIT =	bb82ebb7fdaa939c27762e10cb4cad49249b553f
 GH_PROJECT =	cabal-extras
-REVISION =	0
+REVISION =	1
 
 # Overrides cabal.port.mk which would otherwise preempt bsd.port.mk
 DISTNAME =	${GH_PROJECT}-${V}
diff --git a/devel/cpphs/Makefile b/devel/cpphs/Makefile
index 8f8bd58ce62..8ff733aaa4b 100644
--- a/devel/cpphs/Makefile
+++ b/devel/cpphs/Makefile
@@ -4,7 +4,7 @@ MODCABAL_STEM =		cpphs
 MODCABAL_VERSION	= 1.20.9.1
 MODCABAL_REVISION	= 1
 MODCABAL_MANIFEST	= polyparse	1.13	4
-REVISION =		1
+REVISION =		2
 CATEGORIES =		devel
 MAINTAINER =		Matthias Kilian <k...@openbsd.org>
 
diff --git a/devel/darcs/Makefile b/devel/darcs/Makefile
index 32954f69d7a..ea141d15db2 100644
--- a/devel/darcs/Makefile
+++ b/devel/darcs/Makefile
@@ -3,7 +3,7 @@ COMMENT =		advanced revision control system written in Haskell
 MODCABAL_STEM =		darcs
 MODCABAL_VERSION =	2.16.5
 CATEGORIES =		devel
-REVISION =		0
+REVISION =		1
 HOMEPAGE =		http://www.darcs.net/
 
 WANTLIB =		c charset curl>=2 curses ffi gmp iconv m \
diff --git a/devel/git-annex/Makefile b/devel/git-annex/Makefile
index e5039564869..b793f9bf66f 100644
--- a/devel/git-annex/Makefile
+++ b/devel/git-annex/Makefile
@@ -1,4 +1,5 @@
 COMMENT =	use git to manage files without checking them in
+REVISION =	0
 
 CATEGORIES =	devel
 HOMEPAGE =	https://git-annex.branchable.com/
diff --git a/devel/happy/Makefile b/devel/happy/Makefile
index 024ac26faaa..29cc27850cc 100644
--- a/devel/happy/Makefile
+++ b/devel/happy/Makefile
@@ -1,4 +1,5 @@
 COMMENT=		parser generator for Haskell
+REVISION=		0
 
 MODCABAL_STEM=		happy
 MODCABAL_VERSION=	1.20.0
diff --git a/devel/hasktags/Makefile b/devel/hasktags/Makefile
index 4de21758a0f..7a22cad010d 100644
--- a/devel/hasktags/Makefile
+++ b/devel/hasktags/Makefile
@@ -2,7 +2,7 @@ COMMENT =	ctags-like tool for Haskell sources
 
 MODCABAL_STEM =		hasktags
 MODCABAL_VERSION =	0.72.0
-REVISION =		0
+REVISION =		1
 CATEGORIES =	devel
 
 MAINTAINER =	Matthias Kilian <k...@openbsd.org>
diff --git a/devel/hlint/Makefile b/devel/hlint/Makefile
index b244c9cc915..fcf8b983773 100644
--- a/devel/hlint/Makefile
+++ b/devel/hlint/Makefile
@@ -1,4 +1,5 @@
 COMMENT =	gives suggestions on how to improve Haskell source code
+REVISION =	0
 
 CATEGORIES =	devel
 HOMEPAGE =	https://github.com/ndmitchell/hlint#readme
diff --git a/devel/shellcheck/Makefile b/devel/shellcheck/Makefile
index 2dfbdaf83e2..f97d3cc5431 100644
--- a/devel/shellcheck/Makefile
+++ b/devel/shellcheck/Makefile
@@ -6,6 +6,7 @@ MODCABAL_EXECUTABLES =	shellcheck
 PKGNAME =		${DISTNAME:L}
 CATEGORIES =		devel
 HOMEPAGE =		https://www.shellcheck.net/
+REVISION =		0
 
 MAINTAINER =		Caspar Schutijser <cas...@schutijser.com>
 
diff --git a/textproc/pandoc/Makefile b/textproc/pandoc/Makefile
index 46eeaba3be5..42305e6437b 100644
--- a/textproc/pandoc/Makefile
+++ b/textproc/pandoc/Makefile
@@ -1,5 +1,6 @@
 
 COMMENT =	convert between markup and document formats
+REVISION =	0
 
 CATEGORIES =	converters textproc
 
diff --git a/x11/xmobar/Makefile b/x11/xmobar/Makefile
index d3090dba591..15500bfbc32 100644
--- a/x11/xmobar/Makefile
+++ b/x11/xmobar/Makefile
@@ -1,4 +1,5 @@
 COMMENT =		minimalistic text based status bar
+REVISION =		0
 
 MODCABAL_STEM =		xmobar
 MODCABAL_VERSION =	0.43
diff --git a/x11/xmonad/Makefile b/x11/xmonad/Makefile
index 9d3b7bd7781..07b8033d3c4 100644
--- a/x11/xmonad/Makefile
+++ b/x11/xmonad/Makefile
@@ -4,7 +4,7 @@ MODCABAL_STEM =		xmonad
 MODCABAL_VERSION =	0.17.0
 
 PKGNAME =		${DISTNAME}
-REVISION =		1
+REVISION =		2
 CATEGORIES =		x11
 HOMEPAGE =		http://www.xmonad.org/
 
-- 
2.39.1

Reply via email to