PORTNAME= fastcap DISTVERSION= 2.0wr-011109 PORTREVISION= 1 CATEGORIES= science cad MASTER_SITES= http://www.wrcad.com/ftp/pub/ LOCAL/bf MAINTAINER= ports@FreeBSD.org COMMENT= Three-dimensional capacitance extraction program WWW= https://www.rle.mit.edu/cpg/research_codes.htm LICENSE= FASTCAP LICENSE_NAME= fastcap license LICENSE_FILE= ${WRKSRC}/LICENSE LICENSE_PERMS= auto-accept HAS_CONFIGURE= yes CONFIGURE_SCRIPT= config WRKSRC= ${WRKDIR}/fastcap-2.0wr # Fix build with clang11 CFLAGS+= -fcommon # Use malloc CFLAGS+= -DNO_SBRK BINFILES= busgen capgen cubegen fastcap pipedgen pyragen OPTIONS_DEFINE= DOCS EXAMPLES post-extract: @${HEAD} -32 ${WRKSRC}/src/direct.c | ${TAIL} +2 > ${WRKSRC}/LICENSE post-patch: @${REINPLACE_CMD} -e 's,TYPE=other,TYPE=4,' \ ${WRKSRC}/config @${REINPLACE_CMD} -Ee '/CFLAGS =/{s/=/+=/;s/-O[[:digit:]]*//;}' \ ${WRKSRC}/src/Makefile.4 # Minimal changes to fix the Clang build (there should be a more thorough # clean-up, to correct types of functions, remove implicit declarations, fix # formatting, add missing returns, etc.) @${REINPLACE_CMD} -E -e 's,^mul(Up|Down),void &,' \ ${WRKSRC}/src/mulDo.c @${REINPLACE_CMD} -e 's,^mulMatUp,void &,' \ ${WRKSRC}/src/mulMats.c @${REINPLACE_CMD} -e 's,^static getnbrs,static void getnbrs,' \ ${WRKSRC}/src/mulSetup.c # Change "cd foo ; $(MAKE)" into "$(MAKE) -C foo" to unbreak parallel builds @${REINPLACE_CMD} -E 's,cd (.+) ; (\$$\(MAKE\)),\2 -C \1,' \ ${WRKSRC}/Makefile # Avoid clashing of generated temporary files, crucial for parallel builds @${REINPLACE_CMD} -e 's,temp\.out,$$@.&,' ${WRKSRC}/src/Makefile* do-install: ${INSTALL_PROGRAM} ${BINFILES:S,^,${WRKSRC}/bin/,} ${STAGEDIR}${PREFIX}/bin do-install-EXAMPLES-on: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/examples/* ${STAGEDIR}${EXAMPLESDIR} do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${CAT} ${WRKSRC}/README ${WRKSRC}/README.mit > ${STAGEDIR}${DOCSDIR}/readme ${INSTALL_DATA} ${WRKSRC}/doc/*.ps ${STAGEDIR}${DOCSDIR} ${GZIP_CMD} ${STAGEDIR}${DOCSDIR}/* .include