Skip site navigation (1)Skip section navigation (2)
Date:      12 Nov 2000 19:45:42 -0000
From:      "J.'LoneWolf' Mattsson" <lonewolf@flame.org>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/22794: New port: ccdoc 0.7a (second try)
Message-ID:  <20001112194542.299.qmail@ghost.home.earthmagic.org>

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

>Number:         22794
>Category:       ports
>Synopsis:       New port: ccdoc 0.7a (second try)
>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:   Sun Nov 12 11:50:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     J.'LoneWolf' Mattsson
>Release:        FreeBSD 4.0-20000608-STABLE i386
>Organization:
none
>Environment:
As seen above, I've created this port under 4.0-20000608-STABLE, which is the
latest version I have installed at this moment. I see no reason why it should
not work under newer versions.

>Description:
This is a port submission for CcDoc 0.7a, a doc-comment tool like JavaDoc, but
for C++ instead.

This is my second try at submitting this port. I have changed the things I got
feedback on the first time (thanks for high quality feedback, I learned
something new thanks to that! :) ).
Regrettably I do not have the ID of my first submission attempt, but a search
for "ccdoc" should find it easily (I'm writing this without having net access,
so I cannot do it myself). I believe the first pr can be changed to "closed"
if it hasn't been so already.

Since the first attempt did not make it into the ports tree, I am submitting
this as a shar, not as a diff. Hope that's the correct thing to do.

Cheers,
/Johny

>How-To-Repeat:
N/A.

>Fix:
# 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:
#
#	ccdoc/
#	ccdoc/Makefile
#	ccdoc/pkg
#	ccdoc/pkg/COMMENT
#	ccdoc/pkg/PLIST
#	ccdoc/pkg/DESCR
#	ccdoc/files
#	ccdoc/files/md5
#	ccdoc/patches
#	ccdoc/patches/patch-aa
#	ccdoc/patches/patch-ab
#	ccdoc/patches/patch-ac
#	ccdoc/patches/patch-ad
#
echo c - ccdoc/
mkdir -p ccdoc/ > /dev/null 2>&1
echo x - ccdoc/Makefile
sed 's/^X//' >ccdoc/Makefile << 'END-of-ccdoc/Makefile'
X# New ports collection makefile for:   ccdoc
X# Date created:        9 October 2000
X# Whom:                lonewolf
X#
X# $FreeBSD$
X#
X
XPORTNAME=		ccdoc
XPORTVERSION=	0.7a
XCATEGORIES=		devel
XMASTER_SITES=	http://www.joelinoff.com/ccdoc/ \
X				http://www.flame.org/~lonewolf/distfiles/ \
X				http://www.earthmagic.org/FreeBSD/distfiles/
XDISTFILES=		ccdoc_v07a_src_taz.exe
X
XMAINTAINER=		lonewolf@flame.org
X
XWRKSRC=			${WRKDIR}/ccdoc_v07a
XUSE_PERL=		yes
X
XDOCDIR=${PREFIX}/share/doc/ccdoc
X
Xpre-patch:
X	@${ECHO} "Stripping ^M from all the files..."
X	@find ${WRKSRC} -type f | xargs perl -pi -e 's/\r//'
X
Xdo-build:
X	(cd ${WRKSRC}/ccdoc_dev/libjdl/src; ${PERL} mk.pl opt)
X	(cd ${WRKSRC}/ccdoc_dev/ccdoc/src; ${PERL} mk.pl opt)
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/ccdoc_dev/ccdoc/bin_freebsd_opt/ccdoc.exe ${PREFIX}/bin/ccdoc
X
Xpost-install:
X	strip ${PREFIX}/bin/ccdoc
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${DOCDIR}
X	${INSTALL_MAN} ${WRKSRC}/doc/*.html ${WRKSRC}/doc/*.txt ${WRKSRC}/doc/*.gif ${DOCDIR}
X	${MKDIR} ${DOCDIR}/images
X	${INSTALL_MAN} ${WRKSRC}/doc/images/*.gif ${DOCDIR}/images
X	${MKDIR} ${DOCDIR}/autodoc
X	${INSTALL_MAN} ${WRKSRC}/doc/autodoc/* ${DOCDIR}/autodoc
X.endif
X
X.include <bsd.port.mk>
END-of-ccdoc/Makefile
echo c - ccdoc/pkg
mkdir -p ccdoc/pkg > /dev/null 2>&1
echo x - ccdoc/pkg/COMMENT
sed 's/^X//' >ccdoc/pkg/COMMENT << 'END-of-ccdoc/pkg/COMMENT'
XA JavaDoc like tool for extracting comments from C++ source and generating HTML
END-of-ccdoc/pkg/COMMENT
echo x - ccdoc/pkg/PLIST
sed 's/^X//' >ccdoc/pkg/PLIST << 'END-of-ccdoc/pkg/PLIST'
Xbin/ccdoc
Xshare/doc/ccdoc/bugs.html
Xshare/doc/ccdoc/ccdoc_flow_v07a.gif
Xshare/doc/ccdoc/faq.txt
Xshare/doc/ccdoc/index.html
Xshare/doc/ccdoc/main.html
Xshare/doc/ccdoc/relnotes.txt
Xshare/doc/ccdoc/sidebar.html
Xshare/doc/ccdoc/autodoc/ccdoc.ctf
Xshare/doc/ccdoc/autodoc/ccdoc.index.html
Xshare/doc/ccdoc/autodoc/ccdoc.index.pkg.CcDoc.html
Xshare/doc/ccdoc/autodoc/ccdoc.index.pkg.libjdl.html
Xshare/doc/ccdoc/autodoc/ccdoc.r126.html
Xshare/doc/ccdoc/autodoc/ccdoc.r134.html
Xshare/doc/ccdoc/autodoc/ccdoc.r148.html
Xshare/doc/ccdoc/autodoc/ccdoc.r160.html
Xshare/doc/ccdoc/autodoc/ccdoc.r1ad.html
Xshare/doc/ccdoc/autodoc/ccdoc.r1c7.html
Xshare/doc/ccdoc/autodoc/ccdoc.r25d.html
Xshare/doc/ccdoc/autodoc/ccdoc.r28b.html
Xshare/doc/ccdoc/autodoc/ccdoc.r32e.html
Xshare/doc/ccdoc/autodoc/ccdoc.r36f.html
Xshare/doc/ccdoc/autodoc/ccdoc.r389.html
Xshare/doc/ccdoc/autodoc/ccdoc.r38c.html
Xshare/doc/ccdoc/autodoc/ccdoc.r38f.html
Xshare/doc/ccdoc/autodoc/ccdoc.r397.html
Xshare/doc/ccdoc/autodoc/ccdoc.r400.html
Xshare/doc/ccdoc/autodoc/ccdoc.r413.html
Xshare/doc/ccdoc/autodoc/ccdoc.r456.html
Xshare/doc/ccdoc/autodoc/ccdoc.r491.html
Xshare/doc/ccdoc/autodoc/ccdoc.r4ce.html
Xshare/doc/ccdoc/autodoc/ccdoc.r59e.html
Xshare/doc/ccdoc/autodoc/ccdoc.r5b3.html
Xshare/doc/ccdoc/autodoc/ccdoc.r5cb.html
Xshare/doc/ccdoc/autodoc/ccdoc.r5d.html
Xshare/doc/ccdoc/autodoc/ccdoc.r610.html
Xshare/doc/ccdoc/autodoc/ccdoc.r68b.html
Xshare/doc/ccdoc/autodoc/ccdoc.r6d0.html
Xshare/doc/ccdoc/autodoc/ccdoc.r6fc.html
Xshare/doc/ccdoc/autodoc/ccdoc.r721.html
Xshare/doc/ccdoc/autodoc/ccdoc.r8.html
Xshare/doc/ccdoc/autodoc/ccdoc.rb2.html
Xshare/doc/ccdoc/autodoc/ccdoc.rf5.html
Xshare/doc/ccdoc/autodoc/ccdoc.xref.html
Xshare/doc/ccdoc/images/blue-ball-small.gif
Xshare/doc/ccdoc/images/blue-ball.gif
Xshare/doc/ccdoc/images/constructor-index.gif
Xshare/doc/ccdoc/images/constructors.gif
Xshare/doc/ccdoc/images/enum-index.gif
Xshare/doc/ccdoc/images/enums.gif
Xshare/doc/ccdoc/images/macro-index.gif
Xshare/doc/ccdoc/images/macros.gif
Xshare/doc/ccdoc/images/magenta-ball-small.gif
Xshare/doc/ccdoc/images/magenta-ball.gif
Xshare/doc/ccdoc/images/method-index.gif
Xshare/doc/ccdoc/images/methods.gif
Xshare/doc/ccdoc/images/package-index.gif
Xshare/doc/ccdoc/images/packages.gif
Xshare/doc/ccdoc/images/red-ball-small.gif
Xshare/doc/ccdoc/images/red-ball.gif
Xshare/doc/ccdoc/images/typedef-index.gif
Xshare/doc/ccdoc/images/typedefs.gif
Xshare/doc/ccdoc/images/variable-index.gif
Xshare/doc/ccdoc/images/variables.gif
Xshare/doc/ccdoc/images/yellow-ball-small.gif
Xshare/doc/ccdoc/images/yellow-ball.gif
Xshare/doc/ccdoc/images/zz_image1.gif
Xshare/doc/ccdoc/images/zz_image2.gif
Xshare/doc/ccdoc/images/zz_image3.gif
Xshare/doc/ccdoc/images/zz_image4.gif
X@dirrm share/doc/ccdoc/autodoc
X@dirrm share/doc/ccdoc/images
X@dirrm share/doc/ccdoc
END-of-ccdoc/pkg/PLIST
echo x - ccdoc/pkg/DESCR
sed 's/^X//' >ccdoc/pkg/DESCR << 'END-of-ccdoc/pkg/DESCR'
XCcdoc is a tool for extracting comments from C++ source code and presenting it
Xin HTML format, very similar to Java's JavaDoc tool. The tagging used in ccdoc
Xis very similar to that of Javadoc, with adaptations for the C++ specifics, of
Xcourse. Ccdoc supports extracting comments from both header and implementation
Xfiles.
X
XIn contrast to most other C++ doc'ing applications, ccdoc analyses the code
Xbefore it has been run through the pre-processor, so things such as macros can
Xactually be included in the documentation.
X
XIt's usage is not quite as straight forward as JavaDoc's, but considering the
Xquality of the output, it is well worth the effort.
X
XWWW: http://www.joelinoff.com/ccdoc/
X
X- LoneWolf
Xlonewolf@flame.org
END-of-ccdoc/pkg/DESCR
echo c - ccdoc/files
mkdir -p ccdoc/files > /dev/null 2>&1
echo x - ccdoc/files/md5
sed 's/^X//' >ccdoc/files/md5 << 'END-of-ccdoc/files/md5'
XMD5 (ccdoc_v07a_src_taz.exe) = dd9a24a374d10b00391d09a659878b28
END-of-ccdoc/files/md5
echo c - ccdoc/patches
mkdir -p ccdoc/patches > /dev/null 2>&1
echo x - ccdoc/patches/patch-aa
sed 's/^X//' >ccdoc/patches/patch-aa << 'END-of-ccdoc/patches/patch-aa'
X--- ccdoc_dev/tools/mkmk.pl	Thu Oct  5 16:51:43 2000
X+++ ccdoc_dev/tools/mkmk.patched	Thu Oct  5 16:52:25 2000
X@@ -166,11 +166,11 @@
X     else {
X 	# UNIXes.
X 	print MK "CPP         = CC\n";
X-	print MK "CPPFLAGS1   = -pto -pta +w\n";
X+	print MK "CPPFLAGS1   = \$(CFLAGS) \n";
X 	print MK "CPPFLAGS2   = -DJDL_DEFINE_LOCAL_TYPES -DJDL_DEFINE_LOCAL_BOOLEAN\n";
X-	print MK "CPPFLAGS3   = -I. -I../..\n";
X+	print MK "CPPFLAGS3   = -I. -I../.. -o \$\@\n";
X 	print MK "CPPFLAGS4   = \$(MYCPPFLAGS)\n";
X-	print MK "CPPFLAGS    = \$(CPPFLAGS1) \$(CPPFLAGS2) \$(CPPFLAGS3) \$(CPPFLAGS4) -c -o \$\@\n";
X+	print MK "CPPFLAGS    = \$(CPPFLAGS1) \$(CPPFLAGS2) \$(CPPFLAGS3) \$(CPPFLAGS4) -c\n";
X 	if ( $type == 1 ) {
X 	    print MK "LINK        = \$(CPP)\n";
X 	    if( $arch eq "hpux" ) {
END-of-ccdoc/patches/patch-aa
echo x - ccdoc/patches/patch-ab
sed 's/^X//' >ccdoc/patches/patch-ab << 'END-of-ccdoc/patches/patch-ab'
X--- ccdoc_dev/ccdoc/src/ccdocphase3.h	Thu Oct  5 16:53:10 2000
X+++ ccdoc_dev/ccdoc/src/ccdocphase3.h.patched	Fri Oct  6 07:15:30 2000
X@@ -210,7 +210,7 @@
X 	   const char* trailer,
X 	   bool mcfFlag);
X private:
X-  WriteTop();
X+  // WriteTop();
X   const char* GetCurrTime();
X   const char* GetProgram();
X private:
END-of-ccdoc/patches/patch-ab
echo x - ccdoc/patches/patch-ac
sed 's/^X//' >ccdoc/patches/patch-ac << 'END-of-ccdoc/patches/patch-ac'
X--- doc/main.html	Tue Jun 15 19:12:06 1999
X+++ doc/main.html.patched	Fri Oct  6 16:05:53 2000
X@@ -407,7 +407,7 @@
X         </tr>
X         <tr>
X             <td height="42">&nbsp;<a
X-            href="ccdoc_v07a_bin_taz.exe">ccdoc_v07a bin_taz.exe</a></td>
X+            href="http://www.joelinoff.com/ccdoc/ccdoc_v07a_bin_taz.exe">ccdoc_v07a bin_taz.exe</a></td>
X             <td width="56%" height="42">The binary distribution
X             for Solaris 5.6, HP UX 10, and Windows 95/98/NT. It
X             is about 530K.</td>
X@@ -415,7 +415,7 @@
X         </tr>
X         <tr>
X             <td height="23">&nbsp;<a
X-            href="ccdoc_v07a_src_taz.exe">ccdoc_v07a src_taz.exe</a></td>
X+            href="http://www.joelinoff.com/ccdoc/ccdoc_v07a_src_taz.exe">ccdoc_v07a src_taz.exe</a></td>
X             <td width="56%" height="23">The source code
X             distribution along with the binaries. It is about
X             834K.</td>
END-of-ccdoc/patches/patch-ac
echo x - ccdoc/patches/patch-ad
sed 's/^X//' >ccdoc/patches/patch-ad << 'END-of-ccdoc/patches/patch-ad'
X--- ccdoc_dev/ccdoc/src/ccdocphase2.cpp	Mon Oct  9 08:28:09 2000
X+++ ccdoc_dev/ccdoc/src/ccdocphase2.cpp.patched	Mon Oct  9 08:29:50 2000
X@@ -53,10 +53,10 @@
X   // TODO: After all of the files are processed, run through
X   //       and "fix" the "scoped" records that have comments.
X   if(m_ScopedNodeList.GetNumItems()) {
X-    ::fprintf(stderr,"DEBUG: %d scoped nodes found with comments.\n",
X-	      m_ScopedNodeList.GetNumItems());
X-    ::fprintf(stderr,"DEBUG: %d scoped node refs found for comment analysis.\n",
X-	      m_ClassMap.GetNumItems());
X+    //::fprintf(stderr,"DEBUG: %d scoped nodes found with comments.\n",
X+	      //m_ScopedNodeList.GetNumItems());
X+    //::fprintf(stderr,"DEBUG: %d scoped node refs found for comment analysis.\n",
X+	      //m_ClassMap.GetNumItems());
X     {for(uint i=0;i<m_ScopedNodeList.GetNumItems();i++) {
X       CCcDocParserNode* node = m_ScopedNodeList.Get(i);
X       CCcDocParserNode* parent = node->GetParent();
X@@ -89,15 +89,15 @@
X 	}
X       }}
X       if(class_name) {
X-	::fprintf(stderr,"DEBUG: %s::%s\n",class_name,node->GetName());
X+	//::fprintf(stderr,"DEBUG: %s::%s\n",class_name,node->GetName());
X 	if(m_ClassMap.Contains(class_name)) {
X-	  ::fprintf(stderr,"DEBUG: found %s\n",class_name);
X+	  //::fprintf(stderr,"DEBUG: found %s\n",class_name);
X 	  CJdlVector<CCcDocParserNode*>* list = 0;
X 	  list = (CJdlVector<CCcDocParserNode*>*) m_ClassMap.Get(class_name);
X 	  assert(list);
X 	  {for(ulong j=0;j<list->GetNumItems();j++) {
X 	    CCcDocParserNode* cls = list->Get(j);
X-	    ::fprintf(stderr,"DEBUG: checking node %d/%d\n",j+1,list->GetNumItems());
X+	    //::fprintf(stderr,"DEBUG: checking node %d/%d\n",j+1,list->GetNumItems());
X 
X 	    // Get arg list matching stuff.
X 	    ulong x2 = 0; // starting paren
X@@ -109,7 +109,7 @@
X 
X 	    // Find the method:
X 	    {for(ulong k=0;k<cls->GetNumChildren();k++) {
X-	      ::fprintf(stderr,"DEBUG: checking children %d/%d\n",k+1,cls->GetNumChildren());
X+	      //::fprintf(stderr,"DEBUG: checking children %d/%d\n",k+1,cls->GetNumChildren());
X 	      CCcDocParserNode* nd = cls->GetChild(k);
X 	      assert(nd);
X 	      if(CCcDocParserNode::STMT_FUNCTION == nd->GetType()) {
X@@ -125,7 +125,7 @@
X 		  }}
X 		  ulong diff1 = nd->GetNumItems() - x1;
X 		  bool matched = false;
X-		  ::fprintf(stderr,"DEBUG: diff1=%d, diff2=%d\n",diff1,diff2);
X+		  //::fprintf(stderr,"DEBUG: diff1=%d, diff2=%d\n",diff1,diff2);
X 		  if(diff1 == diff2) {
X 		    matched = true;
X 		    for(;x2<node->GetNumItems() && x1<nd->GetNumItems();x1++,x2++) {
END-of-ccdoc/patches/patch-ad
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?20001112194542.299.qmail>