From f3ae25923d9b0166d87b71a22ca82efb956c2520 Mon Sep 17 00:00:00 2001 From: Joseph Mingrone Date: Sat, 23 Sep 2023 00:01:18 -0300 Subject: 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(-) delete mode 100644 x11-wm/stumpwm/pkg-plist 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 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 -- cgit v1.2.3