Bug 48258 - [NEW PORT] Meta-CVS
Summary: [NEW PORT] Meta-CVS
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: Greg Lewis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-13 21:10 UTC by Johannes Groedem
Modified: 2003-02-28 16:56 UTC (History)
0 users

See Also:


Attachments
meta-cvs.shar (7.27 KB, application/x-shar)
2003-02-14 00:32 UTC, Johannes Groedem
no flags Details
meta-cvs.shar (7.26 KB, application/x-shar)
2003-02-21 20:25 UTC, Johannes Groedem
no flags Details
file.dat (40 bytes, text/plain; charset=iso-8859-1)
2003-02-21 20:25 UTC, Johannes Groedem
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Groedem 2003-02-13 21:10:06 UTC
	Port of Meta-CVS, a more capable version control system
	than CVS, built on CVS.  Note that this doesn't work on
	GCC 3.2-systems, since CLISP, which it build-depends on,
	doesn't build right with GCC 3.2.  I'll file a separate
	report on that.  I've run portlint, and it complains about
	the hyphen in PORTNAME.  Other than that, everything seems
	fine.  I've run the tests suggested in the porters handbook.

--- meta-cvs.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:
#
#	meta-cvs
#	meta-cvs/Makefile
#	meta-cvs/distinfo
#	meta-cvs/pkg-descr
#	meta-cvs/pkg-plist
#	meta-cvs/files
#	meta-cvs/files/build.sh
#	meta-cvs/files/mcvs.tmpl
#	meta-cvs/files/Makefile
#	meta-cvs/files/patch-aa
#
echo c - meta-cvs
mkdir -p meta-cvs > /dev/null 2>&1
echo x - meta-cvs/Makefile
sed 's/^X//' >meta-cvs/Makefile << 'END-of-meta-cvs/Makefile'
X# New ports collection makefile for:	meta-cvs
X# Date created:		13 February 2003
X# Whom:			johs
X#
X# $FreeBSD$
X#
X
XPORTNAME=	meta-cvs
XPORTVERSION=	1.0.3
XCATEGORIES=	devel
XMASTER_SITES=	http://users.footprints.net/~kaz/
XDISTNAME=	mcvs-${PORTVERSION}
X
XMAINTAINER=	johs@copyleft.no
XCOMMENT="A more capable version control system than CVS, built around CVS."
X
XBUILD_DEPENDS=	clisp:${PORTSDIR}/lang/clisp
X
Xpre-build:
X	${CP} ${FILESDIR}/Makefile ${WRKSRC}/Makefile
X	${CP} ${FILESDIR}/build.sh ${WRKSRC}/code
X
Xpost-install:
X	${CAT} ${FILESDIR}/mcvs.tmpl | ${SED} s:PREFIX:${PREFIX}:g > ${WRKDIR}/mcvs
X	${INSTALL_SCRIPT} ${WRKDIR}/mcvs ${PREFIX}/bin
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${PREFIX}/share/doc/meta-cvs
X	${INSTALL_MAN} ${WRKSRC}/docs/Meta-CVS-PAPER ${PREFIX}/share/doc/meta-cvs
X	${INSTALL_MAN} ${WRKSRC}/QUICK-GUIDE ${PREFIX}/share/doc/meta-cvs
X.endif
X
X.include <bsd.port.mk>
END-of-meta-cvs/Makefile
echo x - meta-cvs/distinfo
sed 's/^X//' >meta-cvs/distinfo << 'END-of-meta-cvs/distinfo'
XMD5 (mcvs-1.0.3.tar.gz) = d2cfb53ff9678b5e1763af64a03aa1ce
END-of-meta-cvs/distinfo
echo x - meta-cvs/pkg-descr
sed 's/^X//' >meta-cvs/pkg-descr << 'END-of-meta-cvs/pkg-descr'
XThis is a port of Meta-CVS, a version control system built around CVS.
XAlthough it retains most of the features of CVS, including all of the
Xnetworking support, it is more capable than CVS, and easier to use.
X
XIts main features are:
X * Directory structure versioning.
X * Support for a promotion model.
X * User-friendly file type handling.
X * Sane corner cases.
X * Simple branching and merging.
X * Support for symbolic links and metadata.
X * Tracking of third party code containing moves and renames.
X * Ease of deployment.
X
XWWW: http://users.footprints.net/~kaz/mcvs.html
X
X- Johannes Groedem
Xjohs@copyleft.no
END-of-meta-cvs/pkg-descr
echo x - meta-cvs/pkg-plist
sed 's/^X//' >meta-cvs/pkg-plist << 'END-of-meta-cvs/pkg-plist'
Xbin/mcvs
Xlib/clisp/meta-cvs/lispinit.mem
Xlib/clisp/meta-cvs/lisp.run
X@dirrm lib/clisp/meta-cvs
X%%PORTDOCS%%share/doc/meta-cvs/Meta-CVS-PAPER
X%%PORTDOCS%%share/doc/meta-cvs/QUICK-GUIDE
X%%PORTDOCS%%@dirrm share/doc/meta-cvs
END-of-meta-cvs/pkg-plist
echo c - meta-cvs/files
mkdir -p meta-cvs/files > /dev/null 2>&1
echo x - meta-cvs/files/build.sh
sed 's/^X//' >meta-cvs/files/build.sh << 'END-of-meta-cvs/files/build.sh'
X#!/bin/sh
X
XCLISP_LIB=$(clisp -q -norc -x '(progn (princ *lib-directory*) (values))')
X
XLINKSET=unix-bindings-linking-set
X
Xif [ ! -e $LINKSET ] ; then
X    export CLISP_LINKKIT="${CLISP_LIB}linkkit"
X    sh "${CLISP_LIB}clisp-link" add-module-set unix-bindings \
X    "${CLISP_LIB}base" $LINKSET
Xfi
X
XLISPRUN=$LINKSET/lisp.run
X
Xif ! $LISPRUN -M $LINKSET/lispinit.mem -q -c mcvs-main ; then
X  echo "There were compilation errors."
X  exit 1
Xfi
X
X$LISPRUN -M $LINKSET/lispinit.mem -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)'
X
Xexit 0
END-of-meta-cvs/files/build.sh
echo x - meta-cvs/files/mcvs.tmpl
sed 's/^X//' >meta-cvs/files/mcvs.tmpl << 'END-of-meta-cvs/files/mcvs.tmpl'
X#!PREFIX/lib/clisp/meta-cvs/lisp.run -MPREFIX/lib/clisp/meta-cvs/lispinit.mem
X(meta-cvs:main)
END-of-meta-cvs/files/mcvs.tmpl
echo x - meta-cvs/files/Makefile
sed 's/^X//' >meta-cvs/files/Makefile << 'END-of-meta-cvs/files/Makefile'
Xall: meta-cvs
X
Xmeta-cvs:
X	(cd code; /bin/sh build.sh)
X
Xinstall:
X	(cd code; /bin/sh install.sh ${PREFIX})
END-of-meta-cvs/files/Makefile
echo x - meta-cvs/files/patch-aa
sed 's/^X//' >meta-cvs/files/patch-aa << 'END-of-meta-cvs/files/patch-aa'
X--- code/install.sh.orig	Thu Feb 13 19:30:54 2003
X+++ code/install.sh	Thu Feb 13 19:31:01 2003
X@@ -51,12 +51,6 @@
X   exit 1
X fi
X 
X-if [ ! -e $LINKSET ] ; then
X-    export CLISP_LINKKIT="${CLISP_LIB}linkkit"
X-    sh "${CLISP_LIB}clisp-link" add-module-set unix-bindings \
X-    "${CLISP_LIB}base" $LINKSET
X-fi
X-
X LISPRUN=$LINKSET/lisp
X 
X if [ -f $LISPRUN.run ] ; then
X@@ -65,18 +59,8 @@
X elif [ -f $LISPRUN.exe ] ; then
X   LISPRUN=$LISPRUN.exe
X   LISPEXE=.exe
X-else
X-  echo "linking set failed to build."
X-  exit 1
X-fi
X-
X-if ! $LISPRUN -M $LINKSET/lispinit.mem -q -c mcvs-main ; then
X-  echo "There were compilation errors."
X-  exit 1
X fi
X 
X-$LISPRUN -M $LINKSET/lispinit.mem -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)'
X-
X if ! cp mcvs.mem $TARGET_LIB/lispinit.mem; then
X   echo "Unable to copy to $TARGET_LIB."
X   exit 1
X@@ -84,87 +68,6 @@
X 
X if ! cp $LISPRUN $TARGET_LIB; then
X   echo "Unable to copy to $TARGET_LIB."
X-  exit 1
X-fi
X-
X-if ! cat > $TARGET_BIN/mcvs <<END
X-#!$TARGET_LIB/lisp$LISPEXE -M$TARGET_LIB/lispinit.mem
X-(meta-cvs:main)
X-END
X-then
X-  echo "Could not create mcvs script in $TARGET."
X-  exit 1
X-fi
X-
X-if ! chmod a+x "$TARGET_BIN/mcvs" ; then
X-  echo "Could not set permissions of mcvs script in $TARGET."
X-  exit 1
X-fi
X-
X-if ! cat > $TARGET_BIN/mcvs-upgrade <<END
X-#!/bin/sh
X-TARGET_LIB="$TARGET_LIB"
X-LISPRUN="\$TARGET_LIB/lisp.run -M \$TARGET_LIB/lispinit.mem"
X-
X-if [ \$# != 1 ] ; then
X-  echo
X-  echo "Syntax:"
X-  echo
X-  echo "  mcvs-upgrade <path-to-source>"
X-  echo
X-  echo "The path specifies the directory which holds unpacked Meta-CVS source,"
X-  echo "the place where the file mcvs-main.lisp is located."
X-  echo
X-  echo "This upgrade mechanism is intended to make it possible to use a"
X-  echo "newer version of Meta-CVS without having to obtain a complete binary"
X-  echo "distribution that includes the Lisp executable, and without having"
X-  echo "to install the Lisp development environment to build the sources."
X-  echo
X-  echo "Note that it's not possible to upgrade if the newer Meta-CVS sources"
X-  echo "rely on new C functions being linked into the Lisp system; get a"
X-  echo "new binary distribution, or set up CLISP and compile Meta-CVS from"
X-  echo "the sources using its install.sh script"
X-  echo
X-  echo "Ignore the copious compiler warnings about objects and functions"
X-  echo "being redefined; this is what we want."
X-  echo
X-  exit 1
X-fi
X-
X-SOURCE_PATH="\$1"
X-
X-if ! cd "\$SOURCE_PATH" ; then
X-  echo "unable to change to \$SOURCE_PATH"
X-  exit 1
X-fi
X-
X-if ! \$LISPRUN -c mcvs-main ; then
X-  echo "unable to compile"
X-  exit 1
X-fi
X-
X-if ! \$LISPRUN -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)' ; then
X-  echo "unable to load and generate memory image"
X-  exit 1
X-fi
X-
X-if ! cp mcvs.mem \$TARGET_LIB/lispinit.mem ; then
X-  echo "unable to copy new Meta-CVS image to \$TARGET_LIB directory."
X-  exit 1
X-fi
X-
X-echo
X-echo "It appears that Meta-CVS has been re-generated from the given sources."
X-echo 
X-
X-END
X-then
X-  echo "Could not create mcvs script in $TARGET."
X-  exit 1
X-fi
X-
X-if ! chmod a+x "$TARGET_BIN/mcvs-upgrade" ; then
X-  echo "Could not set permissions of mcvs script in $TARGET."
X   exit 1
X fi
X 
END-of-meta-cvs/files/patch-aa
exit
--- meta-cvs.shar ends here ---
Comment 1 corecode@corecode.ath.cx 2003-02-13 22:56:25 UTC
Lately Johannes Groedem told:

> sed 's/^X//' >meta-cvs/Makefile << 'END-of-meta-cvs/Makefile'
[...]
> Xpost-install:
> X	${CAT} ${FILESDIR}/mcvs.tmpl | ${SED} s:PREFIX:${PREFIX}:g > ${WRKDIR}/mcvs

save a process today!
	${SED} 's:PREFIX:${PREFIX}:g' ${FILESDIR}/mcvs.tmpl > ${WRKDIR}/mcvs

> X	${INSTALL_SCRIPT} ${WRKDIR}/mcvs ${PREFIX}/bin
> X.if !defined(NOPORTDOCS)
> X	${MKDIR} ${PREFIX}/share/doc/meta-cvs

use ${DOCSDIR}?

> X	${INSTALL_MAN} ${WRKSRC}/docs/Meta-CVS-PAPER ${PREFIX}/share/doc/meta-cvs
> X	${INSTALL_MAN} ${WRKSRC}/QUICK-GUIDE ${PREFIX}/share/doc/meta-cvs

use ${INSTALL_DATA}!

cheers
  simon

-- 
/"\   http://corecode.ath.cx/#donate
\ /
 \     ASCII Ribbon Campaign
/ \  Against HTML Mail and News
Comment 2 Johannes Groedem 2003-02-14 00:32:20 UTC
> Lately Johannes Groedem told:
>> sed 's/^X//' >meta-cvs/Makefile << 'END-of-meta-cvs/Makefile'
> [...]

Thank you, Mr. Portlint.  Here is a new version.
Comment 3 Johannes Groedem 2003-02-26 18:13:59 UTC
I'll just keep an updated version on
http://www.kopkillah.com/pr0n/meta-cvs.shar, so if it gets accepted,
just get it there.  (I've now updated the port for Meta-CVS 1.0.5.)

-- 
Johannes Grødem <OpenPGP: 5055654C>
Comment 4 Greg Lewis freebsd_committer freebsd_triage 2003-02-28 00:15:42 UTC
Responsible Changed
From-To: freebsd-ports-bugs->glewis

I've been playing with Meta-CVS courtesy of Johannes packages, so 
the least I can do in return is look at his port and commit it :).
Comment 5 Greg Lewis freebsd_committer freebsd_triage 2003-02-28 16:55:51 UTC
State Changed
From-To: open->closed

Committed, thanks!