mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-19 08:13:21 +00:00
af73eb9a1c
PR: 277776 Approved by: portmgr (blanket)
74 lines
2.8 KiB
Makefile
74 lines
2.8 KiB
Makefile
PORTNAME= writefreely
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 0.15.0
|
|
PORTREVISION= 1
|
|
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:1.20,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>
|