blob: 220db052eef1ae72a6c91c5ad1a4b7866a34e921 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
PORTNAME= writefreely
DISTVERSIONPREFIX= v
DISTVERSION= 0.15.0
CATEGORIES= www textproc
MAINTAINER= fuz@FreeBSD.org
COMMENT= Clean, Markdown-based publishing platform made for writers
WWW= https://writefreely.org
LICENSE= AGPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
LICENSE_DISTFILES_CC-BY-NC-SA-4.0= writefreely-documentation-v0.13.1_GH0.tar.gz
USES= go:modules
USE_GITHUB= nodefault
USE_RC_SUBR= writefreely
GO_MODULE= github.com/writefreely/writefreely
GO_TARGET= ./cmd/writefreely
SUB_FILES= config.ini.sample pkg-message
USERS= writefreely
GROUPS= writefreely
OPTIONS_DEFINE= DOCS SQLITE3
OPTIONS_DEFAULT= CSS_DIST SQLITE3
OPTIONS_SINGLE= CSS
OPTIONS_SINGLE_CSS= CSS_DIST CSS_LESSC
CSS_DESC= Stylesheets
CSS_DIST_DESC= Use pre-generated stylesheets
CSS_LESSC_DESC= Generate stylesheets with lessc (requires npm)
CSS_DIST_MASTER_SITES= LOCAL/fuz:css
CSS_DIST_DISTFILES= writefreely-css-${DISTVERSION}.tar.gz:css
CSS_LESSC_BUILD_DEPENDS= npm:www/npm
CSS_LESSC_VARS= LEGAL_PACKAGE=yes \
NO_PACKAGE="uses www/npm to fetch files at build time (option CSS_LESSC)"
DOCS_GH_TUPLE= writefreely:documentation:v${DISTVERSION}:docs
DOCS_VARS= LICENSE+=CC-BY-NC-SA-4.0 \
LICENSE_COMB=multi
SQLITE3_VARS= GO_BUILDFLAGS+=-tags=sqlite
# download the lessc program with npm for rolling the writefreely-css distfile
${WRKDIR}/npm/bin/lessc:
@${ECHO_MSG} "=> downloading the lessc utility with NPM"
${MKDIR} ${WRKDIR}/npm
npm -C ${WRKDIR}/npm -g install less@3.5.3
npm -C ${WRKDIR}/npm -g install less-plugin-clean-css
# Packaging node.js applications is a PITA, so supply pre-generated CSS files as
# a custom distfile using lessc, a node.js application.
do-build-CSS_LESSC-on: ${WRKDIR}/npm/bin/lessc
@${ECHO_MSG} "=> generating CSS files with lessc"
${RM} -r ${WRKDIR}/css
${MKDIR} ${WRKDIR}/css
cd ${WRKSRC}/less && ${WRKDIR}/npm/bin/lessc app.less --clean-css="--s1 --advanced" ${WRKDIR}/css/write.css
cd ${WRKSRC}/less && ${WRKDIR}/npm/bin/lessc fonts.less --clean-css="--s1 --advanced" ${WRKDIR}/css/fonts.css
cd ${WRKSRC}/less && ${WRKDIR}/npm/bin/lessc icons.less --clean-css="--s1 --advanced" ${WRKDIR}/css/icons.css
cd ${WRKSRC}/less && ${WRKDIR}/npm/bin/lessc prose.less --clean-css="--s1 --advanced" ${WRKDIR}/css/prose.css
${TAR} -z -c -f ${WRKDIR}/writefreely-css-${DISTVERSION}.tar.gz -C ${WRKDIR} css
do-install-DOCS-on:
cd ${WRKSRC_docs} && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} '! -depth 1'
post-install:
${MKDIR} ${STAGEDIR}${WWWDIR}/keys
${INSTALL_DATA} ${WRKDIR}/config.ini.sample ${STAGEDIR}${WWWDIR}
cd ${WRKSRC} && ${COPYTREE_SHARE} pages ${STAGEDIR}${WWWDIR}
cd ${WRKSRC} && ${COPYTREE_SHARE} static ${STAGEDIR}${WWWDIR}
${INSTALL_DATA} ${WRKDIR}/css/*.css ${STAGEDIR}${WWWDIR}/static/css/
cd ${WRKSRC} && ${COPYTREE_SHARE} templates ${STAGEDIR}${WWWDIR}
.include <bsd.port.mk>
|