Skip site navigation (1)Skip section navigation (2)
Date:      3 Nov 2000 14:08:06 -0000
From:      okazaki@be.to
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/22574: [New port] devel/pcl-cvs-emacs
Message-ID:  <20001103140806.405.qmail@dolphin.be.to>

next in thread | raw e-mail | index | archive | help

>Number:         22574
>Category:       ports
>Synopsis:       [New port] devel/pcl-cvs-emacs
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 03 06:10:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     OKAZAKI Tetsurou
>Release:        FreeBSD 4.1-STABLE i386
>Organization:
Unknown
>Environment:

	GNU Emacs 19.34

>Description:

	Master port of PCL-CVS, an Emacs-based front-end to CVS.
	This PR requires ports/22572 (devel/elib-emacs).

>How-To-Repeat:

	If you(committer) usually use emacs20 but emacs19,
	please do the following steps to test this port.

	1) Install emacs19, custom-emacs, elib-emacs under /usr/local/Emacs19
           to avoid conflicts with already installed emacs20.
	$ cd ${PORTSDIR}/editor/emacs
	$ make LOCALBASE=/usr/local/Emacs19 PREFIX=/usr/local/Emacs19 install
	$ cd ${PORTSDIR}/editor/custom-emacs
	$ make LOCALBASE=/usr/local/Emacs19 PREFIX=/usr/local/Emacs19 install
	$ cd ${PORTSDIR}/devel/elib-emacs
	$ make LOCALBASE=/usr/local/Emacs19 PREFIX=/usr/local/Emacs19 install

	4) If you already installed diff-mode.el under /usr/local,
	   make a symbolic link to it in the emacs19 site-lisp directory.
	$ cd /usr/local/Emacs19/share/emacs/site-lisp
	$ ln -s /usr/local/share/emacs/site-lisp/diff-mode.el .
	
	or install it under the same prefix with emacs19.
	$ cd ${PORTSDIR}/textproc/diff-mode.el
	$ make LOCALBASE=/usr/local/Emacs19 PREFIX=/usr/local/Emacs19 install
	
	5) Install pcl-cvs-emacs under the same prefix with emacs19.
	$ cd ${PORTSDIR}/devel/pcl-cvs-emacs
	$ make LOCALBASE=/usr/local/Emacs19 PREFIX=/usr/local/Emacs19 package

	6) Start emacs19 with minimal settings.
	$ /usr/local/Emacs19/bin/emacs -q -nw

	7) then eval "(require 'pcl-cvs-setup)" in the *scratch* buffer.

>Fix:

	Use the shar below to import the port.
	
# 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:
#
#	pcl-cvs-emacs
#	pcl-cvs-emacs/files
#	pcl-cvs-emacs/files/patch-aa
#	pcl-cvs-emacs/Makefile
#	pcl-cvs-emacs/pkg-comment
#	pcl-cvs-emacs/pkg-descr
#	pcl-cvs-emacs/pkg-plist
#	pcl-cvs-emacs/pkg-message
#	pcl-cvs-emacs/distinfo
#
echo c - pcl-cvs-emacs
mkdir -p pcl-cvs-emacs > /dev/null 2>&1
echo c - pcl-cvs-emacs/files
mkdir -p pcl-cvs-emacs/files > /dev/null 2>&1
echo x - pcl-cvs-emacs/files/patch-aa
sed 's/^X//' >pcl-cvs-emacs/files/patch-aa << 'END-of-pcl-cvs-emacs/files/patch-aa'
X--- cvs-compat.el.orig	Mon Mar  6 06:32:21 2000
X+++ cvs-compat.el	Wed Nov  1 17:30:04 2000
X@@ -30,6 +30,19 @@
X (require 'cl)
X 
X ;;;;
X+;;;; :-Keywords
X+;;;;
X+
X+(eval-and-compile
X+  (funcall (lambda (keys)
X+	     (let ((keywords keys))
X+	       (while keywords
X+		 (or (boundp (car keywords))
X+		     (set (car keywords) (car keywords)))
X+		 (setq keywords (cdr keywords)))))
X+	   '(:dense :inherit :postproc :show)))
X+
X+;;;;
X ;;;; String Processing
X ;;;;
X 
X@@ -66,6 +79,18 @@
X   (defmacro with-current-buffer (buf &rest body)
X     `(save-current-buffer (set-buffer ,buf) ,@body)))
X 
X+;; doesn't exist in Emacs < 20.1
X+(unless (fboundp 'with-temp-buffer)
X+  (defmacro with-temp-buffer (&rest body)
X+    (let ((temp-buffer (make-symbol "temp-buffer")))
X+      `(let ((,temp-buffer
X+	      (get-buffer-create (generate-new-buffer-name " *temp*"))))
X+	 (unwind-protect
X+	     (with-current-buffer ,temp-buffer
X+				  ,@body)
X+	   (and (buffer-name ,temp-buffer)
X+		(kill-buffer ,temp-buffer)))))))
X+
X ;;;;
X ;;;; Keymaps
X ;;;;
X@@ -113,6 +138,19 @@
X   (defmacro defface (sym val str &rest rest)
X     `(defvar ,sym (make-face ',sym) ,str)))
X 
X+(load "bytecomp" nil t)
X+(unless (fboundp 'byte-compile-file-form-custom-declare-variable)
X+  ;; Bind defcustom'ed variables.
X+  (put 'custom-declare-variable 'byte-hunk-handler
X+       'byte-compile-file-form-custom-declare-variable)
X+  (defun byte-compile-file-form-custom-declare-variable (form)
X+    (if (memq 'free-vars byte-compile-warnings)
X+        (setq byte-compile-bound-variables
X+              (cons (nth 1 (nth 1 form)) byte-compile-bound-variables)))
X+    form))
X+
X+;;(setq byte-compile-warnings '(free-vars unresolved callargs redefine))
X+
X ;;;;
X ;;;; missing functions in XEmacs
X ;;;;
X@@ -134,6 +172,12 @@
X (unless (fboundp 'read-directory-name)
X   (defalias 'read-directory-name 'read-file-name))
X 
X+;; doesn't exist in Emacs < 20.1 nor XEmacs < 20.3
X+(unless (fboundp 'functionp)
X+  (defun functionp (object)
X+    (or (subrp object) (byte-code-function-p object)
X+	(eq (car-safe object) 'lambda)
X+	(and (symbolp object) (fboundp object)))))
X 
X (provide 'cvs-compat)
X ;;; cvs-compat.el ends here
END-of-pcl-cvs-emacs/files/patch-aa
echo x - pcl-cvs-emacs/Makefile
sed 's/^X//' >pcl-cvs-emacs/Makefile << 'END-of-pcl-cvs-emacs/Makefile'
X# New ports collection makefile for:	pcl-cvs for GNU Emacs 19
X# Date created:		18 Apr 2000
X# Whom:			OKAZAKI Tetsurou
X#
X# $FreeBSD$
X#
X
XPORTNAME=	pcl-cvs
XPORTVERSION=	2.9.9
XCATEGORIES=	devel elisp
XMASTER_SITES=	ftp://rum.cs.yale.edu/pub/monnier/pcl-cvs/
XPKGNAMESUFFIX=	-${EMACS_PORT_NAME}
X
XMAINTAINER?=	okazaki@be.to
X
X# startup el filename
XPORT_SETUPEL=	pcl-cvs-setup.el
X# document install directory by install-doc target
XPORTDOCDIR?=	share/doc/pcl-cvs
X
X# This is a master port.
XPORTCLASS?=	master
X
X# emacs port setup
X.if (${PORTCLASS} == "master")
XEMACS_PORT_NAME=	emacs
X.endif
X
X# target name for make build
XALL_TARGET?=		elcfiles info
XINSTALL_TARGET?=	install_el install_elc install_info
XINSTALL_TARGET+=	install_startup
X
X.include <bsd.port.pre.mk>
X
X.if ${EMACS_VER} == "19.34"
XEASY_MMODE=	easy-mmode.el
XEXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
XDISTFILES=	${EXTRACT_ONLY} ${EASY_MMODE}
XELIB_SETUP=	'(if (locate-library "elib-startup") (require '\''elib-startup))'
X.endif
X
XPLIST_SUB+=	PORTDOCDIR=${PORTDOCDIR} \
X		PORT_SETUPEL=${PORT_SETUPEL}
XMAKE_ARGS+=	EMACS="${EMACS_CMD} -q --no-site-file" \
X		CP="${INSTALL_DATA}" \
X		MAKEINFO="makeinfo --no-split" \
X		MKDIR="${MKDIR}" \
X		prefix="${PREFIX}" \
X		lispdir="${PREFIX}/${EMACS_SITE_LISPDIR}" \
X		startupfile="${PORT_SETUPEL}"
X
XRUN_DEPENDS+=	${LOCALBASE}/${EMACS_SITE_LISPDIR}/diff-mode.el:${PORTSDIR}/textproc/diff-mode.el
X
X.if defined(EMACS_PORT_NAME)
XELIB_PORTDIR=	${PORTSDIR}/devel/elib-${EMACS_PORT_NAME}
XBUILD_DEPENDS+=	${LOCALBASE}/${EMACS_SITE_LISPDIR}/elib/cookie.el:${ELIB_PORTDIR}
XRUN_DEPENDS+=	${LOCALBASE}/${EMACS_SITE_LISPDIR}/elib/cookie.el:${ELIB_PORTDIR}
X.if (${EMACS_VER} == "19.34")
X# depends on custom: emacs-19.34 or mule-19.34
XBUILD_DEPENDS+=	${LOCALBASE}/${EMACS_LIBDIR_WITH_VER}/site-lisp/custom.el:${PORTSDIR}/editors/custom-${EMACS_PORT_NAME}
XRUN_DEPENDS+=	${LOCALBASE}/${EMACS_LIBDIR_WITH_VER}/site-lisp/custom.el:${PORTSDIR}/editors/custom-${EMACS_PORT_NAME}
X.endif
X.else
X.BEGIN:
X	@${ECHO} "Error: Bad port."
X	@${ECHO} "You must define EMACS_PORT_NAME."
X	@${FALSE}
X.endif
X
Xpost-extract:
X.if defined(EASY_MMODE)
X	${CP} ${_DISTDIR}${EASY_MMODE} ${WRKSRC}
X.endif
X
Xpre-build:
X	${RM} ${WRKSRC}/pcl-cvs.info*
X
Xpost-build:
X	${ECHO} "(provide 'pcl-cvs-startup)" >> ${WRKSRC}/pcl-cvs-startup.el
X
Xpre-install:
X.if defined(ELIB_SETUP) && !empty(ELIB_SETUP)
X	${ECHO} ${ELIB_SETUP} >> ${INSTALL_WRKSRC}/${PORT_SETUPEL}
X.endif
X
Xpost-install:
X	${ECHO} "(provide 'pcl-cvs-setup)" >> ${INSTALL_WRKSRC}/${PORT_SETUPEL}
X	@${MAKE} setupel-install
X.if !defined(NOPORTDOCS)
X	@${MAKE} doc-install
X.endif
X	@${CAT} ${PKGMESSAGE}
X
Xdoc-install:
X	${MKDIR} ${PREFIX}/${PORTDOCDIR}
X	cd ${INSTALL_WRKSRC} && \
X	for i in ChangeLog FAQ NEWS README TODO; do \
X		${INSTALL_DATA} $${i} ${PREFIX}/${PORTDOCDIR}/ ; \
X	done
X
Xsetupel-install:
X	${INSTALL_DATA} ${INSTALL_WRKSRC}/${PORT_SETUPEL} \
X		${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/
X
X.include <bsd.port.post.mk>
END-of-pcl-cvs-emacs/Makefile
echo x - pcl-cvs-emacs/pkg-comment
sed 's/^X//' >pcl-cvs-emacs/pkg-comment << 'END-of-pcl-cvs-emacs/pkg-comment'
XAn Emacs-based front-end to CVS
END-of-pcl-cvs-emacs/pkg-comment
echo x - pcl-cvs-emacs/pkg-descr
sed 's/^X//' >pcl-cvs-emacs/pkg-descr << 'END-of-pcl-cvs-emacs/pkg-descr'
XPCL-CVS is a front-end to CVS.  It integrates the most frequently
Xused CVS commands into emacs.
X
XFor VC users, PCL-CVS can be thought of as a VC-dired specially designed
Xfor CVS.  PCL-CVS is not a replacement for VC and is supposed to interact
Xwell with it.  It provides a global view of your project and allows
Xexecution of cvs commands on several files at a time.
X
X  PCL-CVS is installed the following directory tree:
X	PREFIX/share/emacs/site-lisp/pcl-cvs/	--- pcl-cvs
END-of-pcl-cvs-emacs/pkg-descr
echo x - pcl-cvs-emacs/pkg-plist
sed 's/^X//' >pcl-cvs-emacs/pkg-plist << 'END-of-pcl-cvs-emacs/pkg-plist'
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/cvs-compat.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/cvs-compat.elc
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/cvs-edit.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/cvs-edit.elc
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/cvs-log.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/cvs-log.elc
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/cvs-status.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/cvs-status.elc
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-defs.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-defs.elc
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-info.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-info.elc
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-parse.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-parse.elc
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-startup.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-util.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs-util.elc
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs.el
X%%EMACS_LIBDIR%%/site-lisp/pcl-cvs/pcl-cvs.elc
X%%EMACS_LIBDIR_WITH_VER%%/site-lisp/%%PORT_SETUPEL%%
X@dirrm %%EMACS_LIBDIR%%/site-lisp/pcl-cvs
X%%PORTDOCDIR%%/ChangeLog
X%%PORTDOCDIR%%/FAQ
X%%PORTDOCDIR%%/NEWS
X%%PORTDOCDIR%%/README
X%%PORTDOCDIR%%/TODO
X@dirrm %%PORTDOCDIR%%
X@unexec install-info --delete %D/info/pcl-cvs.info %D/info/dir
Xinfo/pcl-cvs.info
X@exec install-info %D/info/pcl-cvs.info %D/info/dir
END-of-pcl-cvs-emacs/pkg-plist
echo x - pcl-cvs-emacs/pkg-message
sed 's/^X//' >pcl-cvs-emacs/pkg-message << 'END-of-pcl-cvs-emacs/pkg-message'
XTo use pcl-cvs, put the following setup into your ~/.emacs:
X
X        (require 'pcl-cvs-setup)
X
END-of-pcl-cvs-emacs/pkg-message
echo x - pcl-cvs-emacs/distinfo
sed 's/^X//' >pcl-cvs-emacs/distinfo << 'END-of-pcl-cvs-emacs/distinfo'
XMD5 (pcl-cvs-2.9.9.tar.gz) = b4511b9eae0bf2ee033f37705cb5f1f9
XMD5 (easy-mmode.el) = 59baa701f3fafcf2a8f47ea58785722b
END-of-pcl-cvs-emacs/distinfo
exit



>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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