Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Aug 2017 14:27:26 +0000 (UTC)
From:      Joseph Mingrone <jrm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r448234 - in head: . x11-wm x11-wm/stumpwm x11-wm/stumpwm/files
Message-ID:  <201708181427.v7IERQRp064195@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jrm
Date: Fri Aug 18 14:27:26 2017
New Revision: 448234
URL: https://svnweb.freebsd.org/changeset/ports/448234

Log:
  x11-wm/stumpwm: re-add after deletion in 2014
  
  Instead of bundling StumpWM, SBCL, and other libraries into one large
  executable, pull in SBCL and the other dependencies and use the simple CL
  framework that other FreeBSD CL ports use.
  
  Since StumpWM only supports running under SBCL, the port pulls in the
  *-sbcl port dependencies and conforms to the framework itself, except that
  it directly installs the fasl files instead of having an associated
  x11-wm/stumpwm-sbcl.  This means no fasl files will be generated under
  ~/.cache/common-lisp/sbcl-*/ [1] and the package is only made up of the
  source, fasl files, and a few small, miscellaneous files.  From a user
  perspective, they still get an executable, but it is a small shell script
  and the package is under 3 MB instead of around 65 MB.
  
  [1] Loading personal modules in ~/.stumpwmrc will still generate fasl files
      under ~/.cache/common-lisp/sbcl-*/

Added:
  head/x11-wm/stumpwm/
     - copied from r352940, head/x11-wm/stumpwm/
  head/x11-wm/stumpwm/files/stumpwm.in   (contents, props changed)
  head/x11-wm/stumpwm/pkg-plist   (contents, props changed)
Deleted:
  head/x11-wm/stumpwm/files/patch-contrib-stumpish
Modified:
  head/MOVED
  head/x11-wm/Makefile
  head/x11-wm/stumpwm/Makefile
  head/x11-wm/stumpwm/distinfo
  head/x11-wm/stumpwm/pkg-descr

Modified: head/MOVED
==============================================================================
--- head/MOVED	Fri Aug 18 14:15:45 2017	(r448233)
+++ head/MOVED	Fri Aug 18 14:27:26 2017	(r448234)
@@ -6029,7 +6029,6 @@ lang/pnetlib||2014-05-04|Has expired: Alpha-quality ab
 lang/pnet-base||2014-05-04|Has expired: Alpha-quality abandonware - Decommissioned Dec 2012 - Use mono
 benchmarks/pnetmark||2014-05-04|Has expired: PNET dependency decommissioned Dec 2012
 lang/pnet||2014-05-04|Has expired: Alpha-quality abandonware - Decommissioned Dec 2012 - Use mono
-x11-wm/stumpwm||2014-05-04|Has expired: Broken for more than 4 months
 sysutils/cpupowerd||2014-05-04|Has expired: Not maintained from upstream anymore and only supports ancient AMD K8
 net/pchar||2014-05-04|Has expired: Obsolete, abandoned
 x11-fonts/texcm-ttf||2014-05-04|Has expired: Should be replaced by x11-fonts/stix-fonts

Modified: head/x11-wm/Makefile
==============================================================================
--- head/x11-wm/Makefile	Fri Aug 18 14:15:45 2017	(r448233)
+++ head/x11-wm/Makefile	Fri Aug 18 14:27:26 2017	(r448234)
@@ -111,6 +111,7 @@
     SUBDIR += selectwm
     SUBDIR += simple-ccsm
     SUBDIR += spectrwm
+    SUBDIR += stumpwm
     SUBDIR += subtle
     SUBDIR += swm
     SUBDIR += tinywm

Modified: head/x11-wm/stumpwm/Makefile
==============================================================================
--- head/x11-wm/stumpwm/Makefile	Sun May  4 10:25:35 2014	(r352940)
+++ head/x11-wm/stumpwm/Makefile	Fri Aug 18 14:27:26 2017	(r448234)
@@ -2,86 +2,86 @@
 # $FreeBSD$
 
 PORTNAME=	stumpwm
-PORTVERSION=	0.9.7
-PORTREVISION=	13
+DISTVERSION=	1.0.0-168
+DISTVERSIONSUFFIX=	-g49fdf94
 CATEGORIES=	x11-wm lisp
-MASTER_SITES=	SAVANNAH
-EXTRACT_SUFX=	.tgz
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	jrm@FreeBSD.org
 COMMENT=	Tiling, keyboard driven Window Manager written in Common Lisp
 
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BROKEN=		Broken 4 months already, will not build with either lisp compiler
-DEPRECATED=	Broken for more than 4 months
-EXPIRATION_DATE=	2014-05-01
+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 \
+		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
 
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
-MAKE_JOBS_UNSAFE=yes
+USE_GITHUB=	yes
+GH_TAGNAME=	49fdf94
+USE_SBCL=	yes
 
-PLIST_FILES=	bin/stumpish \
-		bin/${PORTNAME}
+PLIST_SUB=	ASDF_PATHNAME="${ASDF_PATHNAME:S,^${PREFIX}/,,}" \
+		ASDF_REGISTRY="${ASDF_REGISTRY:S,^${PREFIX}/,,}"
+SUB_FILES=	stumpwm
+SUB_LIST=	ASDF_REGISTRY=${ASDF_REGISTRY} \
+		SBCL=${SBCL}
+
 INFO=		${PORTNAME}
+PORTDOCS=	AUTHORS COPYING HACKING NEWS README.md
 PORTEXAMPLES=	sample-stumpwmrc.lisp
-PORTDATA=	*
 
-OPTIONS_DEFINE=	SBCL EXAMPLES
-OPTIONS_DEFAULT=
-SBCL_DESC=	Build with lang/sbcl (otherwise with lang/clisp)
+OPTIONS_DEFINE=	DOCS EXAMPLES
 
-NO_STAGE=	yes
-.include <bsd.port.options.mk>
+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
 
-.if ${PORT_OPTIONS:MSBCL} || make(makesum) || defined(FETCH_ALL)
-MASTER_SITES+=	http://common-lisp.net/~abridgewater/dist/clx/:clx
-DISTFILES+=	clx-0.7.4.tgz:clx
-.endif
+do-build:
+	(cd ${WRKSRC} && \
+		CL_SOURCE_REGISTRY="${WRKSRC}" \
+		ASDF_OUTPUT_TRANSLATIONS="/:" \
+		${SBCL} \
+		--eval "(asdf:oos 'asdf:compile-op :${PORTNAME})" \
+		--eval "(load \"load-stumpwm.lisp\")" \
+		--eval "(load \"manual.lisp\")" \
+		--eval "(stumpwm::generate-manual)" \
+		--eval "(sb-ext:quit)" && \
+		makeinfo stumpwm.texi)
 
-.if ${PORT_OPTIONS:MSBCL}
-CONFIGURE_ARGS+=	--with-lisp=sbcl
-BUILD_DEPENDS+=	sbcl:${PORTSDIR}/lang/sbcl
-BROKEN=		require needs a pathname for uninstalled modules with the ASDF 3.x bundled with sbcl
-.else
-CONFIGURE_ARGS+=	--with-lisp=clisp
-BUILD_DEPENDS+=	clisp:${PORTSDIR}/lang/clisp
-.endif
+do-install:
+	@${MKDIR} ${STAGEDIR}${ASDF_PATHNAME} \
+		${STAGEDIR}${ASDF_REGISTRY} \
+		${STAGEDIR}${ASDF_PATHNAME}/sbclfasl
+	${INSTALL_SCRIPT} ${WRKDIR}/stumpwm ${STAGEDIR}${PREFIX}/bin
+	${INSTALL_DATA} ${WRKSRC}/.dir-locals.el ${WRKSRC}/${PORTNAME}.asd \
+		${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME}
+	${INSTALL_DATA} ${WRKSRC}/*.fasl ${STAGEDIR}${ASDF_PATHNAME}/sbclfasl
+	${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.info \
+		${STAGEDIR}${PREFIX}/${INFO_PATH}
+	@${RLN} ${STAGEDIR}${ASDF_PATHNAME}/${PORTNAME}.asd \
+		${STAGEDIR}${ASDF_REGISTRY}
 
-.if empty(PORT_OPTIONS:MSBCL)
-.if exists(${LOCALBASE}/bin/clisp) && \
-    !exists(${LOCALBASE}/lib/clisp/clx/new-clx/clx.o)
-IGNORE=		requires lang/clisp built with CLX_NEW option ON
-.endif
-.endif
+do-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	(cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
 
-.if ${PORT_OPTIONS:MSBCL}
-post-extract:	.SILENT
-	${LN} -sf ${WRKDIR}/clx*/*.asd ${WRKSRC}/cl-ppcre/*.asd ${WRKSRC}
+do-install-EXAMPLES-on:
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	${INSTALL_DATA} ${WRKSRC}/${PORTEXAMPLES} ${STAGEDIR}/${EXAMPLESDIR}
 
-post-patch:	.SILENT
-	${REINPLACE_CMD} 's|sbcl_.*OPTS=|& \
-		--disable-debugger \
-		--no-userinit \
-		--no-sysinit \
-		--eval "(require :asdf)" \
-		--eval "(pop asdf:*central-registry*)" \
-		|' ${WRKSRC}/Makefile.in
-	${REINPLACE_CMD} 's/\(sb-introspect:function-\)arglist/\1lambda-list/' \
-		${WRKSRC}/manual.lisp
-.endif
-
-post-install:
-	${INSTALL_SCRIPT} ${WRKSRC}/contrib/stumpish ${PREFIX}/bin
-.if ${PORT_OPTIONS:MEXAMPLES}
-	${MKDIR} ${EXAMPLESDIR}
-	${INSTALL_DATA} ${WRKSRC}/${PORTEXAMPLES} ${EXAMPLESDIR}
-.endif
-.if !defined(NOPORTDATA)
-	${MKDIR} ${DATADIR}
-	${TAR} cf - -C${WRKSRC}/contrib --exclude stumpish\* . \
-		| ${TAR} xovf - -C${DATADIR}
-.endif
-
+.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk"
 .include <bsd.port.mk>

Modified: head/x11-wm/stumpwm/distinfo
==============================================================================
--- head/x11-wm/stumpwm/distinfo	Sun May  4 10:25:35 2014	(r352940)
+++ head/x11-wm/stumpwm/distinfo	Fri Aug 18 14:27:26 2017	(r448234)
@@ -1,4 +1,3 @@
-SHA256 (stumpwm-0.9.7.tgz) = a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78
-SIZE (stumpwm-0.9.7.tgz) = 497663
-SHA256 (clx-0.7.4.tgz) = 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028
-SIZE (clx-0.7.4.tgz) = 444490
+TIMESTAMP = 1503065096
+SHA256 (stumpwm-stumpwm-1.0.0-168-g49fdf94-49fdf94_GH0.tar.gz) = 243e621b8ce5e86f6fe79172fcaff9f05a115710efbcd9b88ec6388f69d17f1e
+SIZE (stumpwm-stumpwm-1.0.0-168-g49fdf94-49fdf94_GH0.tar.gz) = 197676

Added: head/x11-wm/stumpwm/files/stumpwm.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-wm/stumpwm/files/stumpwm.in	Fri Aug 18 14:27:26 2017	(r448234)
@@ -0,0 +1,6 @@
+#/bin/sh
+
+%%SBCL%% --eval "(in-package :cl-user)" \
+         --eval "(require :stumpwm)" \
+         --eval "(stumpwm:stumpwm)" \
+         --eval "(quit)"

Modified: head/x11-wm/stumpwm/pkg-descr
==============================================================================
--- head/x11-wm/stumpwm/pkg-descr	Sun May  4 10:25:35 2014	(r352940)
+++ head/x11-wm/stumpwm/pkg-descr	Fri Aug 18 14:27:26 2017	(r448234)
@@ -1,19 +1,8 @@
-Stumpwm is a tiling, keyboard driven X11 Window Manager written entirely in0
+StumpWM is a tiling, keyboard driven X11 Window Manager written entirely in
 Common Lisp.
 
-If you're tired of flipping through themes like channel-surfing, and going
-from one perfect-except-for-just-one-thing window manager to another
-even-more-broken-in-some-other-way then perhaps Stumpwm can help.
-
-Stumpwm attempts to be customizable yet visually minimal. There are no window
-decorations, no icons, and no buttons. It does have various hooks to attach
+StumpWM attempts to be customizable yet visually minimal. There are no window
+decorations, no icons, and no buttons.  It does have various hooks to attach
 your personal customizations, and variables to tweak.
-
-* Hack the good hack.
-* Debug your good hack.
-* Customize your window manager.
-
-While it's running. That's right. With a 100% Common Lisp window manager
-there's no stopping the hacks. Just re-eval and GO!
 
 WWW: http://www.nongnu.org/stumpwm/

Added: head/x11-wm/stumpwm/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-wm/stumpwm/pkg-plist	Fri Aug 18 14:27:26 2017	(r448234)
@@ -0,0 +1,85 @@
+%%ASDF_PATHNAME%%/.dir-locals.el
+%%ASDF_PATHNAME%%/bindings.lisp
+%%ASDF_PATHNAME%%/color.lisp
+%%ASDF_PATHNAME%%/command.lisp
+%%ASDF_PATHNAME%%/core.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%%/make-image.lisp
+%%ASDF_PATHNAME%%/manual.lisp
+%%ASDF_PATHNAME%%/menu.lisp
+%%ASDF_PATHNAME%%/message-window.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%%/sample-stumpwmrc.lisp
+%%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%%/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
+%%ASDF_PATHNAME%%/sbclfasl/bindings.fasl
+%%ASDF_PATHNAME%%/sbclfasl/color.fasl
+%%ASDF_PATHNAME%%/sbclfasl/command.fasl
+%%ASDF_PATHNAME%%/sbclfasl/core.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/menu.fasl
+%%ASDF_PATHNAME%%/sbclfasl/message-window.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/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/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
+bin/stumpwm



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708181427.v7IERQRp064195>