git: 06b23f86f362 - main - textproc/write-good: Add a new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 26 Nov 2021 18:37:22 UTC
The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/ports/commit/?id=06b23f86f362f0fcbaf7c4b23fb91e5d7e84ea36 commit 06b23f86f362f0fcbaf7c4b23fb91e5d7e84ea36 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2021-11-26 18:33:58 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2021-11-26 18:36:48 +0000 textproc/write-good: Add a new port write-good is a naive linter for English prose. For example, it is able to check for the following issues in text: - passive voice - lexical illusions – cases where a word is repeated - "so" at the beginning of the sentence - "there is" or "there are" at the beginning of the sentence - weasel words - adverbs that can weaken meaning: really, very, extremely, etc. - wordy phrases and unnecessary words - common cliches WWW: https://github.com/btford/write-good Requested by: bcr (via https://wiki.freebsd.org/WantedPorts) --- textproc/Makefile | 1 + textproc/write-good/Makefile | 75 +++++++++++++++++++++++++++++++++++++++++++ textproc/write-good/distinfo | 7 ++++ textproc/write-good/pkg-descr | 13 ++++++++ textproc/write-good/pkg-plist | 10 ++++++ 5 files changed, 106 insertions(+) diff --git a/textproc/Makefile b/textproc/Makefile index fd6af9076a1b..b956937a92fe 100644 --- a/textproc/Makefile +++ b/textproc/Makefile @@ -1952,6 +1952,7 @@ SUBDIR += word2x SUBDIR += wordnet SUBDIR += words + SUBDIR += write-good SUBDIR += wv SUBDIR += wv2 SUBDIR += xalan-c diff --git a/textproc/write-good/Makefile b/textproc/write-good/Makefile new file mode 100644 index 000000000000..57af776ddc7f --- /dev/null +++ b/textproc/write-good/Makefile @@ -0,0 +1,75 @@ +PORTNAME= write-good +DISTVERSIONPREFIX= v +DISTVERSION= 1.0.8 +CATEGORIES= textproc +MASTER_SITES= LOCAL/0mp/:npm +DISTFILES= ${_NPM_DISTFILES} + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= Naive linter for English prose + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= npm:www/npm + +USES= nodejs:run +USE_GITHUB= yes +GH_ACCOUNT= btford + +NO_ARCH= yes +NO_BUILD= yes + +OPTIONS_DEFINE= DOCS +PORTDOCS= README.md + +.if !defined(MAINTAINER_MODE) +_NPM_DISTFILES= ${_NPM_DISTFILE_cache}:npm \ + ${_NPM_DISTFILE_modules}:npm +.endif +_NPM_DISTFILE_cache= ${PORTNAME}-${DISTVERSION}.cache${EXTRACT_SUFX} +_NPM_DISTFILE_modules= ${PORTNAME}-${DISTVERSION}.modules${EXTRACT_SUFX} + +_UNNECESSARY_FILES= test .dockerignore \ + .eslintrc .gitignore .npmignore .pre-commit-hooks.yaml \ + .travis.yml Dockerfile LICENSE README.md +_LIBEXEC_REL= libexec/${PORTNAME} +_LIBEXEC= ${STAGEDIR}${PREFIX}/${_LIBEXEC_REL} + +do-install: + @${MKDIR} ${_LIBEXEC} + (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${_LIBEXEC}) + + ${RLN} ${_LIBEXEC}/bin/${PORTNAME}.js ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + ${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + ${RLN} ${_LIBEXEC}/bin/${PORTNAME}.js ${STAGEDIR}${PREFIX}/bin/writegood + ${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/writegood + + (cd ${_LIBEXEC} && ${RM} -r ${_UNNECESSARY_FILES}) + +post-install: +# Build plist automatically to avoid listing all the node_modules files. + (cd ${STAGEDIR}${PREFIX} && \ + ${FIND} ${_LIBEXEC_REL}/node_modules -not -type d >> ${TMPPLIST}) + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR} + +# - Requires npm (e.g., from www/npm). +# - Remember to set MAINTAINER_MODE, +# e.g., "make -DMAINTAINER_MODE _npm-regenerate". +_npm-regenerate: + ${MAKE} clean patch + (cd ${WRKSRC} && ${SETENV} ${_NPM_ENV} npm install --ignore-scripts) + ${FIND} ${WRKDIR}/.npm ${WRKSRC}/node_modules -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \; + (cd ${WRKDIR} && \ + ${FIND} .npm/_cacache -print0 | LC_ALL=C ${SORT} -z | \ + ${TAR} czf ${WRKDIR}/${_NPM_DISTFILE_cache} --format=bsdtar --uid 0 --gid 0 --options gzip:!timestamp --no-recursion --null -T -) + (cd ${WRKDIR} && \ + ${FIND} ${WRKSRC:T}/node_modules -print0 | LC_ALL=C ${SORT} -z | \ + ${TAR} czf ${WRKDIR}/${_NPM_DISTFILE_modules} --format=bsdtar --uid 0 --gid 0 --options gzip:!timestamp --no-recursion --null -T -) + scp ${WRKDIR}/${_NPM_DISTFILE_cache} ${WRKDIR}/${_NPM_DISTFILE_modules} 0mp@freefall.freebsd.org:public_distfiles/ + cp ${WRKDIR}/${_NPM_DISTFILE_cache} ${WRKDIR}/${_NPM_DISTFILE_modules} ${DISTDIR}/ + +.include <bsd.port.mk> diff --git a/textproc/write-good/distinfo b/textproc/write-good/distinfo new file mode 100644 index 000000000000..6e89d89febe1 --- /dev/null +++ b/textproc/write-good/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1637945430 +SHA256 (write-good-1.0.8.cache.tar.gz) = 925706581f374d4c687d6a0937ef5585a505b97fe54bcf037a5aab42a0dee0b6 +SIZE (write-good-1.0.8.cache.tar.gz) = 8879158 +SHA256 (write-good-1.0.8.modules.tar.gz) = beab42c24078ed500568d94cc6d8c897f83f428328024f577d5b2c9e6a8af365 +SIZE (write-good-1.0.8.modules.tar.gz) = 9226324 +SHA256 (btford-write-good-v1.0.8_GH0.tar.gz) = d4706a6c55f5b4a30453d867d0cc924d59be95b4ded16da0f409d9ec1feee08f +SIZE (btford-write-good-v1.0.8_GH0.tar.gz) = 47480 diff --git a/textproc/write-good/pkg-descr b/textproc/write-good/pkg-descr new file mode 100644 index 000000000000..032d6e34ad4a --- /dev/null +++ b/textproc/write-good/pkg-descr @@ -0,0 +1,13 @@ +write-good is a naive linter for English prose. For example, +it is able to check for the following issues in text: + +- passive voice +- lexical illusions – cases where a word is repeated +- "so" at the beginning of the sentence +- "there is" or "there are" at the beginning of the sentence +- weasel words +- adverbs that can weaken meaning: really, very, extremely, etc. +- wordy phrases and unnecessary words +- common cliches + +WWW: https://github.com/btford/write-good diff --git a/textproc/write-good/pkg-plist b/textproc/write-good/pkg-plist new file mode 100644 index 000000000000..76e12ec7209a --- /dev/null +++ b/textproc/write-good/pkg-plist @@ -0,0 +1,10 @@ +bin/write-good +bin/writegood +libexec/write-good/bin/write-good.js +libexec/write-good/lib/annotate.js +libexec/write-good/lib/lexical-illusions.js +libexec/write-good/lib/starts-with-so.js +libexec/write-good/lib/there-is.js +libexec/write-good/package-lock.json +libexec/write-good/package.json +libexec/write-good/write-good.js