diff --git a/devel/Makefile b/devel/Makefile index 8880e0e70319..216f8b104449 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -363,6 +363,7 @@ SUBDIR += makedepend SUBDIR += makeplus SUBDIR += memcheck + SUBDIR += meta-cvs SUBDIR += mico SUBDIR += mime SUBDIR += mingw diff --git a/devel/meta-cvs/Makefile b/devel/meta-cvs/Makefile new file mode 100644 index 000000000000..c6802fab91e2 --- /dev/null +++ b/devel/meta-cvs/Makefile @@ -0,0 +1,32 @@ +# New ports collection makefile for: meta-cvs +# Date created: 13 February 2003 +# Whom: johs +# +# $FreeBSD$ +# + +PORTNAME= meta-cvs +PORTVERSION= 1.0.5 +CATEGORIES= devel +MASTER_SITES= http://users.footprints.net/~kaz/ +DISTNAME= mcvs-${PORTVERSION} + +MAINTAINER= johs@copyleft.no +COMMENT= A more capable version control system than CVS, built around CVS + +BUILD_DEPENDS= clisp:${PORTSDIR}/lang/clisp + +pre-build: + ${CP} ${FILESDIR}/Makefile ${WRKSRC}/Makefile + ${CP} ${FILESDIR}/build.sh ${WRKSRC}/code + +post-install: + ${SED} 's:PREFIX:${PREFIX}:g' ${FILESDIR}/mcvs.tmpl > ${WRKDIR}/mcvs + ${INSTALL_SCRIPT} ${WRKDIR}/mcvs ${PREFIX}/bin +.if !defined(NOPORTDOCS) + ${MKDIR} ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/docs/Meta-CVS-PAPER ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/QUICK-GUIDE ${DOCSDIR} +.endif + +.include diff --git a/devel/meta-cvs/distinfo b/devel/meta-cvs/distinfo new file mode 100644 index 000000000000..f11d7ea675fd --- /dev/null +++ b/devel/meta-cvs/distinfo @@ -0,0 +1 @@ +MD5 (mcvs-1.0.5.tar.gz) = 106f352a8ff12a94d989b1f826376599 diff --git a/devel/meta-cvs/files/Makefile b/devel/meta-cvs/files/Makefile new file mode 100644 index 000000000000..6dd3f6f04c54 --- /dev/null +++ b/devel/meta-cvs/files/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +all: meta-cvs + +meta-cvs: + (cd code; /bin/sh build.sh) + +install: + (cd code; /bin/sh install.sh ${PREFIX}) diff --git a/devel/meta-cvs/files/build.sh b/devel/meta-cvs/files/build.sh new file mode 100644 index 000000000000..43011043463f --- /dev/null +++ b/devel/meta-cvs/files/build.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# +# $FreeBSD$ + +CLISP_LIB=$(clisp -q -norc -x '(progn (princ *lib-directory*) (values))') + +LINKSET=unix-bindings-linking-set + +if [ ! -e $LINKSET ] ; then + export CLISP_LINKKIT="${CLISP_LIB}linkkit" + sh "${CLISP_LIB}clisp-link" add-module-set unix-bindings \ + "${CLISP_LIB}base" $LINKSET +fi + +LISPRUN=$LINKSET/lisp.run + +if ! $LISPRUN -M $LINKSET/lispinit.mem -q -c mcvs-main ; then + echo "There were compilation errors." + exit 1 +fi + +$LISPRUN -M $LINKSET/lispinit.mem -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)' + +exit 0 diff --git a/devel/meta-cvs/files/mcvs.tmpl b/devel/meta-cvs/files/mcvs.tmpl new file mode 100644 index 000000000000..caf557726ee7 --- /dev/null +++ b/devel/meta-cvs/files/mcvs.tmpl @@ -0,0 +1,2 @@ +#!PREFIX/lib/clisp/meta-cvs/lisp.run -MPREFIX/lib/clisp/meta-cvs/lispinit.mem +(mcvs) diff --git a/devel/meta-cvs/files/patch-install.sh b/devel/meta-cvs/files/patch-install.sh new file mode 100644 index 000000000000..586c0bd00308 --- /dev/null +++ b/devel/meta-cvs/files/patch-install.sh @@ -0,0 +1,124 @@ +$FreeBSD$ + +--- code/install.sh.orig Thu Feb 13 19:30:54 2003 ++++ code/install.sh Thu Feb 13 19:31:01 2003 +@@ -51,12 +51,6 @@ + exit 1 + fi + +-if [ ! -e $LINKSET ] ; then +- export CLISP_LINKKIT="${CLISP_LIB}linkkit" +- sh "${CLISP_LIB}clisp-link" add-module-set unix-bindings \ +- "${CLISP_LIB}base" $LINKSET +-fi +- + LISPRUN=$LINKSET/lisp + + if [ -f $LISPRUN.run ] ; then +@@ -65,18 +59,8 @@ + elif [ -f $LISPRUN.exe ] ; then + LISPRUN=$LISPRUN.exe + LISPEXE=.exe +-else +- echo "linking set failed to build." +- exit 1 +-fi +- +-if ! $LISPRUN -M $LINKSET/lispinit.mem -q -c mcvs-main ; then +- echo "There were compilation errors." +- exit 1 + fi + +-$LISPRUN -M $LINKSET/lispinit.mem -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)' +- + if ! cp mcvs.mem $TARGET_LIB/lispinit.mem; then + echo "Unable to copy to $TARGET_LIB." + exit 1 +@@ -84,87 +68,6 @@ + + if ! cp $LISPRUN $TARGET_LIB; then + echo "Unable to copy to $TARGET_LIB." +- exit 1 +-fi +- +-if ! cat > $TARGET_BIN/mcvs < $TARGET_BIN/mcvs-upgrade <" +- echo +- echo "The path specifies the directory which holds unpacked Meta-CVS source," +- echo "the place where the file mcvs-main.lisp is located." +- echo +- echo "This upgrade mechanism is intended to make it possible to use a" +- echo "newer version of Meta-CVS without having to obtain a complete binary" +- echo "distribution that includes the Lisp executable, and without having" +- echo "to install the Lisp development environment to build the sources." +- echo +- echo "Note that it's not possible to upgrade if the newer Meta-CVS sources" +- echo "rely on new C functions being linked into the Lisp system; get a" +- echo "new binary distribution, or set up CLISP and compile Meta-CVS from" +- echo "the sources using its install.sh script" +- echo +- echo "Ignore the copious compiler warnings about objects and functions" +- echo "being redefined; this is what we want." +- echo +- exit 1 +-fi +- +-SOURCE_PATH="\$1" +- +-if ! cd "\$SOURCE_PATH" ; then +- echo "unable to change to \$SOURCE_PATH" +- exit 1 +-fi +- +-if ! \$LISPRUN -c mcvs-main ; then +- echo "unable to compile" +- exit 1 +-fi +- +-if ! \$LISPRUN -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)' ; then +- echo "unable to load and generate memory image" +- exit 1 +-fi +- +-if ! cp mcvs.mem \$TARGET_LIB/lispinit.mem ; then +- echo "unable to copy new Meta-CVS image to \$TARGET_LIB directory." +- exit 1 +-fi +- +-echo +-echo "It appears that Meta-CVS has been re-generated from the given sources." +-echo +- +-END +-then +- echo "Could not create mcvs script in $TARGET." +- exit 1 +-fi +- +-if ! chmod a+x "$TARGET_BIN/mcvs-upgrade" ; then +- echo "Could not set permissions of mcvs script in $TARGET." + exit 1 + fi + diff --git a/devel/meta-cvs/pkg-descr b/devel/meta-cvs/pkg-descr new file mode 100644 index 000000000000..255fda99af55 --- /dev/null +++ b/devel/meta-cvs/pkg-descr @@ -0,0 +1,18 @@ +This is a port of Meta-CVS, a version control system built around CVS. +Although it retains most of the features of CVS, including all of the +networking support, it is more capable than CVS, and easier to use. + +Its main features are: + * Directory structure versioning. + * Support for a promotion model. + * User-friendly file type handling. + * Sane corner cases. + * Simple branching and merging. + * Support for symbolic links and metadata. + * Tracking of third party code containing moves and renames. + * Ease of deployment. + +WWW: http://users.footprints.net/~kaz/mcvs.html + +- Johannes Groedem +johs@copyleft.no diff --git a/devel/meta-cvs/pkg-plist b/devel/meta-cvs/pkg-plist new file mode 100644 index 000000000000..eb29c79e3d1c --- /dev/null +++ b/devel/meta-cvs/pkg-plist @@ -0,0 +1,7 @@ +bin/mcvs +lib/clisp/meta-cvs/lispinit.mem +lib/clisp/meta-cvs/lisp.run +@dirrm lib/clisp/meta-cvs +%%PORTDOCS%%%%DOCSDIR%%/Meta-CVS-PAPER +%%PORTDOCS%%%%DOCSDIR%%/QUICK-GUIDE +%%PORTDOCS%%@dirrm %%DOCSDIR%%