Bug 151318 - [repocopy][new port] x11-wm/stumpwm: rename to x11-wm/cl-stumpwm and split
Summary: [repocopy][new port] x11-wm/stumpwm: rename to x11-wm/cl-stumpwm and split
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-08 18:00 UTC by swell.k
Modified: 2011-12-09 13:28 UTC (History)
0 users

See Also:


Attachments
a.diff (13.97 KB, patch)
2010-10-08 18:00 UTC, swell.k
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description swell.k 2010-10-08 18:00:14 UTC
- add to `cl-' prefix to pkgname
- split clisp and sbcl options to separate ports
- use system cl-ppcre and clx
- grab maintainership
- import recent stumpish fixes after discussion on stumpwm-devel@

While the rename is mostly needed to preserve CVS history I think users
should be pointed at x11-wm/cl-stumpwm-sbcl when updating.

Also, x11-wm/cl-stumpwm-clisp is completeley untested. I have a local
issue that prevents me from building lang/clisp (segfault). And there
are no clisp packages built with CLX_NEW.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2010-10-08 18:00:24 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pgollucci

pgollucci@ wants his PRs (via the GNATS Auto Assign Tool)
Comment 2 swell.k 2010-10-09 14:34:42 UTC
Oops, forgot to purge clx distinfo from cl-stumpwm port.

--- b.diff begins here ---
Index: x11-wm/cl-stumpwm/distinfo
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- x11-wm/cl-stumpwm/distinfo	5 Jun 2010 11:04:14 -0000	1.5
+++ x11-wm/cl-stumpwm/distinfo	9 Oct 2010 13:27:47 -0000
@@ -1,6 +1,3 @@
 MD5 (stumpwm-0.9.7.tgz) = cfdf39945908802f59b70e6c4675d27a
 SHA256 (stumpwm-0.9.7.tgz) = a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78
 SIZE (stumpwm-0.9.7.tgz) = 497663
-MD5 (clx-0.7.4.tgz) = d18b9fcc3a5d085e1a73c59a6ecc9413
-SHA256 (clx-0.7.4.tgz) = 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028
-SIZE (clx-0.7.4.tgz) = 444490
--- b.diff ends here ---
Comment 3 Philip M. Gollucci freebsd_committer freebsd_triage 2010-10-10 04:00:24 UTC
State Changed
From-To: open->repocopy

repo copy request: x11-wm/stumpwm -> x11-wm/cl-stumpwm 


Comment 4 Philip M. Gollucci freebsd_committer freebsd_triage 2010-10-10 04:00:24 UTC
Responsible Changed
From-To: pgollucci->portmgr

repo copy request: x11-wm/stumpwm -> x11-wm/cl-stumpwm
Comment 5 swell.k 2010-10-11 04:55:06 UTC
Make wrapper script also work when LISP environment variable has options
or uses an absolute/relative path.

  $ export LISP="sbcl --noinform"
  $ stumpwm

  $ export LISP=/usr/local/bin/sbcl
  $ stumpwm

Tested on our old lang/sbcl (1.0.34) just in case.

--- c.diff begins here ---
diff --git x11-wm/cl-stumpwm/files/stumpwm.in x11-wm/cl-stumpwm/files/stumpwm.in
index 36dc6b0..2413f5d 100644
--- x11-wm/cl-stumpwm/files/stumpwm.in
+++ x11-wm/cl-stumpwm/files/stumpwm.in
@@ -1,10 +1,10 @@
 #! /bin/sh
 
 have() {
-    type $1 >&- 2>&-
+    command -v $1 >&-
 }
 
-if [ -n "$LISP" ]; then
+if [ "$LISP" ]; then
 elif have sbcl; then
     LISP=sbcl
 elif have clisp; then
@@ -16,15 +16,17 @@ fi
 
 : ${STUMPWM_EVAL:="(progn (stumpwm:stumpwm) (quit))"}
 case $LISP in
-    sbcl)
-	args="$args --eval '#.(load \"%%LOCALBASE%%/etc/asdf-init\")'"
+    *sbcl*)
+	args="$args --load %%LOCALBASE%%/etc/asdf-init"
 	args="$args --eval \"(require 'stumpwm)\""
 	args="$args --eval \"$STUMPWM_EVAL\""
 	;;
-    clisp)
+    *clisp*)
 	args="$args -i %%LOCALBASE%%/etc/asdf-init"
-	args="$args -x \"(asdf:operate 'asdf:load-op :stumpwm) $STUMPWM_EVAL\""
+	args="$args -x \"(asdf:operate 'asdf:load-op :stumpwm)\""
+	args="$args -x \"$STUMPWM_EVAL\""
 	;;
 esac
+eval set -- "$args" '"$@"'
 
-eval exec $LISP $args '"$@"'
+exec $LISP "$@"
--- c.diff ends here ---
Comment 6 Joe Marcus Clarke freebsd_committer freebsd_triage 2010-10-11 05:19:53 UTC
State Changed
From-To: repocopy->open

Repocopy complete. 


Comment 7 Joe Marcus Clarke freebsd_committer freebsd_triage 2010-10-11 05:19:53 UTC
Responsible Changed
From-To: portmgr->pgollucci

Repocopy complete.
Comment 8 dfilter service freebsd_committer freebsd_triage 2010-10-19 03:04:26 UTC
pgollucci    2010-10-19 02:04:20 UTC

  FreeBSD ports repository

  Modified files:
    x11-wm/cl-stumpwm    Makefile distinfo pkg-descr 
  Log:
  - forced commit to note reop copy x11-wm/stumpwm -> x11-wm/cl-stumpwm
  
  PR:                             ports/151318
  Submitted by    swell.k@gmail.com
  Repo copy by:   marcus
  
  Revision  Changes    Path
  1.10      +0 -0      ports/x11-wm/cl-stumpwm/Makefile
  1.6       +0 -0      ports/x11-wm/cl-stumpwm/distinfo
  1.2       +0 -0      ports/x11-wm/cl-stumpwm/pkg-descr
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 10 swell.k 2010-10-19 08:21:02 UTC
(forgot to add bug-followup@ to CC)

pgollucci@FreeBSD.org writes:

> State-Changed-From-To: open->feedback
> State-Changed-By: pgollucci
> State-Changed-When: Tue Oct 19 04:12:25 UTC 2010
> State-Changed-Why:
> Request Feedback: several issues

> http://people.freebsd.org/~pgollucci/FreeBSD/cl.diff

That diff has missing pieces: no pkg-plist and no slave ports.
I've seen --with-ppcre but I'd rather keep build deps clean because
PPCRE_PATH is unused, anyway.

> http://people.freebsd.org/~pgollucci/FreeBSD/logs/9-CURRENT-amd64/cl-stumpwm-0.9.7_2.log

> http://people.freebsd.org/~pgollucci/FreeBSD/logs/9-CURRENT-amd64/cl-stumpwm-sbcl-0.9.7.log

Oops, should be fixed in below cumulative diff that also includes
ports/151571 for convenience.

--- a.diff begins here ---
Index: devel/cl-asdf/bsd.cl-asdf.mk
===================================================================
RCS file: /a/.cvsup/ports/devel/cl-asdf/bsd.cl-asdf.mk,v
retrieving revision 1.4
diff -u -p -r1.4 bsd.cl-asdf.mk
--- devel/cl-asdf/bsd.cl-asdf.mk	20 Jan 2010 17:30:37 -0000	1.4
+++ devel/cl-asdf/bsd.cl-asdf.mk	19 Oct 2010 06:47:35 -0000
@@ -116,7 +116,7 @@ post-install:
 	@cd ${WRKSRC} && ${FIND} * -type f \
 		| ${SORT} \
 		| ${AWK} '{ print "${CL_LIBDIR_REL}/${PORTNAME}/${FASL_DIR_REL}/" $$1 }' \
-		> ${TMPPLIST}
+		>> ${TMPPLIST}
 	@cd ${WRKSRC} && ${FIND} * -type d \
 		| ${SORT} -r \
 		| ${AWK} '{ print "@dirrm ${CL_LIBDIR_REL}/${PORTNAME}/${FASL_DIR_REL}/" $$1 }' \
Index: x11/cl-clx-sbcl/Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11/cl-clx-sbcl/Makefile,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile
--- x11/cl-clx-sbcl/Makefile	8 Oct 2010 20:14:58 -0000	1.1
+++ x11/cl-clx-sbcl/Makefile	19 Oct 2010 07:03:10 -0000
@@ -15,4 +15,6 @@ USE_ASDF_FASL=	yes
 FASL_BUILD=	yes
 FASL_TARGET=	sbcl
 
+PLIST=		${.CURDIR}/pkg-plist
+
 .include "${MASTERDIR}/Makefile"
Index: x11-wm/Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/Makefile,v
retrieving revision 1.253
diff -u -p -r1.253 Makefile
--- x11-wm/Makefile	24 May 2010 21:52:42 -0000	1.253
+++ x11-wm/Makefile	8 Oct 2010 04:58:25 -0000
@@ -21,6 +21,10 @@
     SUBDIR += blwm
     SUBDIR += boxtools
     SUBDIR += ccsm
+    SUBDIR += cl-stumpwm
+    SUBDIR += cl-stumpwm-clisp
+    SUBDIR += cl-stumpwm-doc
+    SUBDIR += cl-stumpwm-sbcl
     SUBDIR += clementine
     SUBDIR += compiz
     SUBDIR += compiz-fusion
@@ -112,7 +118,6 @@
     SUBDIR += simple-ccsm
     SUBDIR += skippy
     SUBDIR += skippy-xd
-    SUBDIR += stumpwm
     SUBDIR += swm
     SUBDIR += tinywm
     SUBDIR += transset-df
Index: x11-wm/cl-stumpwm/Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/Makefile,v
retrieving revision 1.9
diff -u -p -r1.9 Makefile
--- x11-wm/cl-stumpwm/Makefile	15 Sep 2010 11:56:58 -0000	1.9
+++ x11-wm/cl-stumpwm/Makefile	19 Oct 2010 06:21:16 -0000
@@ -1,4 +1,4 @@
-# New ports collection makefile for:	stumpwm
+# New ports collection makefile for:	cl-stumpwm
 # Date created:				2008-02-20
 # Whom:					alepulver
 #
@@ -7,77 +7,85 @@
 
 PORTNAME=	stumpwm
 PORTVERSION=	0.9.7
-PORTREVISION=	1
+PORTREVISION?=	2
 CATEGORIES=	x11-wm lisp
 MASTER_SITES=	SAVANNAH
-DISTFILES=	${DISTNAME}.tgz
+PKGNAMEPREFIX=	cl-
+EXTRACT_SUFX=	.tgz
 
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	A tiling, keyboard driven Window Manager written in Common Lisp
-
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
-MAKE_JOBS_UNSAFE=yes
+MAINTAINER=	swell.k@gmail.com
+COMMENT?=	A tiling, keyboard driven Window Manager written in Common Lisp
 
 LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/COPYING
 
-PLIST_FILES=	bin/stumpish \
-		bin/${PORTNAME}
-INFO=		${PORTNAME}
-PORTEXAMPLES=	sample-stumpwmrc.lisp
-PORTDATA=	*
+.if !defined(FASL_BUILD)
+LICENSE_FILE=	${WRKSRC}/COPYING
 
-OPTIONS=	SBCL "Build with lang/sbcl (otherwise with lang/clisp)" on
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
 
-.include <bsd.port.options.mk>
+DATADIR=	${PREFIX}/share/${UNIQUENAME}
 
-.if defined(WITH_SBCL) || make(makesum) || defined(FETCH_ALL)
-MASTER_SITES+=	http://common-lisp.net/~abridgewater/dist/clx/:clx
-DISTFILES+=	clx-0.7.4.tgz:clx
-.endif
+.if !defined(ALL_TARGET)
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/cl-ppcre.asd:${PORTSDIR}/textproc/cl-ppcre \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/clx.asd:${PORTSDIR}/x11/cl-clx
 
-.if defined(WITH_SBCL)
-CONFIGURE_ARGS+=	--with-lisp=sbcl
-BUILD_DEPENDS+=	sbcl:${PORTSDIR}/lang/sbcl
-.else
-CONFIGURE_ARGS+=	--with-lisp=clisp
-BUILD_DEPENDS+=	clisp:${PORTSDIR}/lang/clisp
-.endif
+NO_BUILD=	yes
+USE_ASDF=	yes
 
-.if !defined(WITH_SBCL)
-.if exists(${LOCALBASE}/bin/clisp) && \
-    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
-IGNORE=		requires lang/clisp built with CLX_NEW option ON
-.endif
+SUB_FILES=	stumpwm
+PORTEXAMPLES=	sample-stumpwmrc.lisp
+PORTDATA=	*
+PLIST_SUB=	ASDF_PATHNAME="${ASDF_PATHNAME:S,^${PREFIX}/,,}" \
+		ASDF_REGISTRY="${ASDF_REGISTRY:S,^${PREFIX}/,,}"
 .endif
 
-.if defined(WITH_SBCL)
 post-extract:	.SILENT
-	${LN} -sf ${WRKDIR}/clx*/*.asd ${WRKSRC}/cl-ppcre/*.asd ${WRKSRC}
+	${RM} -fr ${WRKSRC}/asdf* ${WRKSRC}/cl-ppcre*
 
 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} -e '/if.*LISP_PROGRAM/,/fi/d' \
+		-e 's|test.*$$PPCRE_PATH/cl-ppcre\.asd.*;|${TRUE};|' \
+		${WRKSRC}/configure
 	${REINPLACE_CMD} 's/\(sb-introspect:function-\)arglist/\1lambda-list/' \
 		${WRKSRC}/manual.lisp
-.endif
 
-post-install:
+.if !defined(ALL_TARGET)
+do-install:
+	${INSTALL_SCRIPT} ${WRKDIR}/stumpwm ${PREFIX}/bin
 	${INSTALL_SCRIPT} ${WRKSRC}/contrib/stumpish ${PREFIX}/bin
+	${INSTALL_DATA} ${WRKSRC}/contrib/stumpwm-mode.el ${PREFIX}/share/emacs/site-lisp
+	${MKDIR} ${ASDF_PATHNAME}
+	${INSTALL_DATA} ${WRKSRC}/*.lisp ${ASDF_PATHNAME}
+	${INSTALL_DATA} ${WRKSRC}/*.asd ${ASDF_PATHNAME}
+	${LN} -sf ${ASDF_PATHNAME}/*.asd ${ASDF_REGISTRY}
 .if !defined(NOPORTEXAMPLES)
 	${MKDIR} ${EXAMPLESDIR}
 	${INSTALL_DATA} ${WRKSRC}/${PORTEXAMPLES} ${EXAMPLESDIR}
 .endif
 .if !defined(NOPORTDATA)
 	${MKDIR} ${DATADIR}
-	${TAR} cf - -C${WRKSRC}/contrib --exclude stumpish\* . \
-		| ${TAR} xovf - -C${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/amixer.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/aumix.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/battery-portable.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/battery.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/cpu.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/disk.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/g15-keysyms.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/maildir.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/mem.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/mpd.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/net.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/notifications.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/productivity.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/sbclfix.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/surfraw.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/wifi.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/window-tags.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/wmii-like-stumpwmrc.lisp ${DATADIR}
 .endif
+.endif # ALL_TARGET
+.endif # FASL_BUILD
 
+.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk"
 .include <bsd.port.mk>
Index: x11-wm/cl-stumpwm/distinfo
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- x11-wm/cl-stumpwm/distinfo	5 Jun 2010 11:04:14 -0000	1.5
+++ x11-wm/cl-stumpwm/distinfo	9 Oct 2010 13:27:47 -0000
@@ -1,6 +1,3 @@
 MD5 (stumpwm-0.9.7.tgz) = cfdf39945908802f59b70e6c4675d27a
 SHA256 (stumpwm-0.9.7.tgz) = a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78
 SIZE (stumpwm-0.9.7.tgz) = 497663
-MD5 (clx-0.7.4.tgz) = d18b9fcc3a5d085e1a73c59a6ecc9413
-SHA256 (clx-0.7.4.tgz) = 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028
-SIZE (clx-0.7.4.tgz) = 444490
Index: x11-wm/cl-stumpwm/pkg-plist
===================================================================
RCS file: x11-wm/cl-stumpwm/pkg-plist
diff -N x11-wm/cl-stumpwm/pkg-plist
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/pkg-plist	19 Oct 2010 06:57:59 -0000
@@ -0,0 +1,44 @@
+bin/stumpish
+bin/stumpwm
+%%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%%/group.lisp
+%%ASDF_PATHNAME%%/head.lisp
+%%ASDF_PATHNAME%%/help.lisp
+%%ASDF_PATHNAME%%/input.lisp
+%%ASDF_PATHNAME%%/iresize.lisp
+%%ASDF_PATHNAME%%/keysyms.lisp
+%%ASDF_PATHNAME%%/keytrans.lisp
+%%ASDF_PATHNAME%%/kmap.lisp
+%%ASDF_PATHNAME%%/make-image.lisp
+%%ASDF_PATHNAME%%/manual.lisp
+%%ASDF_PATHNAME%%/menu.lisp
+%%ASDF_PATHNAME%%/message-window.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%%/workarounds.lisp
+%%ASDF_PATHNAME%%/wrappers.lisp
+%%ASDF_REGISTRY%%/stumpwm.asd
+share/emacs/site-lisp/stumpwm-mode.el
+@dirrm %%ASDF_PATHNAME%%
Index: x11-wm/cl-stumpwm/files/patch-Makefile.in
===================================================================
RCS file: x11-wm/cl-stumpwm/files/patch-Makefile.in
diff -N x11-wm/cl-stumpwm/files/patch-Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/patch-Makefile.in	19 Oct 2010 05:47:17 -0000
@@ -0,0 +1,13 @@
+--- Makefile.in~
++++ Makefile.in
+@@ -5,8 +5,8 @@ sbcl_BUILDOPTS=--load ./make-image.lisp
+ ccl_BUILDOPTS=--load ./make-image.lisp
+ ecl_BUILDOPTS=-norc -shell ./make-image.lisp
+ 
+-clisp_INFOOPTS=-K full -on-error exit -x "(require 'asdf '(\"asdf.lisp\")) (load \"stumpwm.asd\") (load \"@PPCRE_PATH@/cl-ppcre.asd\") (asdf:operate 'asdf:load-op :stumpwm) (load (compile-file \"manual.lisp\")) (stumpwm::generate-manual) (ext:exit)"
+-sbcl_INFOOPTS=--eval "(progn (require 'asdf) (require 'stumpwm) (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))"
++clisp_INFOOPTS=-K full -on-error exit -i $(LOCALBASE)/etc/asdf-init -x "(asdf:operate 'asdf:load-op :stumpwm) (load (compile-file \"manual.lisp\")) (stumpwm::generate-manual) (ext:exit)"
++sbcl_INFOOPTS=--load $(LOCALBASE)/etc/asdf-init --eval "(progn (require 'stumpwm) (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))"
+ ccl_INFOOPTS=--eval "(progn (require 'asdf) (require 'stumpwm))" --load manual.lisp --eval "(progn (stumpwm::generate-manual) (quit))"
+ ecl_INFOOPTS=-eval "(progn (require 'asdf) (load \"@PPCRE_PATH@/cl-ppcre.asd\") (require 'stumpwm) (load \"manual.lisp\"))" -eval "(progn (stumpwm::generate-manual) (ext:quit))"
+ datarootdir = @datarootdir@
Index: x11-wm/cl-stumpwm/files/patch-contrib-stumpish
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/files/patch-contrib-stumpish,v
retrieving revision 1.1
diff -u -p -r1.1 patch-contrib-stumpish
--- x11-wm/cl-stumpwm/files/patch-contrib-stumpish	15 Sep 2010 11:56:58 -0000	1.1
+++ x11-wm/cl-stumpwm/files/patch-contrib-stumpish	7 Oct 2010 07:54:28 -0000
@@ -49,7 +49,7 @@ index 1d48bb4..2b0fca1 100755
  	if echo "$RESULT" | grep -v -q 'not found.$'
  	then
  	    break
-@@ -49,8 +55,14 @@ wait_result ()
+@@ -49,8 +55,13 @@ wait_result ()
  	return 1
      fi
  
@@ -57,12 +57,11 @@ index 1d48bb4..2b0fca1 100755
 -			s/\^[*[:digit:]]\{2\}//g;s/\^[Bbn]//g;'
 +    echo "$RESULT" |
 +    sed -E 's/[^"\\n]+"//
-+            s/"[[:space:]]*$//
-+            s/([^\\])\\n/\1\
++            /^"[[:space:]]*$/d
++            s/(^|[^\\])\\n/\1\
 +/g
 +            s/\\(["\\n])/\1/g
-+            s/\^([*[:digit:]]+|[Bbn])//g' |
-+    sed '/^[[:space:]]*$/d'
++            s/\^([*[:digit:]]+|[Bbn])//g'
  }
  
  send_cmd ()
Index: x11-wm/cl-stumpwm/files/stumpwm.in
===================================================================
RCS file: x11-wm/cl-stumpwm/files/stumpwm.in
diff -N x11-wm/cl-stumpwm/files/stumpwm.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/stumpwm.in	11 Oct 2010 02:07:43 -0000
@@ -0,0 +1,32 @@
+#! /bin/sh
+
+have() {
+    command -v $1 >&-
+}
+
+if [ "$LISP" ]; then
+elif have sbcl; then
+    LISP=sbcl
+elif have clisp; then
+    LISP=clisp
+else
+    echo No lisp implementation found.
+    exit 1
+fi
+
+: ${STUMPWM_EVAL:="(progn (stumpwm:stumpwm) (quit))"}
+case $LISP in
+    *sbcl*)
+	args="$args --load %%LOCALBASE%%/etc/asdf-init"
+	args="$args --eval \"(require 'stumpwm)\""
+	args="$args --eval \"$STUMPWM_EVAL\""
+	;;
+    *clisp*)
+	args="$args -i %%LOCALBASE%%/etc/asdf-init"
+	args="$args -x \"(asdf:operate 'asdf:load-op :stumpwm)\""
+	args="$args -x \"$STUMPWM_EVAL\""
+	;;
+esac
+eval set -- "$args" '"$@"'
+
+exec $LISP "$@"
Index: x11-wm/cl-stumpwm-clisp/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-clisp/Makefile
diff -N x11-wm/cl-stumpwm-clisp/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-clisp/Makefile	19 Oct 2010 04:56:55 -0000
@@ -0,0 +1,28 @@
+# New ports collection makefile for:	cl-stumpwm-clisp
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+DISTFILES=	# none
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/clispfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-clisp
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/clispfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-clisp
+
+.if exists(${LOCALBASE}/bin/clisp) && \
+    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
+IGNORE=		requires lang/clisp built with CLX_NEW option ON
+.endif
+
+USE_ASDF_FASL=	yes
+FASL_BUILD=	yes
+FASL_TARGET=	clisp
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PATCHDIR=	${.CURDIR}/files
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/cl-stumpwm-doc/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-doc/Makefile
diff -N x11-wm/cl-stumpwm-doc/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-doc/Makefile	8 Oct 2010 16:31:14 -0000
@@ -0,0 +1,23 @@
+# New ports collection makefile for:	cl-stumpwm-doc
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+PKGNAMESUFFIX=	-doc
+
+COMMENT=	StumpWM info(1) manual
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/sbclfasl/stumpwm.fasl:${PORTSDIR}/x11-wm/cl-stumpwm-sbcl
+
+ALL_TARGET=	stumpwm.info
+INFO=		stumpwm
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PLIST=		${.CURDIR}/pkg-plist
+
+do-install:
+	${INSTALL_DATA} ${WRKSRC}/stumpwm.info ${PREFIX}/info
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/cl-stumpwm-sbcl/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-sbcl/Makefile
diff -N x11-wm/cl-stumpwm-sbcl/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-sbcl/Makefile	19 Oct 2010 04:56:34 -0000
@@ -0,0 +1,25 @@
+# New ports collection makefile for:	cl-stumpwm-sbcl
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+DISTFILES=	# none
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/sbclfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-sbcl \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/sbclfasl/clx.fasl:${PORTSDIR}/x11/cl-clx-sbcl
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/sbclfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-sbcl \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/sbclfasl/clx.fasl:${PORTSDIR}/x11/cl-clx-sbcl
+
+USE_ASDF_FASL=	yes
+FASL_BUILD=	yes
+FASL_TARGET=	sbcl
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PATCHDIR=	${.CURDIR}/files
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/stumpwm/Makefile
===================================================================
RCS file: x11-wm/stumpwm/Makefile
diff -N x11-wm/stumpwm/Makefile
--- x11-wm/stumpwm/Makefile	15 Sep 2010 11:56:58 -0000	1.9
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,83 +0,0 @@
-# New ports collection makefile for:	stumpwm
-# Date created:				2008-02-20
-# Whom:					alepulver
-#
-# $FreeBSD: ports/x11-wm/stumpwm/Makefile,v 1.9 2010/09/15 11:56:58 ashish Exp $
-#
-
-PORTNAME=	stumpwm
-PORTVERSION=	0.9.7
-PORTREVISION=	1
-CATEGORIES=	x11-wm lisp
-MASTER_SITES=	SAVANNAH
-DISTFILES=	${DISTNAME}.tgz
-
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	A tiling, keyboard driven Window Manager written in Common Lisp
-
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
-MAKE_JOBS_UNSAFE=yes
-
-LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/COPYING
-
-PLIST_FILES=	bin/stumpish \
-		bin/${PORTNAME}
-INFO=		${PORTNAME}
-PORTEXAMPLES=	sample-stumpwmrc.lisp
-PORTDATA=	*
-
-OPTIONS=	SBCL "Build with lang/sbcl (otherwise with lang/clisp)" on
-
-.include <bsd.port.options.mk>
-
-.if defined(WITH_SBCL) || make(makesum) || defined(FETCH_ALL)
-MASTER_SITES+=	http://common-lisp.net/~abridgewater/dist/clx/:clx
-DISTFILES+=	clx-0.7.4.tgz:clx
-.endif
-
-.if defined(WITH_SBCL)
-CONFIGURE_ARGS+=	--with-lisp=sbcl
-BUILD_DEPENDS+=	sbcl:${PORTSDIR}/lang/sbcl
-.else
-CONFIGURE_ARGS+=	--with-lisp=clisp
-BUILD_DEPENDS+=	clisp:${PORTSDIR}/lang/clisp
-.endif
-
-.if !defined(WITH_SBCL)
-.if exists(${LOCALBASE}/bin/clisp) && \
-    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
-IGNORE=		requires lang/clisp built with CLX_NEW option ON
-.endif
-.endif
-
-.if defined(WITH_SBCL)
-post-extract:	.SILENT
-	${LN} -sf ${WRKDIR}/clx*/*.asd ${WRKSRC}/cl-ppcre/*.asd ${WRKSRC}
-
-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 !defined(NOPORTEXAMPLES)
-	${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 <bsd.port.mk>
Index: x11-wm/stumpwm/distinfo
===================================================================
RCS file: x11-wm/stumpwm/distinfo
diff -N x11-wm/stumpwm/distinfo
--- x11-wm/stumpwm/distinfo	5 Jun 2010 11:04:14 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,6 +0,0 @@
-MD5 (stumpwm-0.9.7.tgz) = cfdf39945908802f59b70e6c4675d27a
-SHA256 (stumpwm-0.9.7.tgz) = a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78
-SIZE (stumpwm-0.9.7.tgz) = 497663
-MD5 (clx-0.7.4.tgz) = d18b9fcc3a5d085e1a73c59a6ecc9413
-SHA256 (clx-0.7.4.tgz) = 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028
-SIZE (clx-0.7.4.tgz) = 444490
Index: x11-wm/stumpwm/pkg-descr
===================================================================
RCS file: x11-wm/stumpwm/pkg-descr
diff -N x11-wm/stumpwm/pkg-descr
--- x11-wm/stumpwm/pkg-descr	11 Mar 2008 22:54:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-Stumpwm is a tiling, keyboard driven X11 Window Manager written entirely in0
-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
-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/
Index: x11-wm/stumpwm/files/patch-contrib-stumpish
===================================================================
RCS file: x11-wm/stumpwm/files/patch-contrib-stumpish
diff -N x11-wm/stumpwm/files/patch-contrib-stumpish
--- x11-wm/stumpwm/files/patch-contrib-stumpish	15 Sep 2010 11:56:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,178 +0,0 @@
- - use `echo' wrapper and work around \0XXX vs. \XXX in dash
- - use tput(1) wrapper and try termcap(5) capabilities first
- - remove GNUisms from sed(1) lines without breaking GNU sed usage
- - try to guess whether sleep(1) supports fractions
- - prevent word splitting when reading command list
- - remove command list not only when exiting but on SIGINT and SIGTERM, too
- - don't use backquotes, they have side effect of removing one layer of quoting
- - prevent glob expansion when stripping output
- - no need for persistence across reboots, use /tmp and TMPDIR from environ(7)
- - remove workaround for `read -p', it's supported by every ash descendant
- - correct example line in usage
-
----
- contrib/stumpish |   93 ++++++++++++++++++++++++++++++++++++-----------------
- 1 files changed, 63 insertions(+), 30 deletions(-)
-
-diff --git contrib/stumpish~ contrib/stumpish
-index 1d48bb4..2b0fca1 100755
---- contrib/stumpish~
-+++ contrib/stumpish
-@@ -21,19 +21,25 @@
- 
- ### STUMPwm Interactive SHell.
- 
--if sleep --version 2>/dev/null | grep -q GNU
-+DELAY=0.01
-+
-+if ! sleep $DELAY 2>/dev/null >&2
- then
--    DELAY=0.1
--else
-     DELAY=1
- fi
- 
-+# parse C-style backslash sequences by default
-+if [ "$(echo -e foo)" = foo ]; then
-+    echo() { builtin echo -e "$@"; }
-+fi
-+
- wait_result ()
- {
-     while true
-     do
--	RESULT=`xprop -root -f STUMPWM_COMMAND_RESULT 8s STUMPWM_COMMAND_RESULT 2>/dev/null`
--
-+	RESULT=$(xprop -root -f STUMPWM_COMMAND_RESULT 8s \
-+	    STUMPWM_COMMAND_RESULT 2>/dev/null |
-+	    sed -E 's/\\([[:digit:]]+)/\\0\1/g')
- 	if echo "$RESULT" | grep -v -q 'not found.$'
- 	then
- 	    break
-@@ -49,8 +55,14 @@ wait_result ()
- 	return 1
-     fi
- 
--    echo $RESULT | sed 's/[^"]*"//;s/"$//;s/\\n/\n/g;s/\\"/"/g;s/\n\+$//;
--			s/\^[*[:digit:]]\{2\}//g;s/\^[Bbn]//g;'
-+    echo "$RESULT" |
-+    sed -E 's/[^"\\n]+"//
-+            s/"[[:space:]]*$//
-+            s/([^\\])\\n/\1\
-+/g
-+            s/\\(["\\n])/\1/g
-+            s/\^([*[:digit:]]+|[Bbn])//g' |
-+    sed '/^[[:space:]]*$/d'
- }
- 
- send_cmd ()
-@@ -73,7 +85,7 @@ send_cmd ()
- usage ()
- {
-     cat <<EOF
--Usage: "$0" [[-e] command [args...]]
-+Usage: ${0##*/} [[-e|-r] command [args...]]
- 
- StumpIsh is the StumpWM shell. Use it to interact a running StumpWM
- instance.  When run from a terminal with no arguments, stumpish
-@@ -87,11 +99,31 @@ the first is considered the name of the command to execute and the
- remainder is concatenated to form the argument.
- 
- Example:
--	echo '(group-windows (current-group))' | "$0" eval
-+	echo '(group-windows (current-group))' | ${0##*/} -e eval
- EOF
-     exit 0;
- }
- 
-+warn ()
-+{
-+  {
-+    tput md bold
-+    tput AF setaf 1
-+    echo 'WARN:\c'
-+    tput me sgr0
-+    echo " $*"
-+  } >&2
-+}
-+
-+tput ()
-+{
-+    local cap1=$1 cap2=$2
-+    shift 2
-+
-+    command tput $cap1 $@ 2>/dev/null ||
-+    command tput $cap2 $@ 2>/dev/null
-+}
-+
- READLINE=yes
- 
- if [ "x$1" = "x-r" ]
-@@ -112,7 +144,7 @@ then
- 	fi
- 	shift 1
- 	IFS=''
--	ARGS=`cat /dev/stdin`
-+	ARGS=$(cat /dev/stdin)
- 	send_cmd "$1 $ARGS"
-     else
- 	IFS=' '
-@@ -121,37 +153,36 @@ then
- else
-     if [ -t 0 ]
-     then
--	if [ $READLINE = yes ] && type rlwrap >/dev/null 2>&1
-+	if ! type rlwrap 2>/dev/null >&2
- 	then
--	    # Note: $TEMP is not conventional; it is left here purely
--	    # for backwards compatibility.
--	    COMMANDS="${TEMP:-${TEMPDIR:-/var/tmp}}/stumpish.commands.$$"
--	    echo `send_cmd "commands"` | sed 's/[[:space:]]\+/\n/g' | sort > "$COMMANDS"
--	    rlwrap -f "$COMMANDS" "$0" -r
--	    rm -f "$COMMANDS"
-+	    warn rlwrap not found, command completion won\'t work
-+	elif [ $READLINE = yes ]
-+	then
-+	    COMMANDS="${TMPDIR:-/tmp}/stumpish.commands.$$"
-+	    echo $(send_cmd "commands") |
-+	    sed -E 's/[[:space:]]+/\
-+/g' |
-+	    sort > "$COMMANDS"
-+	    trap 'rm -f "$COMMANDS"' exit int term
-+	    rlwrap -b '' -f "$COMMANDS" "$0" -r
- 	    exit
- 	fi
- 
--	tput setaf 5
-+	tput AF setaf 5
-         echo Welcome to the STUMPwm Interactive SHell.
--        tput sgr0
--        echo -n 'Type '
--        tput setaf 2
--        echo -n commands
--        tput sgr0
-+        tput me sgr0
-+        echo 'Type \c'
-+        tput AF setaf 2
-+        echo 'commands\c'
-+        tput me sgr0
-         echo \ for a list of commands.
- 
--        IFS='
--'
--	echo -n "> "
--	while read REPLY
-+	while read -p '> ' REPLY
- 	do
--	    tput bold
--	    tput setaf 2
-+	    tput md bold
-+	    tput AF setaf 2
- 	    send_cmd "$REPLY"
--	    tput sgr0
--
--	    echo -n "> "
-+	    tput me sgr0
- 	done
-     else
- 	while read REPLY
--- a.diff ends here ---
Comment 11 Philip M. Gollucci freebsd_committer freebsd_triage 2010-10-19 09:19:18 UTC
State Changed
From-To: feedback->open

Feedback received
Comment 12 swell.k 2010-10-21 07:39:44 UTC
`message' function in emacs doesn't need a trailing newline unlike
shells that may print prompt on same line the last line of output was.

--- b.diff begins here ---
Index: x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
===================================================================
RCS file: x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
diff -N x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el	21 Oct 2010 06:32:27 -0000
@@ -0,0 +1,14 @@
+delete trailing newline added by echo(1)
+
+diff --git contrib/stumpwm-mode.el~ contrib/stumpwm-mode.el
+index 404f528..c6a3ae4 100644
+--- contrib/stumpwm-mode.el~
++++ contrib/stumpwm-mode.el
+@@ -48,6 +48,7 @@
+                (call-process stumpwm-shell-program nil (current-buffer) nil
+                              "eval"
+                              s)
++               (delete-char -1)
+                (buffer-string)))))
+ 
+ (defun stumpwm-eval-defun ()
--- b.diff ends here ---
Comment 13 swell.k 2010-10-22 16:19:16 UTC
Benefits of using bsd.cl-asdf.mk:
- unbundles cl-ppcre and cl-clx deps from the port
- embeds a location of source files that actually exists, this makes
  slime happy, e.g. slime-edit-definition (M-.) that jumps to a definition
- being able to install/use stumpwm compiled by sbcl and clisp without
  conflict (still untested)

... at the cost of increasing complexity of the port. The approach is
similar to Debian, though it uses clc rather than asdf.

As for slime, I usually just put smth like following in ~/.stumpwmrc

  (require 'swank)
  (swank:create-server)

Alternatively, one can leverage STUMPWM_(LOAD|EVAL)

  $ env STUMPWM_LOAD="swank stumpwm" \
        STUMPWM_EVAL="(progn (swank:create-server) (stumpwm:stumpwm) (quit))" \
        stumpwm
  $ env STUMPWM_LOAD= \
        STUMPWM_EVAL= \
        stumpwm \
        --eval "(progn (require 'swank) (require 'stumpwm))" \
        --eval "(progn (swank:create-server) (stumpwm:stumpwm) (quit))"

but it'd require applying following patch.

--- c.diff begins here ---
diff --git x11-wm/cl-stumpwm/files/stumpwm.in x11-wm/cl-stumpwm/files/stumpwm.in
index 2413f5d..221959a 100644
--- x11-wm/cl-stumpwm/files/stumpwm.in
+++ x11-wm/cl-stumpwm/files/stumpwm.in
@@ -1,4 +1,11 @@
 #! /bin/sh
+# A simple wrapper to run StumpWM.
+#
+#  LISP - path to lisp implementation (sbcl or clisp)
+#  STUMPWM_LOAD - list of asdf modules to preload
+#  STUMPWM_EVAL - main s-exp to evalute
+#
+# $FreeBSD$
 
 have() {
     command -v $1 >&-
@@ -14,17 +21,26 @@ else
     exit 1
 fi
 
-: ${STUMPWM_EVAL:="(progn (stumpwm:stumpwm) (quit))"}
+: ${STUMPWM_LOAD="stumpwm"}
+: ${STUMPWM_EVAL="(progn (stumpwm:stumpwm) (quit))"}
 case $LISP in
     *sbcl*)
 	args="$args --load %%LOCALBASE%%/etc/asdf-init"
-	args="$args --eval \"(require 'stumpwm)\""
-	args="$args --eval \"$STUMPWM_EVAL\""
+	for m in $STUMPWM_LOAD; do
+	    args="$args --eval \"(require '$m)\""
+	done
+	if [ "$STUMPWM_EVAL" ]; then
+	    args="$args --eval \"$STUMPWM_EVAL\""
+	fi
 	;;
     *clisp*)
 	args="$args -i %%LOCALBASE%%/etc/asdf-init"
-	args="$args -x \"(asdf:operate 'asdf:load-op :stumpwm)\""
-	args="$args -x \"$STUMPWM_EVAL\""
+	for m in $STUMPWM_LOAD; do
+	    args="$args -x \"(asdf:operate 'asdf:load-op :$m)\""
+	done
+	if [ "$STUMPWM_EVAL" ]; then
+	    args="$args -x \"$STUMPWM_EVAL\""
+	fi
 	;;
 esac
 eval set -- "$args" '"$@"'
--- c.diff begins here ---
Comment 14 swell.k 2010-10-22 16:57:23 UTC
regen cumulative diff (for convenience)

--- a.diff begins here ---
Index: x11-wm/Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/Makefile,v
retrieving revision 1.253
diff -u -p -r1.253 Makefile
--- x11-wm/Makefile	24 May 2010 21:52:42 -0000	1.253
+++ x11-wm/Makefile	8 Oct 2010 04:58:25 -0000
@@ -21,6 +21,10 @@
     SUBDIR += blwm
     SUBDIR += boxtools
     SUBDIR += ccsm
+    SUBDIR += cl-stumpwm
+    SUBDIR += cl-stumpwm-clisp
+    SUBDIR += cl-stumpwm-doc
+    SUBDIR += cl-stumpwm-sbcl
     SUBDIR += clementine
     SUBDIR += compiz
     SUBDIR += compiz-fusion
@@ -112,7 +118,6 @@
     SUBDIR += simple-ccsm
     SUBDIR += skippy
     SUBDIR += skippy-xd
-    SUBDIR += stumpwm
     SUBDIR += swm
     SUBDIR += tinywm
     SUBDIR += transset-df
Index: x11-wm/cl-stumpwm/Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/Makefile,v
retrieving revision 1.10
diff -u -p -r1.10 Makefile
--- x11-wm/cl-stumpwm/Makefile	19 Oct 2010 02:04:20 -0000	1.10
+++ x11-wm/cl-stumpwm/Makefile	19 Oct 2010 11:30:26 -0000
@@ -1,4 +1,4 @@
-# New ports collection makefile for:	stumpwm
+# New ports collection makefile for:	cl-stumpwm
 # Date created:				2008-02-20
 # Whom:					alepulver
 #
@@ -7,77 +7,85 @@
 
 PORTNAME=	stumpwm
 PORTVERSION=	0.9.7
-PORTREVISION=	1
+PORTREVISION?=	2
 CATEGORIES=	x11-wm lisp
 MASTER_SITES=	SAVANNAH
-DISTFILES=	${DISTNAME}.tgz
+PKGNAMEPREFIX=	cl-
+EXTRACT_SUFX=	.tgz
 
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	A tiling, keyboard driven Window Manager written in Common Lisp
-
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
-MAKE_JOBS_UNSAFE=yes
+MAINTAINER=	swell.k@gmail.com
+COMMENT?=	A tiling, keyboard driven Window Manager written in Common Lisp
 
 LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/COPYING
 
-PLIST_FILES=	bin/stumpish \
-		bin/${PORTNAME}
-INFO=		${PORTNAME}
-PORTEXAMPLES=	sample-stumpwmrc.lisp
-PORTDATA=	*
+.if !defined(FASL_BUILD)
+LICENSE_FILE=	${WRKSRC}/COPYING
 
-OPTIONS=	SBCL "Build with lang/sbcl (otherwise with lang/clisp)" on
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
 
-.include <bsd.port.options.mk>
+DATADIR=	${PREFIX}/share/${UNIQUENAME}
 
-.if defined(WITH_SBCL) || make(makesum) || defined(FETCH_ALL)
-MASTER_SITES+=	http://common-lisp.net/~abridgewater/dist/clx/:clx
-DISTFILES+=	clx-0.7.4.tgz:clx
-.endif
+.if !defined(ALL_TARGET)
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/cl-ppcre.asd:${PORTSDIR}/textproc/cl-ppcre \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/clx.asd:${PORTSDIR}/x11/cl-clx
 
-.if defined(WITH_SBCL)
-CONFIGURE_ARGS+=	--with-lisp=sbcl
-BUILD_DEPENDS+=	sbcl:${PORTSDIR}/lang/sbcl
-.else
-CONFIGURE_ARGS+=	--with-lisp=clisp
-BUILD_DEPENDS+=	clisp:${PORTSDIR}/lang/clisp
-.endif
+NO_BUILD=	yes
+USE_ASDF=	yes
 
-.if !defined(WITH_SBCL)
-.if exists(${LOCALBASE}/bin/clisp) && \
-    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
-IGNORE=		requires lang/clisp built with CLX_NEW option ON
-.endif
+SUB_FILES=	stumpwm
+PORTEXAMPLES=	sample-stumpwmrc.lisp
+PORTDATA=	*
+PLIST_SUB=	ASDF_PATHNAME="${ASDF_PATHNAME:S,^${PREFIX}/,,}" \
+		ASDF_REGISTRY="${ASDF_REGISTRY:S,^${PREFIX}/,,}"
 .endif
 
-.if defined(WITH_SBCL)
 post-extract:	.SILENT
-	${LN} -sf ${WRKDIR}/clx*/*.asd ${WRKSRC}/cl-ppcre/*.asd ${WRKSRC}
+	${RM} -fr ${WRKSRC}/asdf* ${WRKSRC}/cl-ppcre*
 
 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} -e '/if.*LISP_PROGRAM/,/fi/d' \
+		-e 's|test.*$$PPCRE_PATH/cl-ppcre\.asd.*;|${TRUE};|' \
+		${WRKSRC}/configure
 	${REINPLACE_CMD} 's/\(sb-introspect:function-\)arglist/\1lambda-list/' \
 		${WRKSRC}/manual.lisp
-.endif
 
-post-install:
+.if !defined(ALL_TARGET)
+do-install:
+	${INSTALL_SCRIPT} ${WRKDIR}/stumpwm ${PREFIX}/bin
 	${INSTALL_SCRIPT} ${WRKSRC}/contrib/stumpish ${PREFIX}/bin
+	${INSTALL_DATA} ${WRKSRC}/contrib/stumpwm-mode.el ${PREFIX}/share/emacs/site-lisp
+	${MKDIR} ${ASDF_PATHNAME}
+	${INSTALL_DATA} ${WRKSRC}/*.lisp ${ASDF_PATHNAME}
+	${INSTALL_DATA} ${WRKSRC}/*.asd ${ASDF_PATHNAME}
+	${LN} -sf ${ASDF_PATHNAME}/*.asd ${ASDF_REGISTRY}
 .if !defined(NOPORTEXAMPLES)
 	${MKDIR} ${EXAMPLESDIR}
 	${INSTALL_DATA} ${WRKSRC}/${PORTEXAMPLES} ${EXAMPLESDIR}
 .endif
 .if !defined(NOPORTDATA)
 	${MKDIR} ${DATADIR}
-	${TAR} cf - -C${WRKSRC}/contrib --exclude stumpish\* . \
-		| ${TAR} xovf - -C${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/amixer.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/aumix.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/battery-portable.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/battery.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/cpu.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/disk.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/g15-keysyms.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/maildir.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/mem.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/mpd.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/net.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/notifications.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/productivity.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/sbclfix.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/surfraw.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/wifi.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/window-tags.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/wmii-like-stumpwmrc.lisp ${DATADIR}
 .endif
+.endif # ALL_TARGET
+.endif # FASL_BUILD
 
+.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk"
 .include <bsd.port.mk>
Index: x11-wm/cl-stumpwm/distinfo
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/distinfo,v
retrieving revision 1.6
diff -u -p -r1.6 distinfo
--- x11-wm/cl-stumpwm/distinfo	19 Oct 2010 02:04:20 -0000	1.6
+++ x11-wm/cl-stumpwm/distinfo	19 Oct 2010 11:30:26 -0000
@@ -1,6 +1,3 @@
 MD5 (stumpwm-0.9.7.tgz) = cfdf39945908802f59b70e6c4675d27a
 SHA256 (stumpwm-0.9.7.tgz) = a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78
 SIZE (stumpwm-0.9.7.tgz) = 497663
-MD5 (clx-0.7.4.tgz) = d18b9fcc3a5d085e1a73c59a6ecc9413
-SHA256 (clx-0.7.4.tgz) = 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028
-SIZE (clx-0.7.4.tgz) = 444490
Index: x11-wm/cl-stumpwm/pkg-plist
===================================================================
RCS file: x11-wm/cl-stumpwm/pkg-plist
diff -N x11-wm/cl-stumpwm/pkg-plist
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/pkg-plist	19 Oct 2010 06:57:59 -0000
@@ -0,0 +1,44 @@
+bin/stumpish
+bin/stumpwm
+%%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%%/group.lisp
+%%ASDF_PATHNAME%%/head.lisp
+%%ASDF_PATHNAME%%/help.lisp
+%%ASDF_PATHNAME%%/input.lisp
+%%ASDF_PATHNAME%%/iresize.lisp
+%%ASDF_PATHNAME%%/keysyms.lisp
+%%ASDF_PATHNAME%%/keytrans.lisp
+%%ASDF_PATHNAME%%/kmap.lisp
+%%ASDF_PATHNAME%%/make-image.lisp
+%%ASDF_PATHNAME%%/manual.lisp
+%%ASDF_PATHNAME%%/menu.lisp
+%%ASDF_PATHNAME%%/message-window.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%%/workarounds.lisp
+%%ASDF_PATHNAME%%/wrappers.lisp
+%%ASDF_REGISTRY%%/stumpwm.asd
+share/emacs/site-lisp/stumpwm-mode.el
+@dirrm %%ASDF_PATHNAME%%
Index: x11-wm/cl-stumpwm/files/patch-Makefile.in
===================================================================
RCS file: x11-wm/cl-stumpwm/files/patch-Makefile.in
diff -N x11-wm/cl-stumpwm/files/patch-Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/patch-Makefile.in	19 Oct 2010 05:47:17 -0000
@@ -0,0 +1,13 @@
+--- Makefile.in~
++++ Makefile.in
+@@ -5,8 +5,8 @@ sbcl_BUILDOPTS=--load ./make-image.lisp
+ ccl_BUILDOPTS=--load ./make-image.lisp
+ ecl_BUILDOPTS=-norc -shell ./make-image.lisp
+ 
+-clisp_INFOOPTS=-K full -on-error exit -x "(require 'asdf '(\"asdf.lisp\")) (load \"stumpwm.asd\") (load \"@PPCRE_PATH@/cl-ppcre.asd\") (asdf:operate 'asdf:load-op :stumpwm) (load (compile-file \"manual.lisp\")) (stumpwm::generate-manual) (ext:exit)"
+-sbcl_INFOOPTS=--eval "(progn (require 'asdf) (require 'stumpwm) (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))"
++clisp_INFOOPTS=-K full -on-error exit -i $(LOCALBASE)/etc/asdf-init -x "(asdf:operate 'asdf:load-op :stumpwm) (load (compile-file \"manual.lisp\")) (stumpwm::generate-manual) (ext:exit)"
++sbcl_INFOOPTS=--load $(LOCALBASE)/etc/asdf-init --eval "(progn (require 'stumpwm) (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))"
+ ccl_INFOOPTS=--eval "(progn (require 'asdf) (require 'stumpwm))" --load manual.lisp --eval "(progn (stumpwm::generate-manual) (quit))"
+ ecl_INFOOPTS=-eval "(progn (require 'asdf) (load \"@PPCRE_PATH@/cl-ppcre.asd\") (require 'stumpwm) (load \"manual.lisp\"))" -eval "(progn (stumpwm::generate-manual) (ext:quit))"
+ datarootdir = @datarootdir@
Index: x11-wm/cl-stumpwm/files/patch-contrib-stumpish
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/files/patch-contrib-stumpish,v
retrieving revision 1.1
diff -u -p -r1.1 patch-contrib-stumpish
--- x11-wm/cl-stumpwm/files/patch-contrib-stumpish	15 Sep 2010 11:56:58 -0000	1.1
+++ x11-wm/cl-stumpwm/files/patch-contrib-stumpish	7 Oct 2010 07:54:28 -0000
@@ -49,7 +49,7 @@ index 1d48bb4..2b0fca1 100755
  	if echo "$RESULT" | grep -v -q 'not found.$'
  	then
  	    break
-@@ -49,8 +55,14 @@ wait_result ()
+@@ -49,8 +55,13 @@ wait_result ()
  	return 1
      fi
  
@@ -57,12 +57,11 @@ index 1d48bb4..2b0fca1 100755
 -			s/\^[*[:digit:]]\{2\}//g;s/\^[Bbn]//g;'
 +    echo "$RESULT" |
 +    sed -E 's/[^"\\n]+"//
-+            s/"[[:space:]]*$//
-+            s/([^\\])\\n/\1\
++            /^"[[:space:]]*$/d
++            s/(^|[^\\])\\n/\1\
 +/g
 +            s/\\(["\\n])/\1/g
-+            s/\^([*[:digit:]]+|[Bbn])//g' |
-+    sed '/^[[:space:]]*$/d'
++            s/\^([*[:digit:]]+|[Bbn])//g'
  }
  
  send_cmd ()
Index: x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
===================================================================
RCS file: x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
diff -N x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el	21 Oct 2010 06:32:27 -0000
@@ -0,0 +1,14 @@
+delete trailing newline added by echo(1)
+
+diff --git contrib/stumpwm-mode.el~ contrib/stumpwm-mode.el
+index 404f528..c6a3ae4 100644
+--- contrib/stumpwm-mode.el~
++++ contrib/stumpwm-mode.el
+@@ -48,6 +48,7 @@
+                (call-process stumpwm-shell-program nil (current-buffer) nil
+                              "eval"
+                              s)
++               (delete-char -1)
+                (buffer-string)))))
+ 
+ (defun stumpwm-eval-defun ()
Index: x11-wm/cl-stumpwm/files/stumpwm.in
===================================================================
RCS file: x11-wm/cl-stumpwm/files/stumpwm.in
diff -N x11-wm/cl-stumpwm/files/stumpwm.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/stumpwm.in	22 Oct 2010 14:43:53 -0000
@@ -0,0 +1,48 @@
+#! /bin/sh
+# A simple wrapper to run StumpWM.
+#
+#  LISP - path to lisp implementation (sbcl or clisp)
+#  STUMPWM_LOAD - list of asdf modules to preload
+#  STUMPWM_EVAL - main s-exp to evalute
+#
+# $FreeBSD$
+
+have() {
+    command -v $1 >&-
+}
+
+if [ "$LISP" ]; then
+elif have sbcl; then
+    LISP=sbcl
+elif have clisp; then
+    LISP=clisp
+else
+    echo No lisp implementation found.
+    exit 1
+fi
+
+: ${STUMPWM_LOAD="stumpwm"}
+: ${STUMPWM_EVAL="(progn (stumpwm:stumpwm) (quit))"}
+case $LISP in
+    *sbcl*)
+	args="$args --load %%LOCALBASE%%/etc/asdf-init"
+	for m in $STUMPWM_LOAD; do
+	    args="$args --eval \"(require '$m)\""
+	done
+	if [ "$STUMPWM_EVAL" ]; then
+	    args="$args --eval \"$STUMPWM_EVAL\""
+	fi
+	;;
+    *clisp*)
+	args="$args -i %%LOCALBASE%%/etc/asdf-init"
+	for m in $STUMPWM_LOAD; do
+	    args="$args -x \"(asdf:operate 'asdf:load-op :$m)\""
+	done
+	if [ "$STUMPWM_EVAL" ]; then
+	    args="$args -x \"$STUMPWM_EVAL\""
+	fi
+	;;
+esac
+eval set -- "$args" '"$@"'
+
+exec $LISP "$@"
Index: x11-wm/cl-stumpwm-clisp/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-clisp/Makefile
diff -N x11-wm/cl-stumpwm-clisp/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-clisp/Makefile	19 Oct 2010 04:56:55 -0000
@@ -0,0 +1,28 @@
+# New ports collection makefile for:	cl-stumpwm-clisp
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+DISTFILES=	# none
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/clispfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-clisp
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/clispfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-clisp
+
+.if exists(${LOCALBASE}/bin/clisp) && \
+    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
+IGNORE=		requires lang/clisp built with CLX_NEW option ON
+.endif
+
+USE_ASDF_FASL=	yes
+FASL_BUILD=	yes
+FASL_TARGET=	clisp
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PATCHDIR=	${.CURDIR}/files
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/cl-stumpwm-doc/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-doc/Makefile
diff -N x11-wm/cl-stumpwm-doc/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-doc/Makefile	8 Oct 2010 16:31:14 -0000
@@ -0,0 +1,23 @@
+# New ports collection makefile for:	cl-stumpwm-doc
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+PKGNAMESUFFIX=	-doc
+
+COMMENT=	StumpWM info(1) manual
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/sbclfasl/stumpwm.fasl:${PORTSDIR}/x11-wm/cl-stumpwm-sbcl
+
+ALL_TARGET=	stumpwm.info
+INFO=		stumpwm
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PLIST=		${.CURDIR}/pkg-plist
+
+do-install:
+	${INSTALL_DATA} ${WRKSRC}/stumpwm.info ${PREFIX}/info
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/cl-stumpwm-sbcl/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-sbcl/Makefile
diff -N x11-wm/cl-stumpwm-sbcl/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-sbcl/Makefile	19 Oct 2010 04:56:34 -0000
@@ -0,0 +1,25 @@
+# New ports collection makefile for:	cl-stumpwm-sbcl
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+DISTFILES=	# none
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/sbclfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-sbcl \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/sbclfasl/clx.fasl:${PORTSDIR}/x11/cl-clx-sbcl
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/sbclfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-sbcl \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/sbclfasl/clx.fasl:${PORTSDIR}/x11/cl-clx-sbcl
+
+USE_ASDF_FASL=	yes
+FASL_BUILD=	yes
+FASL_TARGET=	sbcl
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PATCHDIR=	${.CURDIR}/files
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/stumpwm/Makefile
===================================================================
RCS file: x11-wm/stumpwm/Makefile
diff -N x11-wm/stumpwm/Makefile
--- x11-wm/stumpwm/Makefile	15 Sep 2010 11:56:58 -0000	1.9
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,83 +0,0 @@
-# New ports collection makefile for:	stumpwm
-# Date created:				2008-02-20
-# Whom:					alepulver
-#
-# $FreeBSD: ports/x11-wm/stumpwm/Makefile,v 1.9 2010/09/15 11:56:58 ashish Exp $
-#
-
-PORTNAME=	stumpwm
-PORTVERSION=	0.9.7
-PORTREVISION=	1
-CATEGORIES=	x11-wm lisp
-MASTER_SITES=	SAVANNAH
-DISTFILES=	${DISTNAME}.tgz
-
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	A tiling, keyboard driven Window Manager written in Common Lisp
-
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
-MAKE_JOBS_UNSAFE=yes
-
-LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/COPYING
-
-PLIST_FILES=	bin/stumpish \
-		bin/${PORTNAME}
-INFO=		${PORTNAME}
-PORTEXAMPLES=	sample-stumpwmrc.lisp
-PORTDATA=	*
-
-OPTIONS=	SBCL "Build with lang/sbcl (otherwise with lang/clisp)" on
-
-.include <bsd.port.options.mk>
-
-.if defined(WITH_SBCL) || make(makesum) || defined(FETCH_ALL)
-MASTER_SITES+=	http://common-lisp.net/~abridgewater/dist/clx/:clx
-DISTFILES+=	clx-0.7.4.tgz:clx
-.endif
-
-.if defined(WITH_SBCL)
-CONFIGURE_ARGS+=	--with-lisp=sbcl
-BUILD_DEPENDS+=	sbcl:${PORTSDIR}/lang/sbcl
-.else
-CONFIGURE_ARGS+=	--with-lisp=clisp
-BUILD_DEPENDS+=	clisp:${PORTSDIR}/lang/clisp
-.endif
-
-.if !defined(WITH_SBCL)
-.if exists(${LOCALBASE}/bin/clisp) && \
-    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
-IGNORE=		requires lang/clisp built with CLX_NEW option ON
-.endif
-.endif
-
-.if defined(WITH_SBCL)
-post-extract:	.SILENT
-	${LN} -sf ${WRKDIR}/clx*/*.asd ${WRKSRC}/cl-ppcre/*.asd ${WRKSRC}
-
-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 !defined(NOPORTEXAMPLES)
-	${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 <bsd.port.mk>
Index: x11-wm/stumpwm/distinfo
===================================================================
RCS file: x11-wm/stumpwm/distinfo
diff -N x11-wm/stumpwm/distinfo
--- x11-wm/stumpwm/distinfo	5 Jun 2010 11:04:14 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,6 +0,0 @@
-MD5 (stumpwm-0.9.7.tgz) = cfdf39945908802f59b70e6c4675d27a
-SHA256 (stumpwm-0.9.7.tgz) = a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78
-SIZE (stumpwm-0.9.7.tgz) = 497663
-MD5 (clx-0.7.4.tgz) = d18b9fcc3a5d085e1a73c59a6ecc9413
-SHA256 (clx-0.7.4.tgz) = 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028
-SIZE (clx-0.7.4.tgz) = 444490
Index: x11-wm/stumpwm/pkg-descr
===================================================================
RCS file: x11-wm/stumpwm/pkg-descr
diff -N x11-wm/stumpwm/pkg-descr
--- x11-wm/stumpwm/pkg-descr	11 Mar 2008 22:54:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-Stumpwm is a tiling, keyboard driven X11 Window Manager written entirely in0
-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
-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/
Index: x11-wm/stumpwm/files/patch-contrib-stumpish
===================================================================
RCS file: x11-wm/stumpwm/files/patch-contrib-stumpish
diff -N x11-wm/stumpwm/files/patch-contrib-stumpish
--- x11-wm/stumpwm/files/patch-contrib-stumpish	15 Sep 2010 11:56:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,178 +0,0 @@
- - use `echo' wrapper and work around \0XXX vs. \XXX in dash
- - use tput(1) wrapper and try termcap(5) capabilities first
- - remove GNUisms from sed(1) lines without breaking GNU sed usage
- - try to guess whether sleep(1) supports fractions
- - prevent word splitting when reading command list
- - remove command list not only when exiting but on SIGINT and SIGTERM, too
- - don't use backquotes, they have side effect of removing one layer of quoting
- - prevent glob expansion when stripping output
- - no need for persistence across reboots, use /tmp and TMPDIR from environ(7)
- - remove workaround for `read -p', it's supported by every ash descendant
- - correct example line in usage
-
----
- contrib/stumpish |   93 ++++++++++++++++++++++++++++++++++++-----------------
- 1 files changed, 63 insertions(+), 30 deletions(-)
-
-diff --git contrib/stumpish~ contrib/stumpish
-index 1d48bb4..2b0fca1 100755
---- contrib/stumpish~
-+++ contrib/stumpish
-@@ -21,19 +21,25 @@
- 
- ### STUMPwm Interactive SHell.
- 
--if sleep --version 2>/dev/null | grep -q GNU
-+DELAY=0.01
-+
-+if ! sleep $DELAY 2>/dev/null >&2
- then
--    DELAY=0.1
--else
-     DELAY=1
- fi
- 
-+# parse C-style backslash sequences by default
-+if [ "$(echo -e foo)" = foo ]; then
-+    echo() { builtin echo -e "$@"; }
-+fi
-+
- wait_result ()
- {
-     while true
-     do
--	RESULT=`xprop -root -f STUMPWM_COMMAND_RESULT 8s STUMPWM_COMMAND_RESULT 2>/dev/null`
--
-+	RESULT=$(xprop -root -f STUMPWM_COMMAND_RESULT 8s \
-+	    STUMPWM_COMMAND_RESULT 2>/dev/null |
-+	    sed -E 's/\\([[:digit:]]+)/\\0\1/g')
- 	if echo "$RESULT" | grep -v -q 'not found.$'
- 	then
- 	    break
-@@ -49,8 +55,14 @@ wait_result ()
- 	return 1
-     fi
- 
--    echo $RESULT | sed 's/[^"]*"//;s/"$//;s/\\n/\n/g;s/\\"/"/g;s/\n\+$//;
--			s/\^[*[:digit:]]\{2\}//g;s/\^[Bbn]//g;'
-+    echo "$RESULT" |
-+    sed -E 's/[^"\\n]+"//
-+            s/"[[:space:]]*$//
-+            s/([^\\])\\n/\1\
-+/g
-+            s/\\(["\\n])/\1/g
-+            s/\^([*[:digit:]]+|[Bbn])//g' |
-+    sed '/^[[:space:]]*$/d'
- }
- 
- send_cmd ()
-@@ -73,7 +85,7 @@ send_cmd ()
- usage ()
- {
-     cat <<EOF
--Usage: "$0" [[-e] command [args...]]
-+Usage: ${0##*/} [[-e|-r] command [args...]]
- 
- StumpIsh is the StumpWM shell. Use it to interact a running StumpWM
- instance.  When run from a terminal with no arguments, stumpish
-@@ -87,11 +99,31 @@ the first is considered the name of the command to execute and the
- remainder is concatenated to form the argument.
- 
- Example:
--	echo '(group-windows (current-group))' | "$0" eval
-+	echo '(group-windows (current-group))' | ${0##*/} -e eval
- EOF
-     exit 0;
- }
- 
-+warn ()
-+{
-+  {
-+    tput md bold
-+    tput AF setaf 1
-+    echo 'WARN:\c'
-+    tput me sgr0
-+    echo " $*"
-+  } >&2
-+}
-+
-+tput ()
-+{
-+    local cap1=$1 cap2=$2
-+    shift 2
-+
-+    command tput $cap1 $@ 2>/dev/null ||
-+    command tput $cap2 $@ 2>/dev/null
-+}
-+
- READLINE=yes
- 
- if [ "x$1" = "x-r" ]
-@@ -112,7 +144,7 @@ then
- 	fi
- 	shift 1
- 	IFS=''
--	ARGS=`cat /dev/stdin`
-+	ARGS=$(cat /dev/stdin)
- 	send_cmd "$1 $ARGS"
-     else
- 	IFS=' '
-@@ -121,37 +153,36 @@ then
- else
-     if [ -t 0 ]
-     then
--	if [ $READLINE = yes ] && type rlwrap >/dev/null 2>&1
-+	if ! type rlwrap 2>/dev/null >&2
- 	then
--	    # Note: $TEMP is not conventional; it is left here purely
--	    # for backwards compatibility.
--	    COMMANDS="${TEMP:-${TEMPDIR:-/var/tmp}}/stumpish.commands.$$"
--	    echo `send_cmd "commands"` | sed 's/[[:space:]]\+/\n/g' | sort > "$COMMANDS"
--	    rlwrap -f "$COMMANDS" "$0" -r
--	    rm -f "$COMMANDS"
-+	    warn rlwrap not found, command completion won\'t work
-+	elif [ $READLINE = yes ]
-+	then
-+	    COMMANDS="${TMPDIR:-/tmp}/stumpish.commands.$$"
-+	    echo $(send_cmd "commands") |
-+	    sed -E 's/[[:space:]]+/\
-+/g' |
-+	    sort > "$COMMANDS"
-+	    trap 'rm -f "$COMMANDS"' exit int term
-+	    rlwrap -b '' -f "$COMMANDS" "$0" -r
- 	    exit
- 	fi
- 
--	tput setaf 5
-+	tput AF setaf 5
-         echo Welcome to the STUMPwm Interactive SHell.
--        tput sgr0
--        echo -n 'Type '
--        tput setaf 2
--        echo -n commands
--        tput sgr0
-+        tput me sgr0
-+        echo 'Type \c'
-+        tput AF setaf 2
-+        echo 'commands\c'
-+        tput me sgr0
-         echo \ for a list of commands.
- 
--        IFS='
--'
--	echo -n "> "
--	while read REPLY
-+	while read -p '> ' REPLY
- 	do
--	    tput bold
--	    tput setaf 2
-+	    tput md bold
-+	    tput AF setaf 2
- 	    send_cmd "$REPLY"
--	    tput sgr0
--
--	    echo -n "> "
-+	    tput me sgr0
- 	done
-     else
- 	while read REPLY
--- a.diff ends here ---
Comment 15 swell.k 2010-10-24 13:02:17 UTC
Fix -clisp port compilation/run by adding `-K full' to
arguments. LISP_EXTRA_ARG comes from ports/151682.

--- b.diff begins here ---
diff --git x11-wm/cl-stumpwm/files/stumpwm.in x11-wm/cl-stumpwm/files/stumpwm.in
index 221959a..169f20a 100644
--- x11-wm/cl-stumpwm/files/stumpwm.in
+++ x11-wm/cl-stumpwm/files/stumpwm.in
@@ -34,6 +34,7 @@ case $LISP in
 	fi
 	;;
     *clisp*)
+	args="$args -K full"
 	args="$args -i %%LOCALBASE%%/etc/asdf-init"
 	for m in $STUMPWM_LOAD; do
 	    args="$args -x \"(asdf:operate 'asdf:load-op :$m)\""
diff --git x11-wm/cl-stumpwm-clisp/Makefile x11-wm/cl-stumpwm-clisp/Makefile
index b494c4f..bdaf05c 100644
--- x11-wm/cl-stumpwm-clisp/Makefile
+++ x11-wm/cl-stumpwm-clisp/Makefile
@@ -20,6 +20,7 @@ IGNORE=		requires lang/clisp built with CLX_NEW option ON
 USE_ASDF_FASL=	yes
 FASL_BUILD=	yes
 FASL_TARGET=	clisp
+LISP_EXTRA_ARG=	-K full
 
 MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
 PATCHDIR=	${.CURDIR}/files
--- b.diff ends here ---
Comment 16 swell.k 2010-10-24 13:57:59 UTC
don't build clisp automatically as a dependency

--- c.diff begins here ---
diff --git x11-wm/cl-stumpwm-clisp/Makefile x11-wm/cl-stumpwm-clisp/Makefile
index bdaf05c..b361211 100644
--- x11-wm/cl-stumpwm-clisp/Makefile
+++ x11-wm/cl-stumpwm-clisp/Makefile
@@ -12,8 +12,7 @@ BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11
 RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
 		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/clispfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-clisp
 
-.if exists(${LOCALBASE}/bin/clisp) && \
-    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
+.if !exists(${LOCALBASE}/lib/clisp/full/clx.o)
 IGNORE=		requires lang/clisp built with CLX_NEW option ON
 .endif
 
--- c.diff ends here ---
Comment 17 swell.k 2010-10-24 14:49:29 UTC
- regen cumulative diff
- x11-wm/cl-stumpwm-clisp is supposed to work (tested)

--- a.diff begins here ---
 x11-wm/Makefile                                       |    5 
 x11-wm/cl-stumpwm-clisp/Makefile                      |   28 ++
 x11-wm/cl-stumpwm-doc/Makefile                        |   23 ++
 x11-wm/cl-stumpwm-sbcl/Makefile                       |   25 ++
 x11-wm/cl-stumpwm/Makefile                            |  100 +++++-----
 x11-wm/cl-stumpwm/distinfo                            |    3 
 x11-wm/cl-stumpwm/files/patch-Makefile.in             |   13 +
 x11-wm/cl-stumpwm/files/patch-contrib-stumpish        |    9 
 x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el |   14 +
 x11-wm/cl-stumpwm/files/stumpwm.in                    |   49 ++++
 x11-wm/cl-stumpwm/pkg-plist                           |   44 ++++
 x11-wm/stumpwm/Makefile                               |   83 --------
 x11-wm/stumpwm/distinfo                               |    6 
 x11-wm/stumpwm/files/patch-contrib-stumpish           |  178 ------------------
 x11-wm/stumpwm/pkg-descr                              |   19 -
 15 files changed, 258 insertions(+), 341 deletions(-)

Index: x11-wm/Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/Makefile,v
retrieving revision 1.253
diff -u -p -r1.253 Makefile
--- x11-wm/Makefile	24 May 2010 21:52:42 -0000	1.253
+++ x11-wm/Makefile	8 Oct 2010 04:58:25 -0000
@@ -21,6 +21,10 @@
     SUBDIR += blwm
     SUBDIR += boxtools
     SUBDIR += ccsm
+    SUBDIR += cl-stumpwm
+    SUBDIR += cl-stumpwm-clisp
+    SUBDIR += cl-stumpwm-doc
+    SUBDIR += cl-stumpwm-sbcl
     SUBDIR += clementine
     SUBDIR += compiz
     SUBDIR += compiz-fusion
@@ -112,7 +118,6 @@
     SUBDIR += simple-ccsm
     SUBDIR += skippy
     SUBDIR += skippy-xd
-    SUBDIR += stumpwm
     SUBDIR += swm
     SUBDIR += tinywm
     SUBDIR += transset-df
Index: x11-wm/cl-stumpwm/Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/Makefile,v
retrieving revision 1.10
diff -u -p -r1.10 Makefile
--- x11-wm/cl-stumpwm/Makefile	19 Oct 2010 02:04:20 -0000	1.10
+++ x11-wm/cl-stumpwm/Makefile	19 Oct 2010 11:30:26 -0000
@@ -1,4 +1,4 @@
-# New ports collection makefile for:	stumpwm
+# New ports collection makefile for:	cl-stumpwm
 # Date created:				2008-02-20
 # Whom:					alepulver
 #
@@ -7,77 +7,85 @@
 
 PORTNAME=	stumpwm
 PORTVERSION=	0.9.7
-PORTREVISION=	1
+PORTREVISION?=	2
 CATEGORIES=	x11-wm lisp
 MASTER_SITES=	SAVANNAH
-DISTFILES=	${DISTNAME}.tgz
+PKGNAMEPREFIX=	cl-
+EXTRACT_SUFX=	.tgz
 
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	A tiling, keyboard driven Window Manager written in Common Lisp
-
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
-MAKE_JOBS_UNSAFE=yes
+MAINTAINER=	swell.k@gmail.com
+COMMENT?=	A tiling, keyboard driven Window Manager written in Common Lisp
 
 LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/COPYING
 
-PLIST_FILES=	bin/stumpish \
-		bin/${PORTNAME}
-INFO=		${PORTNAME}
-PORTEXAMPLES=	sample-stumpwmrc.lisp
-PORTDATA=	*
+.if !defined(FASL_BUILD)
+LICENSE_FILE=	${WRKSRC}/COPYING
 
-OPTIONS=	SBCL "Build with lang/sbcl (otherwise with lang/clisp)" on
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
 
-.include <bsd.port.options.mk>
+DATADIR=	${PREFIX}/share/${UNIQUENAME}
 
-.if defined(WITH_SBCL) || make(makesum) || defined(FETCH_ALL)
-MASTER_SITES+=	http://common-lisp.net/~abridgewater/dist/clx/:clx
-DISTFILES+=	clx-0.7.4.tgz:clx
-.endif
+.if !defined(ALL_TARGET)
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/cl-ppcre.asd:${PORTSDIR}/textproc/cl-ppcre \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/clx.asd:${PORTSDIR}/x11/cl-clx
 
-.if defined(WITH_SBCL)
-CONFIGURE_ARGS+=	--with-lisp=sbcl
-BUILD_DEPENDS+=	sbcl:${PORTSDIR}/lang/sbcl
-.else
-CONFIGURE_ARGS+=	--with-lisp=clisp
-BUILD_DEPENDS+=	clisp:${PORTSDIR}/lang/clisp
-.endif
+NO_BUILD=	yes
+USE_ASDF=	yes
 
-.if !defined(WITH_SBCL)
-.if exists(${LOCALBASE}/bin/clisp) && \
-    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
-IGNORE=		requires lang/clisp built with CLX_NEW option ON
-.endif
+SUB_FILES=	stumpwm
+PORTEXAMPLES=	sample-stumpwmrc.lisp
+PORTDATA=	*
+PLIST_SUB=	ASDF_PATHNAME="${ASDF_PATHNAME:S,^${PREFIX}/,,}" \
+		ASDF_REGISTRY="${ASDF_REGISTRY:S,^${PREFIX}/,,}"
 .endif
 
-.if defined(WITH_SBCL)
 post-extract:	.SILENT
-	${LN} -sf ${WRKDIR}/clx*/*.asd ${WRKSRC}/cl-ppcre/*.asd ${WRKSRC}
+	${RM} -fr ${WRKSRC}/asdf* ${WRKSRC}/cl-ppcre*
 
 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} -e '/if.*LISP_PROGRAM/,/fi/d' \
+		-e 's|test.*$$PPCRE_PATH/cl-ppcre\.asd.*;|${TRUE};|' \
+		${WRKSRC}/configure
 	${REINPLACE_CMD} 's/\(sb-introspect:function-\)arglist/\1lambda-list/' \
 		${WRKSRC}/manual.lisp
-.endif
 
-post-install:
+.if !defined(ALL_TARGET)
+do-install:
+	${INSTALL_SCRIPT} ${WRKDIR}/stumpwm ${PREFIX}/bin
 	${INSTALL_SCRIPT} ${WRKSRC}/contrib/stumpish ${PREFIX}/bin
+	${INSTALL_DATA} ${WRKSRC}/contrib/stumpwm-mode.el ${PREFIX}/share/emacs/site-lisp
+	${MKDIR} ${ASDF_PATHNAME}
+	${INSTALL_DATA} ${WRKSRC}/*.lisp ${ASDF_PATHNAME}
+	${INSTALL_DATA} ${WRKSRC}/*.asd ${ASDF_PATHNAME}
+	${LN} -sf ${ASDF_PATHNAME}/*.asd ${ASDF_REGISTRY}
 .if !defined(NOPORTEXAMPLES)
 	${MKDIR} ${EXAMPLESDIR}
 	${INSTALL_DATA} ${WRKSRC}/${PORTEXAMPLES} ${EXAMPLESDIR}
 .endif
 .if !defined(NOPORTDATA)
 	${MKDIR} ${DATADIR}
-	${TAR} cf - -C${WRKSRC}/contrib --exclude stumpish\* . \
-		| ${TAR} xovf - -C${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/amixer.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/aumix.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/battery-portable.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/battery.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/cpu.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/disk.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/g15-keysyms.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/maildir.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/mem.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/mpd.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/net.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/notifications.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/productivity.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/sbclfix.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/surfraw.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/wifi.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/window-tags.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/wmii-like-stumpwmrc.lisp ${DATADIR}
 .endif
+.endif # ALL_TARGET
+.endif # FASL_BUILD
 
+.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk"
 .include <bsd.port.mk>
Index: x11-wm/cl-stumpwm/distinfo
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/distinfo,v
retrieving revision 1.6
diff -u -p -r1.6 distinfo
--- x11-wm/cl-stumpwm/distinfo	19 Oct 2010 02:04:20 -0000	1.6
+++ x11-wm/cl-stumpwm/distinfo	19 Oct 2010 11:30:26 -0000
@@ -1,6 +1,3 @@
 MD5 (stumpwm-0.9.7.tgz) = cfdf39945908802f59b70e6c4675d27a
 SHA256 (stumpwm-0.9.7.tgz) = a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78
 SIZE (stumpwm-0.9.7.tgz) = 497663
-MD5 (clx-0.7.4.tgz) = d18b9fcc3a5d085e1a73c59a6ecc9413
-SHA256 (clx-0.7.4.tgz) = 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028
-SIZE (clx-0.7.4.tgz) = 444490
Index: x11-wm/cl-stumpwm/pkg-plist
===================================================================
RCS file: x11-wm/cl-stumpwm/pkg-plist
diff -N x11-wm/cl-stumpwm/pkg-plist
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/pkg-plist	19 Oct 2010 06:57:59 -0000
@@ -0,0 +1,44 @@
+bin/stumpish
+bin/stumpwm
+%%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%%/group.lisp
+%%ASDF_PATHNAME%%/head.lisp
+%%ASDF_PATHNAME%%/help.lisp
+%%ASDF_PATHNAME%%/input.lisp
+%%ASDF_PATHNAME%%/iresize.lisp
+%%ASDF_PATHNAME%%/keysyms.lisp
+%%ASDF_PATHNAME%%/keytrans.lisp
+%%ASDF_PATHNAME%%/kmap.lisp
+%%ASDF_PATHNAME%%/make-image.lisp
+%%ASDF_PATHNAME%%/manual.lisp
+%%ASDF_PATHNAME%%/menu.lisp
+%%ASDF_PATHNAME%%/message-window.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%%/workarounds.lisp
+%%ASDF_PATHNAME%%/wrappers.lisp
+%%ASDF_REGISTRY%%/stumpwm.asd
+share/emacs/site-lisp/stumpwm-mode.el
+@dirrm %%ASDF_PATHNAME%%
Index: x11-wm/cl-stumpwm/files/patch-Makefile.in
===================================================================
RCS file: x11-wm/cl-stumpwm/files/patch-Makefile.in
diff -N x11-wm/cl-stumpwm/files/patch-Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/patch-Makefile.in	19 Oct 2010 05:47:17 -0000
@@ -0,0 +1,13 @@
+--- Makefile.in~
++++ Makefile.in
+@@ -5,8 +5,8 @@ sbcl_BUILDOPTS=--load ./make-image.lisp
+ ccl_BUILDOPTS=--load ./make-image.lisp
+ ecl_BUILDOPTS=-norc -shell ./make-image.lisp
+ 
+-clisp_INFOOPTS=-K full -on-error exit -x "(require 'asdf '(\"asdf.lisp\")) (load \"stumpwm.asd\") (load \"@PPCRE_PATH@/cl-ppcre.asd\") (asdf:operate 'asdf:load-op :stumpwm) (load (compile-file \"manual.lisp\")) (stumpwm::generate-manual) (ext:exit)"
+-sbcl_INFOOPTS=--eval "(progn (require 'asdf) (require 'stumpwm) (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))"
++clisp_INFOOPTS=-K full -on-error exit -i $(LOCALBASE)/etc/asdf-init -x "(asdf:operate 'asdf:load-op :stumpwm) (load (compile-file \"manual.lisp\")) (stumpwm::generate-manual) (ext:exit)"
++sbcl_INFOOPTS=--load $(LOCALBASE)/etc/asdf-init --eval "(progn (require 'stumpwm) (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))"
+ ccl_INFOOPTS=--eval "(progn (require 'asdf) (require 'stumpwm))" --load manual.lisp --eval "(progn (stumpwm::generate-manual) (quit))"
+ ecl_INFOOPTS=-eval "(progn (require 'asdf) (load \"@PPCRE_PATH@/cl-ppcre.asd\") (require 'stumpwm) (load \"manual.lisp\"))" -eval "(progn (stumpwm::generate-manual) (ext:quit))"
+ datarootdir = @datarootdir@
Index: x11-wm/cl-stumpwm/files/patch-contrib-stumpish
===================================================================
RCS file: /a/.cvsup/ports/x11-wm/cl-stumpwm/files/patch-contrib-stumpish,v
retrieving revision 1.1
diff -u -p -r1.1 patch-contrib-stumpish
--- x11-wm/cl-stumpwm/files/patch-contrib-stumpish	15 Sep 2010 11:56:58 -0000	1.1
+++ x11-wm/cl-stumpwm/files/patch-contrib-stumpish	7 Oct 2010 07:54:28 -0000
@@ -49,7 +49,7 @@ index 1d48bb4..2b0fca1 100755
  	if echo "$RESULT" | grep -v -q 'not found.$'
  	then
  	    break
-@@ -49,8 +55,14 @@ wait_result ()
+@@ -49,8 +55,13 @@ wait_result ()
  	return 1
      fi
  
@@ -57,12 +57,11 @@ index 1d48bb4..2b0fca1 100755
 -			s/\^[*[:digit:]]\{2\}//g;s/\^[Bbn]//g;'
 +    echo "$RESULT" |
 +    sed -E 's/[^"\\n]+"//
-+            s/"[[:space:]]*$//
-+            s/([^\\])\\n/\1\
++            /^"[[:space:]]*$/d
++            s/(^|[^\\])\\n/\1\
 +/g
 +            s/\\(["\\n])/\1/g
-+            s/\^([*[:digit:]]+|[Bbn])//g' |
-+    sed '/^[[:space:]]*$/d'
++            s/\^([*[:digit:]]+|[Bbn])//g'
  }
  
  send_cmd ()
Index: x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
===================================================================
RCS file: x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
diff -N x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/patch-contrib-stumpwm-mode.el	21 Oct 2010 06:32:27 -0000
@@ -0,0 +1,14 @@
+delete trailing newline added by echo(1)
+
+diff --git contrib/stumpwm-mode.el~ contrib/stumpwm-mode.el
+index 404f528..c6a3ae4 100644
+--- contrib/stumpwm-mode.el~
++++ contrib/stumpwm-mode.el
+@@ -48,6 +48,7 @@
+                (call-process stumpwm-shell-program nil (current-buffer) nil
+                              "eval"
+                              s)
++               (delete-char -1)
+                (buffer-string)))))
+ 
+ (defun stumpwm-eval-defun ()
Index: x11-wm/cl-stumpwm/files/stumpwm.in
===================================================================
RCS file: x11-wm/cl-stumpwm/files/stumpwm.in
diff -N x11-wm/cl-stumpwm/files/stumpwm.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm/files/stumpwm.in	24 Oct 2010 11:11:58 -0000
@@ -0,0 +1,49 @@
+#! /bin/sh
+# A simple wrapper to run StumpWM.
+#
+#  LISP - path to lisp implementation (sbcl or clisp)
+#  STUMPWM_LOAD - list of asdf modules to preload
+#  STUMPWM_EVAL - main s-exp to evalute
+#
+# $FreeBSD$
+
+have() {
+    command -v $1 >&-
+}
+
+if [ "$LISP" ]; then
+elif have sbcl; then
+    LISP=sbcl
+elif have clisp; then
+    LISP=clisp
+else
+    echo No lisp implementation found.
+    exit 1
+fi
+
+: ${STUMPWM_LOAD="stumpwm"}
+: ${STUMPWM_EVAL="(progn (stumpwm:stumpwm) (quit))"}
+case $LISP in
+    *sbcl*)
+	args="$args --load %%LOCALBASE%%/etc/asdf-init"
+	for m in $STUMPWM_LOAD; do
+	    args="$args --eval \"(require '$m)\""
+	done
+	if [ "$STUMPWM_EVAL" ]; then
+	    args="$args --eval \"$STUMPWM_EVAL\""
+	fi
+	;;
+    *clisp*)
+	args="$args -K full"
+	args="$args -i %%LOCALBASE%%/etc/asdf-init"
+	for m in $STUMPWM_LOAD; do
+	    args="$args -x \"(asdf:operate 'asdf:load-op :$m)\""
+	done
+	if [ "$STUMPWM_EVAL" ]; then
+	    args="$args -x \"$STUMPWM_EVAL\""
+	fi
+	;;
+esac
+eval set -- "$args" '"$@"'
+
+exec $LISP "$@"
Index: x11-wm/cl-stumpwm-clisp/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-clisp/Makefile
diff -N x11-wm/cl-stumpwm-clisp/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-clisp/Makefile	24 Oct 2010 12:51:42 -0000
@@ -0,0 +1,28 @@
+# New ports collection makefile for:	cl-stumpwm-clisp
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+DISTFILES=	# none
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/clispfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-clisp
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/clispfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-clisp
+
+.if !exists(${LOCALBASE}/lib/clisp/full/clx.o)
+IGNORE=		requires lang/clisp built with CLX_NEW option ON
+.endif
+
+USE_ASDF_FASL=	yes
+FASL_BUILD=	yes
+FASL_TARGET=	clisp
+LISP_EXTRA_ARG=	-K full
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PATCHDIR=	${.CURDIR}/files
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/cl-stumpwm-doc/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-doc/Makefile
diff -N x11-wm/cl-stumpwm-doc/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-doc/Makefile	8 Oct 2010 16:31:14 -0000
@@ -0,0 +1,23 @@
+# New ports collection makefile for:	cl-stumpwm-doc
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+PKGNAMESUFFIX=	-doc
+
+COMMENT=	StumpWM info(1) manual
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/sbclfasl/stumpwm.fasl:${PORTSDIR}/x11-wm/cl-stumpwm-sbcl
+
+ALL_TARGET=	stumpwm.info
+INFO=		stumpwm
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PLIST=		${.CURDIR}/pkg-plist
+
+do-install:
+	${INSTALL_DATA} ${WRKSRC}/stumpwm.info ${PREFIX}/info
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/cl-stumpwm-sbcl/Makefile
===================================================================
RCS file: x11-wm/cl-stumpwm-sbcl/Makefile
diff -N x11-wm/cl-stumpwm-sbcl/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11-wm/cl-stumpwm-sbcl/Makefile	19 Oct 2010 04:56:34 -0000
@@ -0,0 +1,25 @@
+# New ports collection makefile for:	cl-stumpwm-sbcl
+# Date created:				7 Oct 2010
+# Whom:					Anonymous
+#
+# $FreeBSD$
+
+PORTREVISION=	0
+DISTFILES=	# none
+
+BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/sbclfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-sbcl \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/sbclfasl/clx.fasl:${PORTSDIR}/x11/cl-clx-sbcl
+RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
+		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/sbclfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-sbcl \
+		${LOCALBASE}/${CL_LIBDIR_REL}/clx/sbclfasl/clx.fasl:${PORTSDIR}/x11/cl-clx-sbcl
+
+USE_ASDF_FASL=	yes
+FASL_BUILD=	yes
+FASL_TARGET=	sbcl
+
+MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
+PATCHDIR=	${.CURDIR}/files
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
Index: x11-wm/stumpwm/Makefile
===================================================================
RCS file: x11-wm/stumpwm/Makefile
diff -N x11-wm/stumpwm/Makefile
--- x11-wm/stumpwm/Makefile	15 Sep 2010 11:56:58 -0000	1.9
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,83 +0,0 @@
-# New ports collection makefile for:	stumpwm
-# Date created:				2008-02-20
-# Whom:					alepulver
-#
-# $FreeBSD: ports/x11-wm/stumpwm/Makefile,v 1.9 2010/09/15 11:56:58 ashish Exp $
-#
-
-PORTNAME=	stumpwm
-PORTVERSION=	0.9.7
-PORTREVISION=	1
-CATEGORIES=	x11-wm lisp
-MASTER_SITES=	SAVANNAH
-DISTFILES=	${DISTNAME}.tgz
-
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	A tiling, keyboard driven Window Manager written in Common Lisp
-
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
-MAKE_JOBS_UNSAFE=yes
-
-LICENSE=	GPLv2
-LICENSE_FILE=	${WRKSRC}/COPYING
-
-PLIST_FILES=	bin/stumpish \
-		bin/${PORTNAME}
-INFO=		${PORTNAME}
-PORTEXAMPLES=	sample-stumpwmrc.lisp
-PORTDATA=	*
-
-OPTIONS=	SBCL "Build with lang/sbcl (otherwise with lang/clisp)" on
-
-.include <bsd.port.options.mk>
-
-.if defined(WITH_SBCL) || make(makesum) || defined(FETCH_ALL)
-MASTER_SITES+=	http://common-lisp.net/~abridgewater/dist/clx/:clx
-DISTFILES+=	clx-0.7.4.tgz:clx
-.endif
-
-.if defined(WITH_SBCL)
-CONFIGURE_ARGS+=	--with-lisp=sbcl
-BUILD_DEPENDS+=	sbcl:${PORTSDIR}/lang/sbcl
-.else
-CONFIGURE_ARGS+=	--with-lisp=clisp
-BUILD_DEPENDS+=	clisp:${PORTSDIR}/lang/clisp
-.endif
-
-.if !defined(WITH_SBCL)
-.if exists(${LOCALBASE}/bin/clisp) && \
-    !exists(${LOCALBASE}/lib/clisp/full/clx.o)
-IGNORE=		requires lang/clisp built with CLX_NEW option ON
-.endif
-.endif
-
-.if defined(WITH_SBCL)
-post-extract:	.SILENT
-	${LN} -sf ${WRKDIR}/clx*/*.asd ${WRKSRC}/cl-ppcre/*.asd ${WRKSRC}
-
-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 !defined(NOPORTEXAMPLES)
-	${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 <bsd.port.mk>
Index: x11-wm/stumpwm/distinfo
===================================================================
RCS file: x11-wm/stumpwm/distinfo
diff -N x11-wm/stumpwm/distinfo
--- x11-wm/stumpwm/distinfo	5 Jun 2010 11:04:14 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,6 +0,0 @@
-MD5 (stumpwm-0.9.7.tgz) = cfdf39945908802f59b70e6c4675d27a
-SHA256 (stumpwm-0.9.7.tgz) = a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78
-SIZE (stumpwm-0.9.7.tgz) = 497663
-MD5 (clx-0.7.4.tgz) = d18b9fcc3a5d085e1a73c59a6ecc9413
-SHA256 (clx-0.7.4.tgz) = 4a80f80255ace26eb8df214957dda3d7b7e51955537405ec893a34b18e569028
-SIZE (clx-0.7.4.tgz) = 444490
Index: x11-wm/stumpwm/pkg-descr
===================================================================
RCS file: x11-wm/stumpwm/pkg-descr
diff -N x11-wm/stumpwm/pkg-descr
--- x11-wm/stumpwm/pkg-descr	11 Mar 2008 22:54:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-Stumpwm is a tiling, keyboard driven X11 Window Manager written entirely in0
-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
-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/
Index: x11-wm/stumpwm/files/patch-contrib-stumpish
===================================================================
RCS file: x11-wm/stumpwm/files/patch-contrib-stumpish
diff -N x11-wm/stumpwm/files/patch-contrib-stumpish
--- x11-wm/stumpwm/files/patch-contrib-stumpish	15 Sep 2010 11:56:58 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,178 +0,0 @@
- - use `echo' wrapper and work around \0XXX vs. \XXX in dash
- - use tput(1) wrapper and try termcap(5) capabilities first
- - remove GNUisms from sed(1) lines without breaking GNU sed usage
- - try to guess whether sleep(1) supports fractions
- - prevent word splitting when reading command list
- - remove command list not only when exiting but on SIGINT and SIGTERM, too
- - don't use backquotes, they have side effect of removing one layer of quoting
- - prevent glob expansion when stripping output
- - no need for persistence across reboots, use /tmp and TMPDIR from environ(7)
- - remove workaround for `read -p', it's supported by every ash descendant
- - correct example line in usage
-
----
- contrib/stumpish |   93 ++++++++++++++++++++++++++++++++++++-----------------
- 1 files changed, 63 insertions(+), 30 deletions(-)
-
-diff --git contrib/stumpish~ contrib/stumpish
-index 1d48bb4..2b0fca1 100755
---- contrib/stumpish~
-+++ contrib/stumpish
-@@ -21,19 +21,25 @@
- 
- ### STUMPwm Interactive SHell.
- 
--if sleep --version 2>/dev/null | grep -q GNU
-+DELAY=0.01
-+
-+if ! sleep $DELAY 2>/dev/null >&2
- then
--    DELAY=0.1
--else
-     DELAY=1
- fi
- 
-+# parse C-style backslash sequences by default
-+if [ "$(echo -e foo)" = foo ]; then
-+    echo() { builtin echo -e "$@"; }
-+fi
-+
- wait_result ()
- {
-     while true
-     do
--	RESULT=`xprop -root -f STUMPWM_COMMAND_RESULT 8s STUMPWM_COMMAND_RESULT 2>/dev/null`
--
-+	RESULT=$(xprop -root -f STUMPWM_COMMAND_RESULT 8s \
-+	    STUMPWM_COMMAND_RESULT 2>/dev/null |
-+	    sed -E 's/\\([[:digit:]]+)/\\0\1/g')
- 	if echo "$RESULT" | grep -v -q 'not found.$'
- 	then
- 	    break
-@@ -49,8 +55,14 @@ wait_result ()
- 	return 1
-     fi
- 
--    echo $RESULT | sed 's/[^"]*"//;s/"$//;s/\\n/\n/g;s/\\"/"/g;s/\n\+$//;
--			s/\^[*[:digit:]]\{2\}//g;s/\^[Bbn]//g;'
-+    echo "$RESULT" |
-+    sed -E 's/[^"\\n]+"//
-+            s/"[[:space:]]*$//
-+            s/([^\\])\\n/\1\
-+/g
-+            s/\\(["\\n])/\1/g
-+            s/\^([*[:digit:]]+|[Bbn])//g' |
-+    sed '/^[[:space:]]*$/d'
- }
- 
- send_cmd ()
-@@ -73,7 +85,7 @@ send_cmd ()
- usage ()
- {
-     cat <<EOF
--Usage: "$0" [[-e] command [args...]]
-+Usage: ${0##*/} [[-e|-r] command [args...]]
- 
- StumpIsh is the StumpWM shell. Use it to interact a running StumpWM
- instance.  When run from a terminal with no arguments, stumpish
-@@ -87,11 +99,31 @@ the first is considered the name of the command to execute and the
- remainder is concatenated to form the argument.
- 
- Example:
--	echo '(group-windows (current-group))' | "$0" eval
-+	echo '(group-windows (current-group))' | ${0##*/} -e eval
- EOF
-     exit 0;
- }
- 
-+warn ()
-+{
-+  {
-+    tput md bold
-+    tput AF setaf 1
-+    echo 'WARN:\c'
-+    tput me sgr0
-+    echo " $*"
-+  } >&2
-+}
-+
-+tput ()
-+{
-+    local cap1=$1 cap2=$2
-+    shift 2
-+
-+    command tput $cap1 $@ 2>/dev/null ||
-+    command tput $cap2 $@ 2>/dev/null
-+}
-+
- READLINE=yes
- 
- if [ "x$1" = "x-r" ]
-@@ -112,7 +144,7 @@ then
- 	fi
- 	shift 1
- 	IFS=''
--	ARGS=`cat /dev/stdin`
-+	ARGS=$(cat /dev/stdin)
- 	send_cmd "$1 $ARGS"
-     else
- 	IFS=' '
-@@ -121,37 +153,36 @@ then
- else
-     if [ -t 0 ]
-     then
--	if [ $READLINE = yes ] && type rlwrap >/dev/null 2>&1
-+	if ! type rlwrap 2>/dev/null >&2
- 	then
--	    # Note: $TEMP is not conventional; it is left here purely
--	    # for backwards compatibility.
--	    COMMANDS="${TEMP:-${TEMPDIR:-/var/tmp}}/stumpish.commands.$$"
--	    echo `send_cmd "commands"` | sed 's/[[:space:]]\+/\n/g' | sort > "$COMMANDS"
--	    rlwrap -f "$COMMANDS" "$0" -r
--	    rm -f "$COMMANDS"
-+	    warn rlwrap not found, command completion won\'t work
-+	elif [ $READLINE = yes ]
-+	then
-+	    COMMANDS="${TMPDIR:-/tmp}/stumpish.commands.$$"
-+	    echo $(send_cmd "commands") |
-+	    sed -E 's/[[:space:]]+/\
-+/g' |
-+	    sort > "$COMMANDS"
-+	    trap 'rm -f "$COMMANDS"' exit int term
-+	    rlwrap -b '' -f "$COMMANDS" "$0" -r
- 	    exit
- 	fi
- 
--	tput setaf 5
-+	tput AF setaf 5
-         echo Welcome to the STUMPwm Interactive SHell.
--        tput sgr0
--        echo -n 'Type '
--        tput setaf 2
--        echo -n commands
--        tput sgr0
-+        tput me sgr0
-+        echo 'Type \c'
-+        tput AF setaf 2
-+        echo 'commands\c'
-+        tput me sgr0
-         echo \ for a list of commands.
- 
--        IFS='
--'
--	echo -n "> "
--	while read REPLY
-+	while read -p '> ' REPLY
- 	do
--	    tput bold
--	    tput setaf 2
-+	    tput md bold
-+	    tput AF setaf 2
- 	    send_cmd "$REPLY"
--	    tput sgr0
--
--	    echo -n "> "
-+	    tput me sgr0
- 	done
-     else
- 	while read REPLY
--- a.diff ends here ---
Comment 18 swell.k 2010-12-18 03:29:39 UTC
Latest update to lang/clisp that enables dynamic modules breaks stumpwm
fasl port because `full' linking-set is no longer built. On my box
preloading clx from stumpwm.asd makes build segfault, i.e.

  #+clisp (ignore-errors (require "clx"))

breaks build

  ;; Compiling file /usr/local/lib/common-lisp/stumpwm/workarounds.lisp ...
  WARNING: INTERN("FIRST-ZERO"): #<PACKAGE XLIB> is locked
           Ignore the lock and proceed*** Signal 11

So, here is a workaround.

Note, IGNORE can probably be removed in the future when lang/clisp
starts to build more modules by default.

--- b.diff begins here ---
diff --git x11-wm/cl-stumpwm/files/stumpwm.in x11-wm/cl-stumpwm/files/stumpwm.in
index 169f20a..12bdd08 100644
--- x11-wm/cl-stumpwm/files/stumpwm.in
+++ x11-wm/cl-stumpwm/files/stumpwm.in
@@ -34,7 +34,7 @@ case $LISP in
 	fi
 	;;
     *clisp*)
-	args="$args -K full"
+	args="$args -x \"(require \\\"clx\\\")\""
 	args="$args -i %%LOCALBASE%%/etc/asdf-init"
 	for m in $STUMPWM_LOAD; do
 	    args="$args -x \"(asdf:operate 'asdf:load-op :$m)\""
diff --git x11-wm/cl-stumpwm-clisp/Makefile x11-wm/cl-stumpwm-clisp/Makefile
index b361211..e50e25c 100644
--- x11-wm/cl-stumpwm-clisp/Makefile
+++ x11-wm/cl-stumpwm-clisp/Makefile
@@ -12,14 +12,14 @@ BUILD_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11
 RUN_DEPENDS=	${LOCALBASE}/${CL_LIBDIR_REL}/stumpwm/stumpwm.asd:${PORTSDIR}/x11-wm/cl-stumpwm \
 		${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/clispfasl/scanner.fasl:${PORTSDIR}/textproc/cl-ppcre-clisp
 
-.if !exists(${LOCALBASE}/lib/clisp/full/clx.o)
+.if !exists(${LOCALBASE}/lib/clisp/dynmod/clx.lisp)
 IGNORE=		requires lang/clisp built with CLX_NEW option ON
 .endif
 
 USE_ASDF_FASL=	yes
 FASL_BUILD=	yes
 FASL_TARGET=	clisp
-LISP_EXTRA_ARG=	-K full
+LISP_EXTRA_ARG=	-x '(require "clx")'
 
 MASTERDIR=	${.CURDIR}/../../x11-wm/cl-stumpwm
 PATCHDIR=	${.CURDIR}/files
--- b.diff ends here ---
Comment 19 swell.k 2010-12-31 20:15:03 UTC
Use "dual" license type to not forget that it's under GPLv2+, not plain GPLv2.

--- c.diff begins here ---
diff --git x11-wm/cl-stumpwm/Makefile x11-wm/cl-stumpwm/Makefile
index 6b818a7..5bfcf5e 100644
--- x11-wm/cl-stumpwm/Makefile
+++ x11-wm/cl-stumpwm/Makefile
@@ -16,10 +16,11 @@ EXTRACT_SUFX=	.tgz
 MAINTAINER=	swell.k@gmail.com
 COMMENT?=	A tiling, keyboard driven Window Manager written in Common Lisp
 
-LICENSE=	GPLv2
+LICENSE=	GPLv2 GPLv3
+LICENSE_COMB=	dual
 
 .if !defined(FASL_BUILD)
-LICENSE_FILE=	${WRKSRC}/COPYING
+LICENSE_FILE_GPLv2=${WRKSRC}/COPYING
 
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
--- c.diff begins here ---
Comment 20 Philip M. Gollucci freebsd_committer freebsd_triage 2011-06-23 19:43:56 UTC
Responsible Changed
From-To: pgollucci->freebsd-ports-bugs

E-NO-TIME right now, back to pool
Comment 21 Eitan Adler freebsd_committer freebsd_triage 2011-10-18 22:57:40 UTC
Responsible Changed
From-To: freebsd-ports-bugs->eadler

I'll take it.
Comment 22 Eitan Adler freebsd_committer freebsd_triage 2011-10-18 22:57:56 UTC
State Changed
From-To: open->repocopy

submitter requested repocopy 


Comment 23 Eitan Adler freebsd_committer freebsd_triage 2011-10-18 22:57:56 UTC
Responsible Changed
From-To: eadler->portmgr

submitter requested repocopy
Comment 24 Nali Toja 2011-10-19 14:46:01 UTC
I wonder what's the point of doing another repocopy if one was already
completed and there was even an unrelated commit to

  x11-wm/cl-stumpwm/Makefile@r1.11

> Responsible-Changed-From-To: portmgr->pgollucci
> Responsible-Changed-By: marcus
> Responsible-Changed-When: Mon Oct 11 04:19:53 UTC 2010
> Responsible-Changed-Why:
> Repocopy complete.

I also have a few notes. To be forward compatible with "master" branch
some changes are needed

  always install all contrib modules[1]
  set contrib-dir during runtime, not buildtime[2]

And when next release happens (and only then) some files should be removed

  files/patch-contrib-stumpish[3]
  files/patch-contrib-stumpwm-mode.el[4]

[1] app-menu, passwd, undocumented, window-tags were added to "master", cf. http://git.savannah.gnu.org/cgit/stumpwm.git/log/contrib
[2] http://git.savannah.gnu.org/cgit/stumpwm.git/commit/?id=14571fc
[3] http://git.savannah.gnu.org/cgit/stumpwm.git/commit/?id=87864de
[4] http://git.savannah.gnu.org/cgit/stumpwm.git/commit/?id=513ecb0

--- use-glob.diff begins here ---
--- x11-wm/cl-stumpwm/Makefile
+++ x11-wm/cl-stumpwm/Makefile
@@ -65,24 +65,7 @@ do-install:
 .endif
 .if !defined(NOPORTDATA)
 	${MKDIR} ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/amixer.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/aumix.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/battery-portable.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/battery.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/cpu.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/disk.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/g15-keysyms.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/maildir.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/mem.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/mpd.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/net.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/notifications.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/productivity.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/sbclfix.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/surfraw.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/wifi.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/window-tags.lisp ${DATADIR}
-	${INSTALL_DATA} ${WRKSRC}/contrib/wmii-like-stumpwmrc.lisp ${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/contrib/*.lisp ${DATADIR}
 .endif
 .endif # ALL_TARGET
 .endif # FASL_BUILD
--- use-glob.diff ends here ---

--- contrib-dir.diff begins here ---
--- x11-wm/cl-stumpwm/Makefile
+++ x11-wm/cl-stumpwm/Makefile
@@ -23,7 +23,6 @@ LICENSE_COMB=	dual
 LICENSE_FILE_GPLv2=${WRKSRC}/COPYING
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-contrib-dir=${DATADIR}
 
 DATADIR=	${PREFIX}/share/${UNIQUENAME}
 
--- x11-wm/cl-stumpwm/files/stumpwm.in
+++ x11-wm/cl-stumpwm/files/stumpwm.in
@@ -22,7 +22,10 @@ else
 fi
 
 : ${STUMPWM_LOAD="stumpwm"}
-: ${STUMPWM_EVAL="(progn (stumpwm:stumpwm) (quit))"}
+: ${STUMPWM_EVAL="(progn
+		    (stumpwm:set-contrib-dir \\\"%%DATADIR%%\\\")
+		    (stumpwm:stumpwm)
+		    (quit))"}
 case $LISP in
     *sbcl*)
 	args="$args --load %%LOCALBASE%%/etc/asdf-init"
--- contrib-dir.diff begins here ---
Comment 25 Eitan Adler freebsd_committer freebsd_triage 2011-10-19 19:17:30 UTC
State Changed
From-To: repocopy->open

sorry, I missed portmgr in the audit trail 


Comment 26 Eitan Adler freebsd_committer freebsd_triage 2011-10-19 19:17:30 UTC
Responsible Changed
From-To: portmgr->eadler

sorry, I missed portmgr in the audit trail
Comment 27 Eitan Adler freebsd_committer freebsd_triage 2011-11-02 22:01:27 UTC
Responsible Changed
From-To: eadler->freebsd-ports-bugs

ENOTIME
Comment 28 Michael Scheidell freebsd_committer freebsd_triage 2011-12-09 13:27:34 UTC
State Changed
From-To: open->closed

Too many copies of copies of patches of patched fixed patches. 
Too much time has passed. 
If there is still a need, open a new pr with a clean patch that will apply cleanly against current cvs. 
Suggest you wait till after 9.x freeze