aboutsummaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
authorMateusz Piotrowski <0mp@FreeBSD.org>2021-11-26 18:33:58 +0000
committerMateusz Piotrowski <0mp@FreeBSD.org>2021-11-26 18:36:48 +0000
commit06b23f86f362f0fcbaf7c4b23fb91e5d7e84ea36 (patch)
tree954d08278daeba510f3f7b75987e623b1b80c263 /textproc
parent03ae679d951df0b94e69552e170050bdfd9a2727 (diff)
Diffstat (limited to 'textproc')
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/write-good/Makefile75
-rw-r--r--textproc/write-good/distinfo7
-rw-r--r--textproc/write-good/pkg-descr13
-rw-r--r--textproc/write-good/pkg-plist10
5 files changed, 106 insertions, 0 deletions
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