From d7d0269b90c0570aa02518643b766476b49e267c Mon Sep 17 00:00:00 2001 From: marino Date: Wed, 11 Jun 2014 12:23:25 +0000 Subject: Resurrect devel/c2mdoc (with stage support), assign maintainer It seems that this port was killed for not having publically available distfiles, but from what I can tell, this was always a distfile-free port, meaning that it was removed in error. The PR to bring it back did not provide the required stage support, but luckily that was trivial to add. Differences from the previous version: * pkg-descr rewrapped * whitespace removed from awk script (caused PORTREVISION bump) * Header trimmed * NOMAN definition removed * CP+REINPLACE_CMD replaced with SED and moved to post-extract target * Stage support * Maintenance passed to PR submitter PR: 189009 Submitted by: Chris Hutchinson Tweaks by: marino --- devel/c2mdoc/Makefile | 29 +++++++++++++++++++++++++++++ devel/c2mdoc/files/c2mdoc | 17 +++++++++++++++++ devel/c2mdoc/files/c2mdoc.awk | 15 +++++++++++++++ devel/c2mdoc/pkg-descr | 5 +++++ 4 files changed, 66 insertions(+) create mode 100644 devel/c2mdoc/Makefile create mode 100644 devel/c2mdoc/files/c2mdoc create mode 100644 devel/c2mdoc/files/c2mdoc.awk create mode 100644 devel/c2mdoc/pkg-descr (limited to 'devel/c2mdoc') diff --git a/devel/c2mdoc/Makefile b/devel/c2mdoc/Makefile new file mode 100644 index 000000000000..58f5067504ec --- /dev/null +++ b/devel/c2mdoc/Makefile @@ -0,0 +1,29 @@ +# Created by: Bruce M. Simpson +# $FreeBSD$ + +PORTNAME= c2mdoc +PORTVERSION= 20040302 +PORTREVISION= 1 +CATEGORIES= devel textproc +MASTER_SITES= # +DISTFILES= + +MAINTAINER= portmaster@bsdforge.com +COMMENT= Script to generate mdoc(7) markup from C functions + +RUN_DEPENDS= cproto:${PORTSDIR}/devel/cproto + +NO_BUILD= yes +NO_WRKSUBDIR= yes + +PLIST_FILES= bin/c2mdoc libexec/c2mdoc.awk + +post-extract: + ${SED} -e "s|%%LIBEXECDIR%%|${PREFIX}/libexec|g;" \ + ${FILESDIR}/c2mdoc > ${WRKDIR}/c2mdoc + +do-install: + ${INSTALL_SCRIPT} ${FILESDIR}/c2mdoc.awk ${STAGEDIR}${PREFIX}/libexec + ${INSTALL_SCRIPT} ${WRKDIR}/c2mdoc ${STAGEDIR}${PREFIX}/bin + +.include diff --git a/devel/c2mdoc/files/c2mdoc b/devel/c2mdoc/files/c2mdoc new file mode 100644 index 000000000000..e1b789998d04 --- /dev/null +++ b/devel/c2mdoc/files/c2mdoc @@ -0,0 +1,17 @@ +#!/bin/sh +# +# c2mdoc -- Front-end which abuses the cproto parser to spit out +# mdoc(7) format prototypes for use in FreeBSD documentation. +# +# $FreeBSD$ +# + +AWKSCRIPT="%%LIBEXECDIR%%/c2mdoc.awk" +CPROTO='-P"int\tf\t(\ta\t,\tb\t)" -pq -f3' +CPROTO_BIN=cproto +export CPROTO + +${CPROTO_BIN} $1 | \ + grep -v '/\*.*\*/' | \ + sed -e 's/[,();]//g' | \ + ${AWKSCRIPT} diff --git a/devel/c2mdoc/files/c2mdoc.awk b/devel/c2mdoc/files/c2mdoc.awk new file mode 100644 index 000000000000..447153bbc163 --- /dev/null +++ b/devel/c2mdoc/files/c2mdoc.awk @@ -0,0 +1,15 @@ +#!/usr/bin/awk -f +# +# c2mdoc.awk -- Takes tabulated output from cproto(1) and turns it into +# mdoc(7) markup. +# +# $FreeBSD$ +# +BEGIN { FS="\t" } +{ + printf ".Ft %s\n", $1 ; + printf ".Fn %s", $2 ; + for (i = 4; i < NF; i++) + printf " \"%s\"", $i + printf "\n" ; +} diff --git a/devel/c2mdoc/pkg-descr b/devel/c2mdoc/pkg-descr new file mode 100644 index 000000000000..1f3aa49d5d37 --- /dev/null +++ b/devel/c2mdoc/pkg-descr @@ -0,0 +1,5 @@ +c2mdoc is a shell and awk script wrapper which abuses devel/cproto's +parser to spit out function prototypes in a format ready to paste into +FreeBSD developer documentation. c2man already claims to do such a +thing, but seems crippled in the face of our kernel source. The +toolchain used by this port whinges but still generates markup. -- cgit