aboutsummaryrefslogtreecommitdiffstats
path: root/www-apps/miniflux/miniflux-2.2.1.ebuild
diff options
context:
space:
mode:
authorWolfgang Müller2024-10-26 11:28:05 +0200
committerWolfgang Müller2024-10-26 11:28:05 +0200
commit4ccd28754d6b7a553f61837968d3d6ebef87b574 (patch)
tree9446a0a1cd99ecf1ead500317ab885f7182ab003 /www-apps/miniflux/miniflux-2.2.1.ebuild
parent52676f78f098137f61a384cd91a93a6739845b9c (diff)
downloadpramantha-4ccd28754d6b7a553f61837968d3d6ebef87b574.tar.gz
www-apps/miniflux: new package, add 2.2.1
Diffstat (limited to 'www-apps/miniflux/miniflux-2.2.1.ebuild')
-rw-r--r--www-apps/miniflux/miniflux-2.2.1.ebuild107
1 files changed, 107 insertions, 0 deletions
diff --git a/www-apps/miniflux/miniflux-2.2.1.ebuild b/www-apps/miniflux/miniflux-2.2.1.ebuild
new file mode 100644
index 0000000..69716e9
--- /dev/null
+++ b/www-apps/miniflux/miniflux-2.2.1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module systemd
+
+# git rev-parse --short HEAD
+MY_GIT_COMMIT="faa70f30"
+
+DESCRIPTION="Minimalist and opinionated feed reader"
+HOMEPAGE="https://miniflux.app https://github.com/miniflux/v2"
+SRC_URI="https://github.com/${PN}/v2/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://nest.oriole.systems/gentoo/go-mod/${P}-deps.tar.xz"
+
+S="${WORKDIR}/v2-${PV}"
+
+LICENSE="Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv"
+
+RESTRICT="test" # requires network access
+
+DEPEND="acct-user/miniflux"
+RDEPEND="${DEPEND}
+ >=dev-db/postgresql-9.5
+"
+
+src_compile() {
+ ego build -ldflags="
+ -s -w
+ -X 'miniflux.app/v2/internal/version.Version=${PV}'
+ -X 'miniflux.app/v2/internal/version.Commit=${MY_GIT_COMMIT}'
+ -X 'miniflux.app/v2/internal/version.BuildDate=$(date +%FT%T%z)'
+ " -o miniflux main.go
+}
+
+src_install() {
+ dobin miniflux
+
+ insinto /etc
+ doins "${FILESDIR}/${PN}.conf"
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ fowners miniflux:root /etc/${PN}.conf
+ fperms o-rwx /etc/${PN}.conf
+
+ local DOCS=(
+ ChangeLog
+ README.md
+ "${FILESDIR}"/README.gentoo
+ )
+
+ # Makefile has no install target, so call einstalldocs directly
+ einstalldocs
+
+ doman "${PN}".1
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+
+ echo
+ elog "Before using miniflux, you must first create and initialize the database"
+ elog "and enable the hstore extension for it."
+ elog ""
+ elog "Afterwards, create your first admin user by running:"
+ elog " miniflux -create-admin"
+ else
+ # This is an existing installation
+
+ echo
+ elog "If you are upgrading from a previous version, schema migrations must be performed."
+ elog "To perform the migrations, stop the daemon, backup your database, and run:"
+ elog " emerge --config =${PF}"
+ fi
+
+ echo
+ elog "Please read"
+ elog ""
+ elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
+ elog ""
+ elog "for more information."
+}
+
+pkg_config() {
+ # To be safe, avoid doing migrations if miniflux is running
+ if pgrep miniflux; then
+ die "miniflux appears to be running, refusing to continue."
+ fi
+
+ # Extract the database URL variable instead of just sourcing the config file
+ # because miniflux itself may interpret quotes as part of the URL
+ local DATABASE_URL="$(sed -n 's/^DATABASE_URL=\(.*\)/\1/p' "${EROOT}/etc/${PN}.conf")"
+ [[ -n "${DATABASE_URL}" ]] || die "Failed getting DATABASE_URL from config file"
+
+ DATABASE_URL="${DATABASE_URL}" "${EROOT}"/usr/bin/miniflux -migrate \
+ || die "miniflux -migrate failed. Please check the above output for errors."
+
+ echo
+ elog "Database migrations complete."
+}