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