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"> <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"> <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>