Date: Thu, 22 Jul 2004 11:49:38 +0200 (CEST) From: David JULIEN <david.julien@gmail.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/69422: New port: the Equeue OCaml library Message-ID: <20040722094938.D96E072B@goliath.lip6.fr> Resent-Message-ID: <200407220950.i6M9o87P002068@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 69422 >Category: ports >Synopsis: New port: the Equeue OCaml library >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Thu Jul 22 09:50:08 GMT 2004 >Closed-Date: >Last-Modified: >Originator: David JULIEN >Release: FreeBSD 4.10-STABLE i386 >Organization: >Environment: System: FreeBSD goliath.lip6.fr 4.10-STABLE FreeBSD 4.10-STABLE #1: Fri May 28 09:35:56 CEST 2004 root@goliath.lip6.fr:/usr/obj/usr/src/sys/GOLIATH i386 >Description: Equeue contains a generic implementation of queues of events of any type, and a specific implementation of queues of file descriptor events. The generic module allows to associate an event queue with an event source, and one or several event handlers. The event source generates new events that are triggered from the outer world. The handlers consume events, but it is allowed that handlers also generate events. The module for file descriptor events already defines an event source; this source watches registered file descriptors and produces events if a descriptor wants to deliver data, or if a descriptor is ready to accept data. As in the generic module, the handlers consume the events. The concept of engines is suggested to construct event-driven programs in a systematic way. There are already a number of basic engines (polling, copying, connecting with a network service, accepting connections, SOCKS), and a number of operations for engines (sequential execution, synchronization). It is possible to let Equeue cooperate with the event queue implementation of Tcl. Now, also the Shell library is included in the Equeue distribution. >How-To-Repeat: >Fix: --- port-equeue.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # port-equeue # port-equeue/Makefile # port-equeue/distinfo # port-equeue/pkg-descr # port-equeue/pkg-plist # port-equeue/pkg-install # port-equeue/pkg-deinstall # echo c - port-equeue mkdir -p port-equeue > /dev/null 2>&1 echo x - port-equeue/Makefile sed 's/^X//' >port-equeue/Makefile << 'END-of-port-equeue/Makefile' X# New ports collection makefile for: ocaml-equeue X# Date created: 21 July 2004 X# Whom: David JULIEN X# X# $FreeBSD$ X# X XPORTNAME= equeue XPORTVERSION= 2.0.1 XCATEGORIES= devel XMASTER_SITES= http://www.ocaml-programming.de/packages/ XPKGNAMEPREFIX= ocaml- XDISTNAME= ${PORTNAME}-${PORTVERSION} X XMAINTAINER= david.julien@gmail.com XCOMMENT= The Equeue library for OCaml X XBUILD_DEPENDS= ocamlc:${PORTSDIR}/lang/ocaml \ X ocamlfind:${PORTSDIR}/devel/ocaml-findlib X XWRKSRC= ${WRKDIR}/${DISTNAME} X XUSE_GMAKE= yes X XHAS_CONFIGURE= yes X XALL_TARGET= all opt X X.if defined(WITH_EQUEUE_TCL) XBUILD_DEPENDS+= ${LOCALBASE}/include/tcl8.4:${PORTSDIR}/lang/tcl84 XCONFIGURE_ARGS+= -with-equeue-tcl -equeue-tcl-defs "-I${LOCALBASE}/include/tcl8.4" -equeue-tcl-libs "-L${LOCALBASE}/lib -ltcl84" XPLIST_SUB+= TCL="" X.else XPLIST_SUB+= TCL="@comment " X.endif X X.if !defined(NOPORTDOCS) XDOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME} XEXAMPLESDIR= ${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME} X.endif X Xpost-install: X.if !defined(NOPORTDOCS) X @${MKDIR} ${DOCSDIR} X ${CP} -R ${WRKSRC}/doc/ ${DOCSDIR} X @${MKDIR} ${EXAMPLESDIR} X ${CP} -R ${WRKSRC}/examples/ ${EXAMPLESDIR} X.endif X X.include <bsd.port.mk> END-of-port-equeue/Makefile echo x - port-equeue/distinfo sed 's/^X//' >port-equeue/distinfo << 'END-of-port-equeue/distinfo' XMD5 (equeue-2.0.1.tar.gz) = 2c0f9b9aa6de7bb1a3471027e3f915e8 XSIZE (equeue-2.0.1.tar.gz) = 248867 END-of-port-equeue/distinfo echo x - port-equeue/pkg-descr sed 's/^X//' >port-equeue/pkg-descr << 'END-of-port-equeue/pkg-descr' XEqueue contains a generic implementation of queues of events of any type, and a Xspecific implementation of queues of file descriptor events. X XThe generic module allows to associate an event queue with an event source, and Xone or several event handlers. The event source generates new events that are Xtriggered from the outer world. The handlers consume events, but it is allowed Xthat handlers also generate events. XThe module for file descriptor events already defines an event source; this Xsource watches registered file descriptors and produces events if a descriptor Xwants to deliver data, or if a descriptor is ready to accept data. As in the Xgeneric module, the handlers consume the events. X XThe concept of engines is suggested to construct event-driven programs in a Xsystematic way. There are already a number of basic engines (polling, copying, Xconnecting with a network service, accepting connections, SOCKS), and a number Xof operations for engines (sequential execution, synchronization). X XIt is possible to let Equeue cooperate with the event queue implementation of XTcl. Now, also the Shell library is included in the Equeue distribution. X XWWW: http://www.ocaml-programming.de/programming/equeue.html X X- David X <david.julien@gmail.com> END-of-port-equeue/pkg-descr echo x - port-equeue/pkg-plist sed 's/^X//' >port-equeue/pkg-plist << 'END-of-port-equeue/pkg-plist' Xlib/ocaml/site-lib/equeue/META Xlib/ocaml/site-lib/equeue-core/META Xlib/ocaml/site-lib/equeue-core/equeue.a Xlib/ocaml/site-lib/equeue-core/equeue.cma Xlib/ocaml/site-lib/equeue-core/equeue.cmi Xlib/ocaml/site-lib/equeue-core/equeue.cmxa Xlib/ocaml/site-lib/equeue-core/equeue.mli Xlib/ocaml/site-lib/equeue-core/unixqueue.cmi Xlib/ocaml/site-lib/equeue-core/unixqueue.mli Xlib/ocaml/site-lib/equeue-core/unixqueue_mt.cmi Xlib/ocaml/site-lib/equeue-core/unixqueue_mt.o Xlib/ocaml/site-lib/equeue-core/unixqueue_mt.cmx Xlib/ocaml/site-lib/equeue-core/unixqueue_mt.cmo Xlib/ocaml/site-lib/equeue-core/unixqueue_mt.mli Xlib/ocaml/site-lib/equeue-core/uq_engines.cmi Xlib/ocaml/site-lib/equeue-core/uq_engines.mli Xlib/ocaml/site-lib/equeue-core/uq_socks5.cmi Xlib/ocaml/site-lib/equeue-core/uq_socks5.mli Xlib/ocaml/site-lib/shell/META Xlib/ocaml/site-lib/shell/dllshell.so Xlib/ocaml/site-lib/shell/libshell.a Xlib/ocaml/site-lib/shell/shell.a Xlib/ocaml/site-lib/shell/shell.cma Xlib/ocaml/site-lib/shell/shell.cmi Xlib/ocaml/site-lib/shell/shell.cmxa Xlib/ocaml/site-lib/shell/shell.mli Xlib/ocaml/site-lib/shell/shell_mt.mli Xlib/ocaml/site-lib/shell/shell_sys.cmi Xlib/ocaml/site-lib/shell/shell_sys.mli Xlib/ocaml/site-lib/shell/shell_uq.cmi Xlib/ocaml/site-lib/shell/shell_uq.mli Xlib/ocaml/site-lib/shell/unix_exts.cmi Xlib/ocaml/site-lib/shell/unix_exts.mli X@dirrm lib/ocaml/site-lib/equeue X@dirrm lib/ocaml/site-lib/equeue-core X@dirrm lib/ocaml/site-lib/shell X@unexec ocamlfind remove equeue 2>/dev/null || true X@unexec ocamlfind remove equeue-core 2>/dev/null || true X@unexec ocamlfind remove shell 2>/dev/null || true X%%TCL%%lib/ocaml/site-lib/equeue-tcl/META X%%TCL%%lib/ocaml/site-lib/equeue-tcl/dlltclqueue.so X%%TCL%%lib/ocaml/site-lib/equeue-tcl/equeue.a X%%TCL%%lib/ocaml/site-lib/equeue-tcl/equeue.cma X%%TCL%%lib/ocaml/site-lib/equeue-tcl/equeue.cmi X%%TCL%%lib/ocaml/site-lib/equeue-tcl/equeue.cmxa X%%TCL%%lib/ocaml/site-lib/equeue-tcl/equeue.mli X%%TCL%%lib/ocaml/site-lib/equeue-tcl/libtclqueue.a X%%TCL%%lib/ocaml/site-lib/equeue-tcl/unixqueue.cmi X%%TCL%%lib/ocaml/site-lib/equeue-tcl/unixqueue.mli X%%TCL%%lib/ocaml/site-lib/equeue-tcl/uq_engines.cmi X%%TCL%%lib/ocaml/site-lib/equeue-tcl/uq_engines.mli X%%TCL%%lib/ocaml/site-lib/equeue-tcl/uq_socks5.cmi X%%TCL%%lib/ocaml/site-lib/equeue-tcl/uq_socks5.mli X%%TCL%%@dirrm lib/ocaml/site-lib/equeue-tcl X%%TCL%%@unexec ocamlfind remove equeue-tcl 2>/dev/null || true X%%PORTDOCS%%%%DOCSDIR%%/ABOUT-FINDLIB X%%PORTDOCS%%%%DOCSDIR%%/INSTALL X%%PORTDOCS%%%%DOCSDIR%%/README X%%PORTDOCS%%%%DOCSDIR%%/SHELL X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Equeue.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Unixqueue.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Unixqueue_mt.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.async_out_channel.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.client_socket_connector.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.const_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.copier.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.datagram_socket_provider.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.map_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.output_async_descr.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.poll_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.poll_process_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.receiver.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.seq_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.server_socket_acceptor.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.server_socket_listener.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.sync_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.watchdog.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_engines.wrapped_datagram_socket.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_socks5.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/Uq_socks5.proxy_client.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_attributes.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_class_types.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_classes.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_exceptions.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_methods.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_module_types.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_modules.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_types.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/index_values.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/style.css X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Equeue.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Unixqueue.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Unixqueue_mt.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.async_out_channel.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.client_socket_connector.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.const_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.copier.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.datagram_socket_provider.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.map_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.output_async_descr.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.poll_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.poll_process_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.receiver.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.seq_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.server_socket_acceptor.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.server_socket_listener.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.sync_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.watchdog.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_engines.wrapped_datagram_socket.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_socks5.html X%%PORTDOCS%%%%DOCSDIR%%/refman-equeue/html/type_Uq_socks5.proxy_client.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Shell.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Shell_mt.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Shell_sys.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Shell_uq.call_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Shell_uq.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Shell_uq.job_handler_engine_type.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Shell_uq.system_handler_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Shell_uq.system_handler_engine_type.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/Unix_exts.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_attributes.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_class_types.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_classes.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_exceptions.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_methods.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_module_types.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_modules.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_types.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/index_values.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/style.css X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Shell.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Shell_mt.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Shell_sys.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Shell_uq.call_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Shell_uq.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Shell_uq.job_handler_engine_type.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Shell_uq.system_handler_engine.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Shell_uq.system_handler_engine_type.html X%%PORTDOCS%%%%DOCSDIR%%/refman-shell/html/type_Unix_exts.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/TIMESTAMP X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/c140.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/c310.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/c34.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/c483.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/c504.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/c517.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/c83.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/equeue.css X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/index.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/x130.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/x236.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/x338.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/x364.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/x384.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/x446.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/html/x458.html X%%PORTDOCS%%%%DOCSDIR%%/users-guide/ps/equeue.ps X%%PORTDOCS%%%%DOCSDIR%%/users-guide/src/equeue.css X%%PORTDOCS%%%%DOCSDIR%%/users-guide/src/equeue.dsl X%%PORTDOCS%%%%DOCSDIR%%/users-guide/src/equeue.sgml X%%PORTDOCS%%%%DOCSDIR%%/users-guide/src/getcode.ml X%%PORTDOCS%%%%EXAMPLESDIR%%/engines/funny_async_buffer.ml X%%PORTDOCS%%%%EXAMPLESDIR%%/engines/http_client.ml X%%PORTDOCS%%%%EXAMPLESDIR%%/filecopy/Makefile X%%PORTDOCS%%%%EXAMPLESDIR%%/filecopy/filecopy.ml X%%PORTDOCS%%%%EXAMPLESDIR%%/filecopy_labltk/Makefile X%%PORTDOCS%%%%EXAMPLESDIR%%/filecopy_labltk/README X%%PORTDOCS%%%%EXAMPLESDIR%%/filecopy_labltk/filecopy.ml X%%PORTDOCS%%%%EXAMPLESDIR%%/multi-threaded/Makefile X%%PORTDOCS%%%%EXAMPLESDIR%%/multi-threaded/sample.ml X%%PORTDOCS%%%%EXAMPLESDIR%%/preliminary/Makefile X%%PORTDOCS%%%%EXAMPLESDIR%%/preliminary/pipe-through-conventional.ml X%%PORTDOCS%%%%EXAMPLESDIR%%/preliminary/pipe-through-eventdriven.ml X%%PORTDOCS%%%%EXAMPLESDIR%%/simple/Makefile X%%PORTDOCS%%%%EXAMPLESDIR%%/simple/a-and-b.ml X%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/simple X%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/preliminary X%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/multi-threaded X%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/filecopy_labltk X%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/filecopy X%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/engines X%%PORTDOCS%%@dirrm %%EXAMPLESDIR%% X%%PORTDOCS%%@dirrm %%DOCSDIR%%/users-guide/src X%%PORTDOCS%%@dirrm %%DOCSDIR%%/users-guide/ps X%%PORTDOCS%%@dirrm %%DOCSDIR%%/users-guide/html X%%PORTDOCS%%@dirrm %%DOCSDIR%%/users-guide X%%PORTDOCS%%@dirrm %%DOCSDIR%%/refman-shell/html X%%PORTDOCS%%@dirrm %%DOCSDIR%%/refman-shell X%%PORTDOCS%%@dirrm %%DOCSDIR%%/refman-equeue/html X%%PORTDOCS%%@dirrm %%DOCSDIR%%/refman-equeue X%%PORTDOCS%%@dirrm %%DOCSDIR%% END-of-port-equeue/pkg-plist echo x - port-equeue/pkg-install sed 's/^X//' >port-equeue/pkg-install << 'END-of-port-equeue/pkg-install' X#!/bin/sh X Xif [ "$2" = "POST-INSTALL" ]; then X echo "${PKG_PREFIX}/lib/ocaml/site-lib/shell" >> ${PKG_PREFIX}/lib/ocaml/ld.conf X if test -d ${PKG_PREFIX}/lib/ocaml/site-lib/equeue-tcl; then X echo "${PKG_PREFIX}/lib/ocaml/site-lib/equeue-tcl" >> ${PKG_PREFIX}/lib/ocaml/ld.conf X fi Xfi END-of-port-equeue/pkg-install echo x - port-equeue/pkg-deinstall sed 's/^X//' >port-equeue/pkg-deinstall << 'END-of-port-equeue/pkg-deinstall' Xif [ "$2" = "DEINSTALL" ]; then X TMPFILE=`mktemp ${PKG_PREFIX}/lib/ocaml/ld.conf.XXX` || exit 1 X cp ${PKG_PREFIX}/lib/ocaml/ld.conf ${TMPFILE} X grep -v "shell" ${TMPFILE} | grep -v "equeue-tcl" > ${PKG_PREFIX}/lib/ocaml/ld.conf X rm -f ${TMPFILE} Xfi END-of-port-equeue/pkg-deinstall exit --- port-equeue.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040722094938.D96E072B>