Re: cvs commit: ports/textproc Makefile ports/textproc/htmlc Makefile distinfo pkg-descr

From: Stanislav Sedov <stas_at_FreeBSD.org>
Date: Fri, 26 Mar 2010 19:15:44 -0700
On Sun, 21 Mar 2010 12:56:53 +0000 (UTC)
Martin Wilke <miwi_at_FreeBSD.org> mentioned:

> miwi        2010-03-21 12:56:53 UTC
> 
>   FreeBSD ports repository
> 
>   Modified files:
>     textproc             Makefile 
>   Added files:
>     textproc/htmlc       Makefile distinfo pkg-descr 
>   Log:
>   Htmlc is an HTML template files expander that produces regular HTML pages from
>   source files that contain text fragments that require some computation to be
>   written.

+PORTNAME=      htmlc
+PORTVERSION=   2.21.0
+CATEGORIES=    textproc
+MASTER_SITES=  http://htmlc.inria.fr/ \
+               http://caml.inria.fr/distrib/bazar-ocaml/htmlc/
+EXTRACT_SUFX=  .tgz
+
+MAINTAINER=    beyert_at_cs.ucr.edu
+COMMENT=       A text file generator
+
+BUILD_DEPENDS= ocamlc:${PORTSDIR}/lang/ocaml

Do not depend on ocaml directly, this will help you to avoid problems in the future.
For this we have USE_OCAML knob.

+
+#MAN1=         htmlc.1
+
+PLIST_FILES=   bin/htmlc bin/htmlc.byt share/htmlc/env
+PLIST_DIRS=    share/htmlc
+PORTDOCS=      LICENSE INSTALL README JoeCaml.gif rocq.gif copyright-eng.htm \
+               copyright-fra.htm eng.htm fra.htm index.htm
+
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS=        --prefix ${LOCALBASE}

This looks weird.  Is this port PREFIX safe?

+USE_GMAKE=     yes
+
+.include <bsd.port.pre.mk>

Why do you include pre.mk here?  I don't see anything of it used later.

+
+post-patch:
+       ${RM} -f ${WRKSRC}/doc/Makefile
+       ${TOUCH} ${WRKSRC}/doc/Makefile
+       ${ECHO} "all:" > ${WRKSRC}/doc/Makefile

If you just don't want to install documentation, it would be better
to just strip "doc" from include dirs in the top-level Makefile.
It'll be much less error prone and wouldn't involve removing/creating
files which could be dangerous.

+
+do-install:
+       _at_${INSTALL_PROGRAM} ${WRKSRC}/compiler/htmlc ${PREFIX}/bin
+       _at_${INSTALL_PROGRAM} ${WRKSRC}/compiler/htmlc.byt ${PREFIX}/bin
+       _at_${MKDIR} ${DATADIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/config/env ${DATADIR}
+
+.if !defined(NOPORTDOCS)
+       _at_${MKDIR} ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/LICENSE ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/INSTALL ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/README ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/JoeCaml.gif ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/rocq.gif ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/copyright-eng.htm ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/copyright-fra.htm ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/eng.htm ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/fra.htm ${DOCSDIR}
+       _at_${INSTALL_DATA} ${WRKSRC}/doc/index.htm ${DOCSDIR}
+.endif

This can be an one-liner as you have all of this in the PORTDOCS variable.
Something like this will do the trick:
	_at_${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,g} ${DOCSDIR}/

This will also work faster and much easier to maintain.  Just a suggestion
though.

+
+.include <bsd.port.post.mk>

-- 
Stanislav Sedov
ST4096-RIPE

Received on Sat Mar 27 2010 - 02:15:54 UTC