summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/dgd/Makefile39
-rw-r--r--net/dgd/files/dgd.sh27
-rw-r--r--net/dgd/files/patch-mud.dgd17
-rw-r--r--net/dgd/pkg-deinstall15
-rw-r--r--net/dgd/pkg-install56
-rw-r--r--net/dgd/pkg-plist310
6 files changed, 331 insertions, 133 deletions
diff --git a/net/dgd/Makefile b/net/dgd/Makefile
index 9d0779d9c8c7..1061e84ec745 100644
--- a/net/dgd/Makefile
+++ b/net/dgd/Makefile
@@ -7,7 +7,8 @@
PORTNAME= dgd
PORTVERSION= 1.2p3
-CATEGORIES= net lang
+PORTREVISION= 1
+CATEGORIES= net lang games
MASTER_SITES= ${MASTER_SITE_LOCAL:S|%SUBDIR%|glewis/dgd|} \
ftp://ftp.dworkin.nl/pub/dgd/ \
ftp://ftp.imaginary.com/pub/LPC/servers/DGD/
@@ -21,9 +22,41 @@ RESTRICTED= "license required for commercial use"
DIST_SUBDIR= dgd
WRKSRC= ${WRKDIR}/dgd/src
ALL_TARGET= install
+USE_REINPLACE= yes
+
+CPIO?= /usr/bin/cpio
+
+do-configure:
+ ${REINPLACE_CMD} -e "s:%%DATADIR%%:${DATADIR}:" ${WRKDIR}/dgd/mud.dgd
do-install:
- @${TAR} -C ${WRKDIR} -cf - `${GREP} '^dgd/' ${PLIST}` \
- | ${TAR} -C ${PREFIX} -xpf -
+ ${INSTALL_PROGRAM} ${WRKDIR}/dgd/bin/driver ${PREFIX}/sbin/dgd
+ ${INSTALL_PROGRAM} ${WRKDIR}/dgd/bin/precomp ${PREFIX}/bin/precomp
+ ${MKDIR} ${PREFIX}/etc/${PORTNAME}
+ ${INSTALL_DATA} ${WRKDIR}/dgd/mud.dgd \
+ ${PREFIX}/etc/${PORTNAME}/kernel.dgd
+ ${MKDIR} ${DATADIR}/kernel
+ cd ${WRKDIR}/dgd/mud && ${FIND} . \
+ | ${CPIO} -pdmu -R ${SHAREOWN}:${SHAREGRP} ${DATADIR}/kernel
+ # Install an RC script for DGD
+ ${CAT} ${FILESDIR}/dgd.sh | ${SED} -e "s:%%PREFIX%%:${PREFIX}:" \
+ -e "s:%%DATADIR%%:${DATADIR}:" > \
+ ${PREFIX}/etc/rc.d/dgd.sh.sample
+ ${CHMOD} a+x ${PREFIX}/etc/rc.d/dgd.sh.sample
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKDIR}/dgd/Copyright ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKDIR}/dgd/Credits ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKDIR}/dgd/README ${DOCSDIR}
+ cd ${WRKDIR}/dgd/doc && ${FIND} . \
+ | ${CPIO} -pdmu -R ${SHAREOWN}:${SHAREGRP} ${DOCSDIR}
+.endif
+
+post-install:
+ # Need a temporary directory for certain files
+ ${MKDIR} ${DATADIR}/tmp
+ # Run package install script
+ ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGDIR}/pkg-install ${PKGNAME} \
+ POST-INSTALL
.include <bsd.port.mk>
diff --git a/net/dgd/files/dgd.sh b/net/dgd/files/dgd.sh
new file mode 100644
index 000000000000..832bd9a4f03b
--- /dev/null
+++ b/net/dgd/files/dgd.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+# $FreeBSD$
+
+DGD_CONF=%%PREFIX%%/etc/dgd/kernel.dgd
+DGD_USER=mud
+DGD=%%PREFIX%%/sbin/dgd
+DGD_LOG=%%DATADIR%%/kernel.log
+DGD_PID=/var/run/dgd.pid
+
+case "$1" in
+ start)
+ if [ -x "${DGD}" ]; then
+ su ${DGD_USER} -c "${DGD} ${DGD_CONF}" >> "${DGD_LOG}" 2>&1 &
+ echo $(($!+1)) > "${DGD_PID}"
+ echo -n ' dgd'
+ fi
+ ;;
+ stop)
+ kill -TERM `cat "${DGD_PID}"` && rm -f "${DGD_PID}"
+ ;;
+ *)
+ echo ""
+ echo "Usage: `basename $0` { start | stop }"
+ echo ""
+ exit 64
+ ;;
+esac
diff --git a/net/dgd/files/patch-mud.dgd b/net/dgd/files/patch-mud.dgd
new file mode 100644
index 000000000000..e2a32db40124
--- /dev/null
+++ b/net/dgd/files/patch-mud.dgd
@@ -0,0 +1,17 @@
+$FreeBSD$
+
+--- ../mud.dgd.orig Thu Mar 4 13:54:52 1999
++++ ../mud.dgd Thu Aug 28 14:54:26 2003
+@@ -1,10 +1,10 @@
+ telnet_port = 6047; /* telnet port number */
+ binary_port = 6048; /* binary port number */
+-directory = "/home/dworkin/dgd/mud";/* base directory (MUST be absolute) */
++directory = "%%DATADIR%%/kernel"; /* base directory (MUST be absolute) */
+ users = 40; /* max # of users */
+ editors = 40; /* max # of editor sessions */
+ ed_tmpfile = "../tmp/ed"; /* proto editor tmpfile */
+-swap_file = "../tmp/swap"; /* swap file */
++swap_file = "../tmp/dgd.swap"; /* swap file */
+ swap_size = 1024; /* # sectors in swap file */
+ cache_size = 50; /* # sectors in swap cache */
+ sector_size = 512; /* swap sector size */
diff --git a/net/dgd/pkg-deinstall b/net/dgd/pkg-deinstall
new file mode 100644
index 000000000000..db9dbdbdfe72
--- /dev/null
+++ b/net/dgd/pkg-deinstall
@@ -0,0 +1,15 @@
+#!/bin/sh
+# $FreeBSD$
+#
+
+if [ "$2" != "POST-DEINSTALL" ]; then
+ exit 0
+fi
+
+USER=mud
+
+if pw usershow "${USER}" 2>/dev/null 1>&2; then
+ echo "To delete MUD user permanently, use 'pw userdel \"${USER}\"'"
+fi
+
+exit 0
diff --git a/net/dgd/pkg-install b/net/dgd/pkg-install
new file mode 100644
index 000000000000..c1e077705696
--- /dev/null
+++ b/net/dgd/pkg-install
@@ -0,0 +1,56 @@
+#!/bin/sh
+# $FreeBSD$
+
+if [ "$2" = "PRE-INSTALL" ]; then
+ exit 0
+fi
+
+PATH=/bin:/sbin:/usr/bin:/usr/sbin
+
+USER=mud
+GROUP=${USER}
+UID=91
+GID=${UID}
+
+if [ -z "${DATADIR}" ]; then
+ DATADIR=${PKG_PREFIX}/share/dgd
+fi
+
+if [ ! -d "${DATADIR}" ]; then
+ echo -n "Attempting to create ${DATADIR} ..."
+ mkdir -p "${DATADIR}"
+ echo "done"
+fi
+
+if pw groupshow "${GROUP}" 2>/dev/null; then
+ echo "Using existing group \"${GROUP}\"."
+else
+ if pw groupadd "${GROUP}" -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+fi
+
+if pw usershow "${USER}" 2>/dev/null; then
+ echo "Using existing user \"${USER}\"."
+ if pw usermod "${USER}" -d "${DATADIR}"
+ then
+ echo "Changed home directory of \"${USER}\" to \"${DATADIR}\""
+ else
+ echo "Changing home directory of \"${USER}\" to \"${DATADIR}\" failed..."
+ exit 1
+ fi
+else
+ if pw useradd "${USER}" -u ${UID} -g "${GROUP}" -h - \
+ -s "/bin/sh" -d "${DATADIR}" -c "MUD Owner"
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+fi
+
+chown -R "${USER}:${GROUP}" "${DATADIR}"
diff --git a/net/dgd/pkg-plist b/net/dgd/pkg-plist
index 110df8082bf8..4abd1e567e73 100644
--- a/net/dgd/pkg-plist
+++ b/net/dgd/pkg-plist
@@ -1,130 +1,180 @@
-dgd/Copyright
-dgd/Credits
-dgd/README
-dgd/bin/driver
-dgd/bin/precomp
-dgd/doc/Commercial
-dgd/doc/Introduction
-dgd/doc/LPC.html
-dgd/doc/Platforms
-dgd/doc/editor
-dgd/doc/kfun/allocate
-dgd/doc/kfun/call_other
-dgd/doc/kfun/call_out
-dgd/doc/kfun/call_trace
-dgd/doc/kfun/ceil
-dgd/doc/kfun/clone_object
-dgd/doc/kfun/compile_object
-dgd/doc/kfun/crypt
-dgd/doc/kfun/ctime
-dgd/doc/kfun/destruct_object
-dgd/doc/kfun/dump_state
-dgd/doc/kfun/editor
-dgd/doc/kfun/error
-dgd/doc/kfun/explode
-dgd/doc/kfun/fabs
-dgd/doc/kfun/find_object
-dgd/doc/kfun/floor
-dgd/doc/kfun/fmod
-dgd/doc/kfun/frexp
-dgd/doc/kfun/function_object
-dgd/doc/kfun/get_dir
-dgd/doc/kfun/implode
-dgd/doc/kfun/ldexp
-dgd/doc/kfun/make_dir
-dgd/doc/kfun/map_indices
-dgd/doc/kfun/map_sizeof
-dgd/doc/kfun/map_values
-dgd/doc/kfun/modf
-dgd/doc/kfun/object_name
-dgd/doc/kfun/parse_string
-dgd/doc/kfun/previous_object
-dgd/doc/kfun/previous_program
-dgd/doc/kfun/query_editor
-dgd/doc/kfun/query_ip_number
-dgd/doc/kfun/random
-dgd/doc/kfun/read_file
-dgd/doc/kfun/remove_call_out
-dgd/doc/kfun/remove_dir
-dgd/doc/kfun/remove_file
-dgd/doc/kfun/rename_file
-dgd/doc/kfun/restore_object
-dgd/doc/kfun/save_object
-dgd/doc/kfun/send_message
-dgd/doc/kfun/shutdown
-dgd/doc/kfun/sizeof
-dgd/doc/kfun/sscanf
-dgd/doc/kfun/status
-dgd/doc/kfun/strlen
-dgd/doc/kfun/swapout
-dgd/doc/kfun/this_object
-dgd/doc/kfun/this_user
-dgd/doc/kfun/time
-dgd/doc/kfun/typeof
-dgd/doc/kfun/users
-dgd/doc/kfun/write_file
-dgd/mud/doc/kernel/efun/add_event
-dgd/mud/doc/kernel/efun/call_other
-dgd/mud/doc/kernel/efun/call_trace
-dgd/mud/doc/kernel/efun/clone_object
-dgd/mud/doc/kernel/efun/compile_object
-dgd/mud/doc/kernel/efun/destruct_object
-dgd/mud/doc/kernel/efun/event
-dgd/mud/doc/kernel/efun/find_object
-dgd/mud/doc/kernel/efun/get_dir
-dgd/mud/doc/kernel/efun/query_events
-dgd/mud/doc/kernel/efun/remove_event
-dgd/mud/doc/kernel/efun/status
-dgd/mud/doc/kernel/efun/subscribe_event
-dgd/mud/doc/kernel/efun/unsubscribe_event
-dgd/mud/doc/kernel/hook/driver
-dgd/mud/doc/kernel/hook/rsrcd
-dgd/mud/doc/kernel/hook/userd
-dgd/mud/doc/kernel/lfun/allow_subscribe
-dgd/mud/doc/kernel/lfun/create
-dgd/mud/doc/kernel/lfun/query_owner
-dgd/mud/doc/kernel/overview
-dgd/mud/include/config.h
-dgd/mud/include/kernel/access.h
-dgd/mud/include/kernel/kernel.h
-dgd/mud/include/kernel/net.h
-dgd/mud/include/kernel/objreg.h
-dgd/mud/include/kernel/rsrc.h
-dgd/mud/include/kernel/user.h
-dgd/mud/include/std.h
-dgd/mud/kernel/lib/api/access.c
-dgd/mud/kernel/lib/api/objreg.c
-dgd/mud/kernel/lib/api/rsrc.c
-dgd/mud/kernel/lib/api/user.c
-dgd/mud/kernel/lib/auto.c
-dgd/mud/kernel/lib/connection.c
-dgd/mud/kernel/lib/user.c
-dgd/mud/kernel/lib/wiztool.c
-dgd/mud/kernel/obj/binary.c
-dgd/mud/kernel/obj/port.c
-dgd/mud/kernel/obj/rsrc.c
-dgd/mud/kernel/obj/telnet.c
-dgd/mud/kernel/obj/user.c
-dgd/mud/kernel/obj/wiztool.c
-dgd/mud/kernel/sys/accessd.c
-dgd/mud/kernel/sys/driver.c
-dgd/mud/kernel/sys/objregd.c
-dgd/mud/kernel/sys/rsrcd.c
-dgd/mud/kernel/sys/userd.c
-@dirrm dgd/bin
-@dirrm dgd/doc/kfun
-@dirrm dgd/doc
-@dirrm dgd/mud/doc/kernel/efun
-@dirrm dgd/mud/doc/kernel/hook
-@dirrm dgd/mud/doc/kernel/lfun
-@dirrm dgd/mud/doc/kernel
-@dirrm dgd/mud/doc
-@dirrm dgd/mud/include/kernel
-@dirrm dgd/mud/include
-@dirrm dgd/mud/kernel/lib/api
-@dirrm dgd/mud/kernel/lib
-@dirrm dgd/mud/kernel/obj
-@dirrm dgd/mud/kernel/sys
-@dirrm dgd/mud/kernel
-@dirrm dgd/mud
-@dirrm dgd
+bin/precomp
+etc/dgd/kernel.dgd
+etc/rc.d/dgd.sh.sample
+sbin/dgd
+%%DATADIR%%/kernel/doc/kernel/efun/add_event
+%%DATADIR%%/kernel/doc/kernel/efun/call_limited
+%%DATADIR%%/kernel/doc/kernel/efun/call_other
+%%DATADIR%%/kernel/doc/kernel/efun/call_trace
+%%DATADIR%%/kernel/doc/kernel/efun/clone_object
+%%DATADIR%%/kernel/doc/kernel/efun/compile_object
+%%DATADIR%%/kernel/doc/kernel/efun/destruct_object
+%%DATADIR%%/kernel/doc/kernel/efun/event
+%%DATADIR%%/kernel/doc/kernel/efun/event_except
+%%DATADIR%%/kernel/doc/kernel/efun/file_info
+%%DATADIR%%/kernel/doc/kernel/efun/find_object
+%%DATADIR%%/kernel/doc/kernel/efun/get_dir
+%%DATADIR%%/kernel/doc/kernel/efun/query_events
+%%DATADIR%%/kernel/doc/kernel/efun/query_subscribed_event
+%%DATADIR%%/kernel/doc/kernel/efun/remove_event
+%%DATADIR%%/kernel/doc/kernel/efun/status
+%%DATADIR%%/kernel/doc/kernel/efun/subscribe_event
+%%DATADIR%%/kernel/doc/kernel/efun/unsubscribe_event
+%%DATADIR%%/kernel/doc/kernel/hook/driver
+%%DATADIR%%/kernel/doc/kernel/hook/rsrcd
+%%DATADIR%%/kernel/doc/kernel/hook/userd
+%%DATADIR%%/kernel/doc/kernel/lfun/allow_subscribe
+%%DATADIR%%/kernel/doc/kernel/lfun/create
+%%DATADIR%%/kernel/doc/kernel/lfun/query_owner
+%%DATADIR%%/kernel/doc/kernel/overview
+%%DATADIR%%/kernel/include/config.h
+%%DATADIR%%/kernel/include/kernel/access.h
+%%DATADIR%%/kernel/include/kernel/kernel.h
+%%DATADIR%%/kernel/include/kernel/net.h
+%%DATADIR%%/kernel/include/kernel/objreg.h
+%%DATADIR%%/kernel/include/kernel/rsrc.h
+%%DATADIR%%/kernel/include/kernel/tls.h
+%%DATADIR%%/kernel/include/kernel/user.h
+%%DATADIR%%/kernel/include/kernel/version.h
+%%DATADIR%%/kernel/include/std.h
+%%DATADIR%%/kernel/kernel/lib/api/access.c
+%%DATADIR%%/kernel/kernel/lib/api/objreg.c
+%%DATADIR%%/kernel/kernel/lib/api/rsrc.c
+%%DATADIR%%/kernel/kernel/lib/api/tls.c
+%%DATADIR%%/kernel/kernel/lib/api/user.c
+%%DATADIR%%/kernel/kernel/lib/auto.c
+%%DATADIR%%/kernel/kernel/lib/connection.c
+%%DATADIR%%/kernel/kernel/lib/port.c
+%%DATADIR%%/kernel/kernel/lib/user.c
+%%DATADIR%%/kernel/kernel/lib/wiztool.c
+%%DATADIR%%/kernel/kernel/obj/binary.c
+%%DATADIR%%/kernel/kernel/obj/port.c
+%%DATADIR%%/kernel/kernel/obj/rsrc.c
+%%DATADIR%%/kernel/kernel/obj/telnet.c
+%%DATADIR%%/kernel/kernel/obj/udp.c
+%%DATADIR%%/kernel/kernel/obj/user.c
+%%DATADIR%%/kernel/kernel/obj/wiztool.c
+%%DATADIR%%/kernel/kernel/sys/accessd.c
+%%DATADIR%%/kernel/kernel/sys/driver.c
+%%DATADIR%%/kernel/kernel/sys/objregd.c
+%%DATADIR%%/kernel/kernel/sys/rsrcd.c
+%%DATADIR%%/kernel/kernel/sys/userd.c
+%%PORTDOCS%%%%DOCSDIR%%/Commercial
+%%PORTDOCS%%%%DOCSDIR%%/Copyright
+%%PORTDOCS%%%%DOCSDIR%%/Credits
+%%PORTDOCS%%%%DOCSDIR%%/Extensions
+%%PORTDOCS%%%%DOCSDIR%%/Introduction
+%%PORTDOCS%%%%DOCSDIR%%/LPC.html
+%%PORTDOCS%%%%DOCSDIR%%/Platforms
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/editor
+%%PORTDOCS%%%%DOCSDIR%%/kfun/acos
+%%PORTDOCS%%%%DOCSDIR%%/kfun/allocate
+%%PORTDOCS%%%%DOCSDIR%%/kfun/allocate_float
+%%PORTDOCS%%%%DOCSDIR%%/kfun/allocate_int
+%%PORTDOCS%%%%DOCSDIR%%/kfun/asin
+%%PORTDOCS%%%%DOCSDIR%%/kfun/atan
+%%PORTDOCS%%%%DOCSDIR%%/kfun/atan2
+%%PORTDOCS%%%%DOCSDIR%%/kfun/block_input
+%%PORTDOCS%%%%DOCSDIR%%/kfun/call_other
+%%PORTDOCS%%%%DOCSDIR%%/kfun/call_out
+%%PORTDOCS%%%%DOCSDIR%%/kfun/call_trace
+%%PORTDOCS%%%%DOCSDIR%%/kfun/ceil
+%%PORTDOCS%%%%DOCSDIR%%/kfun/clone_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/compile_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/cos
+%%PORTDOCS%%%%DOCSDIR%%/kfun/cosh
+%%PORTDOCS%%%%DOCSDIR%%/kfun/crypt
+%%PORTDOCS%%%%DOCSDIR%%/kfun/ctime
+%%PORTDOCS%%%%DOCSDIR%%/kfun/destruct_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/dump_state
+%%PORTDOCS%%%%DOCSDIR%%/kfun/editor
+%%PORTDOCS%%%%DOCSDIR%%/kfun/error
+%%PORTDOCS%%%%DOCSDIR%%/kfun/exp
+%%PORTDOCS%%%%DOCSDIR%%/kfun/explode
+%%PORTDOCS%%%%DOCSDIR%%/kfun/fabs
+%%PORTDOCS%%%%DOCSDIR%%/kfun/find_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/floor
+%%PORTDOCS%%%%DOCSDIR%%/kfun/fmod
+%%PORTDOCS%%%%DOCSDIR%%/kfun/frexp
+%%PORTDOCS%%%%DOCSDIR%%/kfun/function_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/get_dir
+%%PORTDOCS%%%%DOCSDIR%%/kfun/hash_crc16
+%%PORTDOCS%%%%DOCSDIR%%/kfun/hash_md5
+%%PORTDOCS%%%%DOCSDIR%%/kfun/implode
+%%PORTDOCS%%%%DOCSDIR%%/kfun/ldexp
+%%PORTDOCS%%%%DOCSDIR%%/kfun/log
+%%PORTDOCS%%%%DOCSDIR%%/kfun/log10
+%%PORTDOCS%%%%DOCSDIR%%/kfun/make_dir
+%%PORTDOCS%%%%DOCSDIR%%/kfun/map_indices
+%%PORTDOCS%%%%DOCSDIR%%/kfun/map_sizeof
+%%PORTDOCS%%%%DOCSDIR%%/kfun/map_values
+%%PORTDOCS%%%%DOCSDIR%%/kfun/millitime
+%%PORTDOCS%%%%DOCSDIR%%/kfun/modf
+%%PORTDOCS%%%%DOCSDIR%%/kfun/object_name
+%%PORTDOCS%%%%DOCSDIR%%/kfun/parse_string
+%%PORTDOCS%%%%DOCSDIR%%/kfun/pow
+%%PORTDOCS%%%%DOCSDIR%%/kfun/previous_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/previous_program
+%%PORTDOCS%%%%DOCSDIR%%/kfun/query_editor
+%%PORTDOCS%%%%DOCSDIR%%/kfun/query_ip_name
+%%PORTDOCS%%%%DOCSDIR%%/kfun/query_ip_number
+%%PORTDOCS%%%%DOCSDIR%%/kfun/random
+%%PORTDOCS%%%%DOCSDIR%%/kfun/read_file
+%%PORTDOCS%%%%DOCSDIR%%/kfun/remove_call_out
+%%PORTDOCS%%%%DOCSDIR%%/kfun/remove_dir
+%%PORTDOCS%%%%DOCSDIR%%/kfun/remove_file
+%%PORTDOCS%%%%DOCSDIR%%/kfun/rename_file
+%%PORTDOCS%%%%DOCSDIR%%/kfun/restore_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/save_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/send_datagram
+%%PORTDOCS%%%%DOCSDIR%%/kfun/send_message
+%%PORTDOCS%%%%DOCSDIR%%/kfun/shutdown
+%%PORTDOCS%%%%DOCSDIR%%/kfun/sin
+%%PORTDOCS%%%%DOCSDIR%%/kfun/sinh
+%%PORTDOCS%%%%DOCSDIR%%/kfun/sizeof
+%%PORTDOCS%%%%DOCSDIR%%/kfun/sqrt
+%%PORTDOCS%%%%DOCSDIR%%/kfun/sscanf
+%%PORTDOCS%%%%DOCSDIR%%/kfun/status
+%%PORTDOCS%%%%DOCSDIR%%/kfun/strlen
+%%PORTDOCS%%%%DOCSDIR%%/kfun/swapout
+%%PORTDOCS%%%%DOCSDIR%%/kfun/tan
+%%PORTDOCS%%%%DOCSDIR%%/kfun/tanh
+%%PORTDOCS%%%%DOCSDIR%%/kfun/this_object
+%%PORTDOCS%%%%DOCSDIR%%/kfun/this_user
+%%PORTDOCS%%%%DOCSDIR%%/kfun/time
+%%PORTDOCS%%%%DOCSDIR%%/kfun/typeof
+%%PORTDOCS%%%%DOCSDIR%%/kfun/users
+%%PORTDOCS%%%%DOCSDIR%%/kfun/write_file
+%%PORTDOCS%%%%DOCSDIR%%/parser
+@exec mkdir -p %D/%%DATADIR%%/tmp
+@comment Remove files generated by DGD
+@unexec rm -f %D/%%DATADIR%%/kernel/include/float.h
+@unexec rm -f %D/%%DATADIR%%/kernel/include/limits.h
+@unexec rm -f %D/%%DATADIR%%/kernel/include/status.h
+@unexec rm -f %D/%%DATADIR%%/kernel/include/trace.h
+@unexec rm -f %D/%%DATADIR%%/kernel/include/type.h
+@unexec rm -f %D/%%DATADIR%%/kernel.log
+@unexec rm -f %D/%%DATADIR%%/tmp/kernel.swap
+@unexec rmdir %D/%%DATADIR%%/tmp
+@dirrm etc/dgd
+@dirrm %%DATADIR%%/kernel/usr/admin
+@dirrm %%DATADIR%%/kernel/usr/System
+@dirrm %%DATADIR%%/kernel/usr
+@dirrm %%DATADIR%%/kernel/kernel/sys
+@dirrm %%DATADIR%%/kernel/kernel/obj
+@dirrm %%DATADIR%%/kernel/kernel/lib/api
+@dirrm %%DATADIR%%/kernel/kernel/lib
+@dirrm %%DATADIR%%/kernel/kernel/data
+@dirrm %%DATADIR%%/kernel/kernel
+@dirrm %%DATADIR%%/kernel/include/kernel
+@dirrm %%DATADIR%%/kernel/include
+@dirrm %%DATADIR%%/kernel/doc/kernel/lfun
+@dirrm %%DATADIR%%/kernel/doc/kernel/hook
+@dirrm %%DATADIR%%/kernel/doc/kernel/efun
+@dirrm %%DATADIR%%/kernel/doc/kernel
+@dirrm %%DATADIR%%/kernel/doc
+@dirrm %%DATADIR%%/kernel
+@dirrm %%DATADIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/kfun
+%%PORTDOCS%%@dirrm %%DOCSDIR%%