git: f3ae25923d9b - main - x11-wm/stumpwm: Update to 22.11-88 and rework port

From: Joseph Mingrone <jrm_at_FreeBSD.org>
Date: Wed, 01 Nov 2023 01:48:11 UTC
The branch main has been updated by jrm:

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

commit f3ae25923d9b0166d87b71a22ca82efb956c2520
Author:     Joseph Mingrone <jrm@FreeBSD.org>
AuthorDate: 2023-09-23 03:01:18 +0000
Commit:     Joseph Mingrone <jrm@FreeBSD.org>
CommitDate: 2023-11-01 01:47:27 +0000

    x11-wm/stumpwm: Update to 22.11-88 and rework port
    
    Generate a bundled stumpwm binary.
    
    In ca5de48040, the stumpwm port was unbundled so that it had runtime
    dependencies on lang/sbcl, a few common lisp ports, as well as the
    associated ports with compiled lisp code.  While this made the stumpwm
    port lean, it required more maintenance and made it fragile.  Whenever
    any of the dependencies changed, stumwpwm would fail to run until it was
    rebuilt.  Since that time, sbcl has gained core compression support so
    that the bundled stumpwm binary is reduced from about 60 MB to under 12
    MB.
    
    Sponsored by:   The FreeBSD Foundation
---
 x11-wm/stumpwm/Makefile  |  78 ++++++++++------------------------
 x11-wm/stumpwm/distinfo  |  12 ++++--
 x11-wm/stumpwm/pkg-plist | 108 -----------------------------------------------
 3 files changed, 31 insertions(+), 167 deletions(-)

diff --git a/x11-wm/stumpwm/Makefile b/x11-wm/stumpwm/Makefile
index 3bdf9972bdea..ece0578ca25c 100644
--- a/x11-wm/stumpwm/Makefile
+++ b/x11-wm/stumpwm/Makefile
@@ -1,7 +1,13 @@
 PORTNAME=	stumpwm
-DISTVERSION=	22.11
-PORTREVISION=	8
+DISTVERSION=	22.11-88
+DISTVERSIONSUFFIX=	-gbaf5df7
 CATEGORIES=	x11-wm lisp
+MASTER_SITES+=	https://beta.quicklisp.org/archive/alexandria/2023-10-21/:alexandria \
+		https://beta.quicklisp.org/archive/cl-ppcre/2023-06-18/:ppcre \
+		https://beta.quicklisp.org/archive/clx/2023-06-18/:clx
+DISTFILES+=	alexandria-20231021-git.tgz:alexandria \
+		cl-ppcre-20230618-git.tgz:ppcre \
+		clx-20230618-git.tgz:clx
 
 MAINTAINER=	jrm@FreeBSD.org
 COMMENT=	Tiling, keyboard driven Window Manager written in Common Lisp
@@ -10,77 +16,38 @@ WWW=		https://www.nongnu.org/stumpwm/
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BUILD_DEPENDS=	cl-alexandria>=0:devel/cl-alexandria \
-		cl-alexandria-sbcl>=0:devel/cl-alexandria-sbcl \
-		cl-clx>=0:x11/cl-clx \
-		cl-clx-sbcl>=0:x11/cl-clx-sbcl \
-		cl-ppcre>=0:textproc/cl-ppcre \
-		cl-ppcre-sbcl>=0:textproc/cl-ppcre-sbcl \
+BUILD_DEPENDS=	sbcl:lang/sbcl \
 		texinfo>=0:print/texinfo
-RUN_DEPENDS=	cl-alexandria>=0:devel/cl-alexandria \
-		cl-alexandria-sbcl>=0:devel/cl-alexandria-sbcl \
-		cl-clx>=0:x11/cl-clx \
-		cl-clx-sbcl>=0:x11/cl-clx-sbcl \
-		cl-ppcre>=0:textproc/cl-ppcre \
-		cl-ppcre-sbcl>=0:textproc/cl-ppcre-sbcl
 
+USES=		autoreconf gmake
 USE_GITHUB=	yes
 USE_SBCL=	yes
 
-SUB_FILES=	stumpwm
-SUB_LIST=	ASDF_REGISTRY=${ASDF_REGISTRY} \
-		SBCL=${SBCL}
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--with-module-dir=${DATADIR}/modules \
+		--enable-compression
+
+MAKE_ARGS=	destdir=${STAGEDIR}
 
 INFO=		${PORTNAME}
-PLIST_SUB=	ASDF_PATHNAME="${ASDF_PATHNAME:S,^${PREFIX}/,,}" \
-		ASDF_REGISTRY="${ASDF_REGISTRY:S,^${PREFIX}/,,}"
+PLIST_FILES=	bin/stumpwm
 PORTDOCS=	AUTHORS COPYING HACKING NEWS README.md
 PORTEXAMPLES=	sample-stumpwmrc.lisp
 
 OPTIONS_DEFINE=	DOCS EXAMPLES
 
-post-patch:
-	@${CP} ${WRKSRC}/load-stumpwm.lisp.in ${WRKSRC}/load-stumpwm.lisp
-	@${REINPLACE_CMD} -e 's|@STUMPWM_ASDF_DIR@|${ASDF_PATHNAME}|' \
-		${WRKSRC}/load-stumpwm.lisp
-	${CP} ${WRKSRC}/make-image.lisp.in ${WRKSRC}/make-image.lisp
-	@${REINPLACE_CMD} -e 's|@MODULE_DIR@|${DATADIR}|' \
-		${WRKSRC}/make-image.lisp
+post-extract:
+	${FIND} ${WRKDIR} -type f -name \*.asd -a \! -name stumpwm\*.asd \
+		\! -name dynamic-mixins-swm.asd -exec ${LN} -s {} ${WRKSRC} \;
 
 do-build:
 	(cd ${WRKSRC} && \
-		CL_SOURCE_REGISTRY="${WRKSRC}" \
 		ASDF_OUTPUT_TRANSLATIONS="/:" \
-		FBSD_ASDF_COMPILE_PORT=t PORTNAME=${PORTNAME} WRKSRC=${WRKSRC}/ \
-		${SBCL} \
+		sbcl \
 		--noinform --non-interactive --no-sysinit --no-userinit \
+		--eval "(require :uiop)" \
 		--eval "(setf sb-impl::*default-external-format* :UTF-8)" \
-		--eval '#.(load "${LOCALBASE}/etc/asdf-init")' \
-		--eval "(asdf:oos 'asdf:compile-op :${PORTNAME} :force t)" \
-		--eval '(load "load-stumpwm.lisp")' \
-		--eval '(load "manual.lisp")' \
-		--eval '(stumpwm::generate-manual)' \
-		--eval '(sb-ext:quit)' && \
-		makeinfo stumpwm.texi)
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${ASDF_PATHNAME}/dynamic-mixins/src \
-		${STAGEDIR}${ASDF_PATHNAME}/sbclfasl/dynamic-mixins/src \
-		${STAGEDIR}${ASDF_REGISTRY}
-	${INSTALL_SCRIPT} ${WRKDIR}/stumpwm ${STAGEDIR}${PREFIX}/bin
-	${INSTALL_DATA} ${WRKSRC}/.dir-locals.el ${WRKSRC}/${PORTNAME}.asd \
-		${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME}
-	 ${INSTALL_DATA} ${WRKSRC}/dynamic-mixins/dynamic-mixins.asd \
-		${STAGEDIR}${ASDF_PATHNAME}/dynamic-mixins/
-	${INSTALL_DATA} ${WRKSRC}/dynamic-mixins/src/*.lisp \
-		${STAGEDIR}${ASDF_PATHNAME}/dynamic-mixins/src/
-	${INSTALL_DATA} ${WRKSRC}/*.fasl ${STAGEDIR}${ASDF_PATHNAME}/sbclfasl
-	${INSTALL_DATA} ${WRKSRC}/dynamic-mixins/src/*.fasl \
-		${STAGEDIR}${ASDF_PATHNAME}/sbclfasl/dynamic-mixins/src
-	${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.info \
-		${STAGEDIR}${PREFIX}/${INFO_PATH}
-	@${RLN} ${STAGEDIR}${ASDF_PATHNAME}/${PORTNAME}.asd \
-		${STAGEDIR}${ASDF_REGISTRY}
+		--load ./make-image.lisp)
 
 do-install-DOCS-on:
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
@@ -90,5 +57,4 @@ do-install-EXAMPLES-on:
 	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
 	${INSTALL_DATA} ${WRKSRC}/${PORTEXAMPLES} ${STAGEDIR}/${EXAMPLESDIR}
 
-.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk"
 .include <bsd.port.mk>
diff --git a/x11-wm/stumpwm/distinfo b/x11-wm/stumpwm/distinfo
index 712da57e02e9..fd469e719b66 100644
--- a/x11-wm/stumpwm/distinfo
+++ b/x11-wm/stumpwm/distinfo
@@ -1,3 +1,9 @@
-TIMESTAMP = 1669916176
-SHA256 (stumpwm-stumpwm-22.11_GH0.tar.gz) = 36940f3b2c1ba54219a8d3a784103cfa83f84c652d1dbd7d3b7360c55e5ef026
-SIZE (stumpwm-stumpwm-22.11_GH0.tar.gz) = 280147
+TIMESTAMP = 1698514642
+SHA256 (alexandria-20231021-git.tgz) = 5bc0e459ebc303878e724f2ce082cc3bcfff94c4eb42621889e6e95c1a843d61
+SIZE (alexandria-20231021-git.tgz) = 57207
+SHA256 (cl-ppcre-20230618-git.tgz) = aaba004bc82bf63886b8ce91eadaf0b78fd6c4865da09c3e66da7fbf2a127397
+SIZE (cl-ppcre-20230618-git.tgz) = 157428
+SHA256 (clx-20230618-git.tgz) = d3f4244c915c68ef1572be1a89742b3a8f4a02bb83d9eb3968f546b68c7a3ec1
+SIZE (clx-20230618-git.tgz) = 459665
+SHA256 (stumpwm-stumpwm-22.11-88-gbaf5df7_GH0.tar.gz) = 35f4eb386a1f7088e39d5ee12912d1b0f471c9f50efa65a8d183c091f3576b13
+SIZE (stumpwm-stumpwm-22.11-88-gbaf5df7_GH0.tar.gz) = 287344
diff --git a/x11-wm/stumpwm/pkg-plist b/x11-wm/stumpwm/pkg-plist
deleted file mode 100644
index 730522ea47fb..000000000000
--- a/x11-wm/stumpwm/pkg-plist
+++ /dev/null
@@ -1,108 +0,0 @@
-bin/stumpwm
-%%ASDF_PATHNAME%%/.dir-locals.el
-%%ASDF_PATHNAME%%/bindings.lisp
-%%ASDF_PATHNAME%%/color.lisp
-%%ASDF_PATHNAME%%/command.lisp
-%%ASDF_PATHNAME%%/core.lisp
-%%ASDF_PATHNAME%%/debug.lisp
-%%ASDF_PATHNAME%%/dynamic-group.lisp
-%%ASDF_PATHNAME%%/dynamic-mixins/dynamic-mixins.asd
-%%ASDF_PATHNAME%%/dynamic-mixins/src/dynamic-mixins.lisp
-%%ASDF_PATHNAME%%/dynamic-mixins/src/package.lisp
-%%ASDF_PATHNAME%%/dynamic-window.lisp
-%%ASDF_PATHNAME%%/events.lisp
-%%ASDF_PATHNAME%%/fdump.lisp
-%%ASDF_PATHNAME%%/floating-group.lisp
-%%ASDF_PATHNAME%%/font-rendering.lisp
-%%ASDF_PATHNAME%%/group.lisp
-%%ASDF_PATHNAME%%/head.lisp
-%%ASDF_PATHNAME%%/help.lisp
-%%ASDF_PATHNAME%%/input.lisp
-%%ASDF_PATHNAME%%/interactive-keymap.lisp
-%%ASDF_PATHNAME%%/ioloop.lisp
-%%ASDF_PATHNAME%%/iresize.lisp
-%%ASDF_PATHNAME%%/keysyms.lisp
-%%ASDF_PATHNAME%%/keytrans.lisp
-%%ASDF_PATHNAME%%/kmap.lisp
-%%ASDF_PATHNAME%%/load-stumpwm.lisp
-%%ASDF_PATHNAME%%/main.lisp
-%%ASDF_PATHNAME%%/make-image.lisp
-%%ASDF_PATHNAME%%/manual.lisp
-%%ASDF_PATHNAME%%/menu-declarations.lisp
-%%ASDF_PATHNAME%%/menu-definitions.lisp
-%%ASDF_PATHNAME%%/message-window.lisp
-%%ASDF_PATHNAME%%/minor-modes.lisp
-%%ASDF_PATHNAME%%/mode-line-formatters.lisp
-%%ASDF_PATHNAME%%/mode-line.lisp
-%%ASDF_PATHNAME%%/module.lisp
-%%ASDF_PATHNAME%%/package.lisp
-%%ASDF_PATHNAME%%/pathnames.lisp
-%%ASDF_PATHNAME%%/primitives.lisp
-%%ASDF_PATHNAME%%/remap-keys.lisp
-%%ASDF_PATHNAME%%/replace-class.lisp
-%%ASDF_PATHNAME%%/sample-stumpwmrc.lisp
-%%ASDF_PATHNAME%%/sbclfasl/bindings.fasl
-%%ASDF_PATHNAME%%/sbclfasl/color.fasl
-%%ASDF_PATHNAME%%/sbclfasl/command.fasl
-%%ASDF_PATHNAME%%/sbclfasl/core.fasl
-%%ASDF_PATHNAME%%/sbclfasl/debug.fasl
-%%ASDF_PATHNAME%%/sbclfasl/dynamic-group.fasl
-%%ASDF_PATHNAME%%/sbclfasl/dynamic-mixins/src/dynamic-mixins.fasl
-%%ASDF_PATHNAME%%/sbclfasl/dynamic-mixins/src/package.fasl
-%%ASDF_PATHNAME%%/sbclfasl/dynamic-window.fasl
-%%ASDF_PATHNAME%%/sbclfasl/events.fasl
-%%ASDF_PATHNAME%%/sbclfasl/fdump.fasl
-%%ASDF_PATHNAME%%/sbclfasl/floating-group.fasl
-%%ASDF_PATHNAME%%/sbclfasl/font-rendering.fasl
-%%ASDF_PATHNAME%%/sbclfasl/group.fasl
-%%ASDF_PATHNAME%%/sbclfasl/head.fasl
-%%ASDF_PATHNAME%%/sbclfasl/help.fasl
-%%ASDF_PATHNAME%%/sbclfasl/input.fasl
-%%ASDF_PATHNAME%%/sbclfasl/interactive-keymap.fasl
-%%ASDF_PATHNAME%%/sbclfasl/ioloop.fasl
-%%ASDF_PATHNAME%%/sbclfasl/iresize.fasl
-%%ASDF_PATHNAME%%/sbclfasl/keysyms.fasl
-%%ASDF_PATHNAME%%/sbclfasl/keytrans.fasl
-%%ASDF_PATHNAME%%/sbclfasl/kmap.fasl
-%%ASDF_PATHNAME%%/sbclfasl/manual.fasl
-%%ASDF_PATHNAME%%/sbclfasl/menu-declarations.fasl
-%%ASDF_PATHNAME%%/sbclfasl/menu-definitions.fasl
-%%ASDF_PATHNAME%%/sbclfasl/message-window.fasl
-%%ASDF_PATHNAME%%/sbclfasl/minor-modes.fasl
-%%ASDF_PATHNAME%%/sbclfasl/mode-line-formatters.fasl
-%%ASDF_PATHNAME%%/sbclfasl/mode-line.fasl
-%%ASDF_PATHNAME%%/sbclfasl/module.fasl
-%%ASDF_PATHNAME%%/sbclfasl/package.fasl
-%%ASDF_PATHNAME%%/sbclfasl/pathnames.fasl
-%%ASDF_PATHNAME%%/sbclfasl/primitives.fasl
-%%ASDF_PATHNAME%%/sbclfasl/remap-keys.fasl
-%%ASDF_PATHNAME%%/sbclfasl/replace-class.fasl
-%%ASDF_PATHNAME%%/sbclfasl/screen.fasl
-%%ASDF_PATHNAME%%/sbclfasl/selection.fasl
-%%ASDF_PATHNAME%%/sbclfasl/stumpwm.fasl
-%%ASDF_PATHNAME%%/sbclfasl/tile-group.fasl
-%%ASDF_PATHNAME%%/sbclfasl/tile-window.fasl
-%%ASDF_PATHNAME%%/sbclfasl/time.fasl
-%%ASDF_PATHNAME%%/sbclfasl/timers.fasl
-%%ASDF_PATHNAME%%/sbclfasl/user.fasl
-%%ASDF_PATHNAME%%/sbclfasl/version.fasl
-%%ASDF_PATHNAME%%/sbclfasl/window-placement.fasl
-%%ASDF_PATHNAME%%/sbclfasl/window.fasl
-%%ASDF_PATHNAME%%/sbclfasl/wrappers.fasl
-%%ASDF_PATHNAME%%/sbclfasl/wse.fasl
-%%ASDF_PATHNAME%%/screen.lisp
-%%ASDF_PATHNAME%%/selection.lisp
-%%ASDF_PATHNAME%%/stumpwm.asd
-%%ASDF_PATHNAME%%/stumpwm.lisp
-%%ASDF_PATHNAME%%/test-wm.lisp
-%%ASDF_PATHNAME%%/tile-group.lisp
-%%ASDF_PATHNAME%%/tile-window.lisp
-%%ASDF_PATHNAME%%/time.lisp
-%%ASDF_PATHNAME%%/timers.lisp
-%%ASDF_PATHNAME%%/user.lisp
-%%ASDF_PATHNAME%%/version.lisp
-%%ASDF_PATHNAME%%/window-placement.lisp
-%%ASDF_PATHNAME%%/window.lisp
-%%ASDF_PATHNAME%%/wrappers.lisp
-%%ASDF_PATHNAME%%/wse.lisp
-%%ASDF_REGISTRY%%/stumpwm.asd