aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Mingrone <jrm@FreeBSD.org>2023-09-23 03:01:18 +0000
committerJoseph Mingrone <jrm@FreeBSD.org>2023-11-01 01:47:27 +0000
commitf3ae25923d9b0166d87b71a22ca82efb956c2520 (patch)
tree10cbc9cdcc587c4b90c79554d428961e53aa8228
parent9d815074c5051057575928000e2a7e6fb239fa81 (diff)
downloadports-f3ae25923d9b0166d87b71a22ca82efb956c2520.tar.gz
ports-f3ae25923d9b0166d87b71a22ca82efb956c2520.zip
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
-rw-r--r--x11-wm/stumpwm/Makefile78
-rw-r--r--x11-wm/stumpwm/distinfo12
-rw-r--r--x11-wm/stumpwm/pkg-plist108
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