From fa56d7e669fe593a49d8b06e29742cb4bc282af5 Mon Sep 17 00:00:00 2001 From: Shin'ya Minazuki Date: Mon, 18 May 2026 13:11:34 -0300 Subject: [PATCH] Add www-apps/writefreely Signed-off-by: Shin'ya Minazuki --- acct-group/writefreely/metadata.xml | 8 +++ acct-group/writefreely/writefreely-0.ebuild | 6 +++ acct-user/writefreely/metadata.xml | 8 +++ acct-user/writefreely/writefreely-0.ebuild | 10 ++++ www-apps/writefreely/Manifest | 3 ++ .../writefreely/files/writefreely.initd-r0 | 33 ++++++++++++ www-apps/writefreely/metadata.xml | 11 ++++ .../writefreely/writefreely-0.16.0.ebuild | 50 +++++++++++++++++++ 8 files changed, 129 insertions(+) create mode 100644 acct-group/writefreely/metadata.xml create mode 100644 acct-group/writefreely/writefreely-0.ebuild create mode 100644 acct-user/writefreely/metadata.xml create mode 100644 acct-user/writefreely/writefreely-0.ebuild create mode 100644 www-apps/writefreely/Manifest create mode 100644 www-apps/writefreely/files/writefreely.initd-r0 create mode 100644 www-apps/writefreely/metadata.xml create mode 100644 www-apps/writefreely/writefreely-0.16.0.ebuild diff --git a/acct-group/writefreely/metadata.xml b/acct-group/writefreely/metadata.xml new file mode 100644 index 0000000..a9ea785 --- /dev/null +++ b/acct-group/writefreely/metadata.xml @@ -0,0 +1,8 @@ + + + + + shinyoukai@laidback.moe + Shin'ya Minazuki + + diff --git a/acct-group/writefreely/writefreely-0.ebuild b/acct-group/writefreely/writefreely-0.ebuild new file mode 100644 index 0000000..6d47c62 --- /dev/null +++ b/acct-group/writefreely/writefreely-0.ebuild @@ -0,0 +1,6 @@ +# Copyright 2026 Shin'ya Minazuki +EAPI=8 + +inherit acct-group + +ACCT_GROUP_ID=-1 diff --git a/acct-user/writefreely/metadata.xml b/acct-user/writefreely/metadata.xml new file mode 100644 index 0000000..a9ea785 --- /dev/null +++ b/acct-user/writefreely/metadata.xml @@ -0,0 +1,8 @@ + + + + + shinyoukai@laidback.moe + Shin'ya Minazuki + + diff --git a/acct-user/writefreely/writefreely-0.ebuild b/acct-user/writefreely/writefreely-0.ebuild new file mode 100644 index 0000000..6226a83 --- /dev/null +++ b/acct-user/writefreely/writefreely-0.ebuild @@ -0,0 +1,10 @@ +# Copyright 2026 Shin'ya Minazuki +EAPI=8 + +inherit acct-user + +DESCRIPTION="Unprivileged user for WriteFreely" +ACCT_USER_ID=-1 +ACCT_USER_GROUPS=( writefreely ) + +acct-user_add_deps diff --git a/www-apps/writefreely/Manifest b/www-apps/writefreely/Manifest new file mode 100644 index 0000000..b7837c9 --- /dev/null +++ b/www-apps/writefreely/Manifest @@ -0,0 +1,3 @@ +DIST writefreely-0.16.0-deps.tar.gz 13382 BLAKE2B 54e56b60a76b8cda32d63a1a00d0a51134aad6512209b4c9a94794255b74595e1e3ba993161847ae1de815736f5045ffdf5f6d384aa7b9f659e5a250c3b3cccb SHA512 2f05a3cd55ed1d8991c5d153bb9c9ad4253d8d9588209a2bc9392de60fd35e48b6ef8d2fcdf6252cc922f9983da4a64477ed10a40c29e7190cc6b39ce163310f +DIST writefreely-0.16.0-static.tar.gz 13271 BLAKE2B a6e8993c12282e908d3cc3ad9443a636ea94cc36ce96ff2b02f2418c4e75cb7074f2526c3cb841cf3133023c7e8b5d93684b12f7c2026a3a8ca049e9b5af12b7 SHA512 9ecc27b7b9824bddcdec38255f8e0a986684fc1534b64d0cd10bdb21dbba76c5801b57d47e3d4d15307133fd16e4fd18ec8113ddc8da99d54e7b49829254f272 +DIST writefreely-0.16.0.tar.gz 3530075 BLAKE2B ecc3ab7e2db981794b9c2f91033f319be99cc544706bf4585b10930277abef30346fe494660880e4e54cf0c36c5f1bc878d9d3c6d34de5696541f9bf590c0d73 SHA512 20e1b2e882d4a2789cdfd9fd09e9379d023ce3bd8cbc482fb3e6daa3c8f4c35e5b80b01e129ca8b65caae68867679ea0c93238d6b5129155e6d7a8fa661d7358 diff --git a/www-apps/writefreely/files/writefreely.initd-r0 b/www-apps/writefreely/files/writefreely.initd-r0 new file mode 100644 index 0000000..e2808c8 --- /dev/null +++ b/www-apps/writefreely/files/writefreely.initd-r0 @@ -0,0 +1,33 @@ +#!/sbin/openrc-run +# Copyright 2026 Shin'ya Minazuki +supervisor="supervise-daemon" + +command="/usr/bin/writefreely" +command_args="-c /etc/writefreely/config.ini" +command_user="writefreely:writefreely" +command_background="true" +extra_commands="genconf initdb" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + want caddy httpd nginx +} + +genconf() { + ebegin "Generating configuration file..." + ${command} ${command_args} config gen + eend $? +} + +initdb() { + ebegin "Initializing database..." + ${command} ${command_args} --init-db + eend $? +} + +start_pre() { + if ! checkpath --file /etc/${RC_SVCNAME}/config.ini; then + eerror "You need a configuration file to proceed" + fi + eend $? +} diff --git a/www-apps/writefreely/metadata.xml b/www-apps/writefreely/metadata.xml new file mode 100644 index 0000000..86b47f1 --- /dev/null +++ b/www-apps/writefreely/metadata.xml @@ -0,0 +1,11 @@ + + + + + shinyoukai@laidback.moe + Shin'ya Minazuki + + + Enable support for SQLite + + diff --git a/www-apps/writefreely/writefreely-0.16.0.ebuild b/www-apps/writefreely/writefreely-0.16.0.ebuild new file mode 100644 index 0000000..4df8584 --- /dev/null +++ b/www-apps/writefreely/writefreely-0.16.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 2026 Shin'ya Minazuki +EAPI=8 + +inherit go-module optfeature + +DESCRIPTION="An open-source platform for building a writing space on the web" +HOMEPAGE="https://writefreely.org" +SRC_URI=" + https://github.com/writefreely/writefreely/archive/refs/tags/v0.16.0.tar.gz -> ${P}.tar.gz + https://mirror.chaotic.ninja/software/writefreely/${P}-deps.tar.gz + https://mirror.chaotic.ninja/software/writefreely/${P}-static.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64" + +DEPEND=" + acct-group/writefreely + acct-user/writefreely +" +RDEPEND="${DEPEND}" +RESTRICT="mirror" +IUSE="+sqlite" + +src_compile() { + if use sqlite; then + local BUILD_TAGS="netgo sqlite" + else + local BUILD_TAGS="netgo" + fi + + export CGO_ENABLED="0" + + ego build -tags "${BUILD_TAGS}" -ldflags "-s -w -X 'github.com/writefreely/writefreely.softwareVer=${PVR}'" -v -x ./cmd/... +} + +src_install() { + dobin writefreely + insinto "/usr/share/writefreely" + doins -r static + doins -r templates + newinitd "${FILESDIR}/writefreely.initd-r0" + keepdir "/etc/${PN}" +} + +pkg_postinst() { + optfeature_header "Alternative SQL server support" + optfeature "MySQL" virtual/mysql +}