git: f112b0c1a8cf - main - www/miniflux: Update to 2.2.7

From: Kirill Ponomarev <krion_at_FreeBSD.org>
Date: Sun, 27 Apr 2025 07:24:58 UTC
The branch main has been updated by krion:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f112b0c1a8cf6f8f2a7e0e1796e59bee598daee0

commit f112b0c1a8cf6f8f2a7e0e1796e59bee598daee0
Author:     Kirill Ponomarev <krion@FreeBSD.org>
AuthorDate: 2025-04-27 07:24:42 +0000
Commit:     Kirill Ponomarev <krion@FreeBSD.org>
CommitDate: 2025-04-27 07:24:42 +0000

    www/miniflux: Update to 2.2.7
    
    PR:             285986
    Reported by:    dsh
---
 www/miniflux/Makefile                  | 76 ++++++++++++---------------------
 www/miniflux/distinfo                  | 78 +++-------------------------------
 www/miniflux/files/miniflux.env.sample | 10 ++++-
 www/miniflux/files/miniflux.in         | 44 +++++++++++++------
 www/miniflux/pkg-plist                 |  2 +-
 5 files changed, 71 insertions(+), 139 deletions(-)

diff --git a/www/miniflux/Makefile b/www/miniflux/Makefile
index c00ff0619357..fe7103e2fe3b 100644
--- a/www/miniflux/Makefile
+++ b/www/miniflux/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	miniflux
-DISTVERSION=	2.2.0
-PORTREVISION=	4
+DISTVERSION=	2.2.7
 CATEGORIES=	www
 
 MAINTAINER=	krion@FreeBSD.org
@@ -10,66 +9,43 @@ WWW=		https://miniflux.app/
 LICENSE=	APACHE20
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
-
-USES=		go:modules,1.22
+USES=		go:1.24,modules
 
 USE_GITHUB=	yes
 GH_PROJECT=	v2
-GH_TUPLE=	\
-		PuerkitoBio:goquery:v1.9.2:puerkitobio_goquery/vendor/github.com/PuerkitoBio/goquery \
-		abadojack:whatlanggo:v1.0.1:abadojack_whatlanggo/vendor/github.com/abadojack/whatlanggo \
-		andybalholm:brotli:v1.1.0:andybalholm_brotli/vendor/github.com/andybalholm/brotli \
-		andybalholm:cascadia:v1.3.2:andybalholm_cascadia/vendor/github.com/andybalholm/cascadia \
-		beorn7:perks:v1.0.1:beorn7_perks/vendor/github.com/beorn7/perks \
-		cespare:xxhash:v2.3.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
-		coreos:go-oidc:v3.11.0:coreos_go_oidc_v3/vendor/github.com/coreos/go-oidc/v3 \
-		fxamacker:cbor:v2.6.0:fxamacker_cbor_v2/vendor/github.com/fxamacker/cbor/v2 \
-		go-jose:go-jose:v4.0.2:go_jose_go_jose_v4/vendor/github.com/go-jose/go-jose/v4 \
-		go-webauthn:webauthn:v0.10.2:go_webauthn_webauthn/vendor/github.com/go-webauthn/webauthn \
-		go-webauthn:x:v0.1.9:go_webauthn_x/vendor/github.com/go-webauthn/x \
-		golang-jwt:jwt:v5.2.1:golang_jwt_jwt_v5/vendor/github.com/golang-jwt/jwt/v5 \
-		golang:crypto:v0.26.0:golang_crypto/vendor/golang.org/x/crypto \
-		golang:net:v0.28.0:golang_net/vendor/golang.org/x/net \
-		golang:oauth2:v0.22.0:golang_oauth2/vendor/golang.org/x/oauth2 \
-		golang:sys:v0.23.0:golang_sys/vendor/golang.org/x/sys \
-		golang:term:v0.23.0:golang_term/vendor/golang.org/x/term \
-		golang:text:v0.17.0:golang_text/vendor/golang.org/x/text \
-		google:go-tpm:v0.9.0:google_go_tpm/vendor/github.com/google/go-tpm \
-		google:uuid:v1.6.0:google_uuid/vendor/github.com/google/uuid \
-		gorilla:mux:v1.8.1:gorilla_mux/vendor/github.com/gorilla/mux \
-		klauspost:compress:v1.17.9:klauspost_compress/vendor/github.com/klauspost/compress \
-		lib:pq:v1.10.9:lib_pq/vendor/github.com/lib/pq \
-		mitchellh:mapstructure:v1.5.0:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
-		munnerz:goautoneg:a7dc8b61c822:munnerz_goautoneg/vendor/github.com/munnerz/goautoneg \
-		mvdan:xurls:v2.5.0:mvdan_xurls/vendor/mvdan.cc/xurls/v2 \
-		prometheus:client_golang:v1.20.0:prometheus_client_golang/vendor/github.com/prometheus/client_golang \
-		prometheus:client_model:v0.6.1:prometheus_client_model/vendor/github.com/prometheus/client_model \
-		prometheus:common:v0.55.0:prometheus_common/vendor/github.com/prometheus/common \
-		prometheus:procfs:v0.15.1:prometheus_procfs/vendor/github.com/prometheus/procfs \
-		protocolbuffers:protobuf-go:v1.34.2:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
-		tdewolff:minify:v2.20.37:tdewolff_minify_v2/vendor/github.com/tdewolff/minify/v2 \
-		tdewolff:parse:v2.7.15:tdewolff_parse_v2/vendor/github.com/tdewolff/parse/v2 \
-		x448:float16:v0.8.4:x448_float16/vendor/github.com/x448/float16 \
-		yuin:goldmark:v1.7.4:yuin_goldmark/vendor/github.com/yuin/goldmark
-USE_RC_SUBR=	miniflux
 
-GO_PKGNAME=	miniflux.app
-GO_TARGET=	:${PORTNAME}
-GO_BUILDFLAGS=	-ldflags="-X miniflux.app/version.Version=${DISTVERSION} \
-		-X miniflux.app/version.BuildDate=$$(date +'%Y-%m-%dT%H:%M:%SZ')"
+GO_MODULE=	${GH_ACCOUNT}.app/${GH_PROJECT}
+GO_MOD_DIST=	github
+_BUILD_COMMIT=	d164c738
+_BUILD_DATE=	date -u "+%Y-%m-%dT%H:%M:%SZ"
+_BUILD_XFLAGS=	version.Version=${DISTVERSION} \
+		version.Commit=${_BUILD_COMMIT} \
+		version.BuildDate=${_BUILD_DATE:sh}
+GO_BUILDFLAGS=	-ldflags "${STRIP} ${_BUILD_XFLAGS:S!^!-X miniflux.app/v2/internal/!}"
+
+USE_RC_SUBR=	${PORTNAME}
+
+MINIFLUX_USER?=	${PORTNAME}
+MINIFLUX_GROUP?=	${PORTNAME}
+USERS=		${MINIFLUX_USER}
+GROUPS=		${MINIFLUX_GROUP}
 
-USERS=		miniflux
-GROUPS=		miniflux
+SUB_LIST=	MINIFLUX_GROUP=${MINIFLUX_GROUP} \
+		MINIFLUX_USER=${MINIFLUX_USER}
+
+PLIST_SUB=	MINIFLUX_GROUP=${MINIFLUX_GROUP} \
+		MINIFLUX_USER=${MINIFLUX_USER}
 
 OPTIONS_DEFINE=		PGSQL_SERVER
+
 PGSQL_SERVER_DESC=	Install the PostgreSQL Server Component
 PGSQL_SERVER_USES=	pgsql
 PGSQL_SERVER_VARS=	WANT_PGSQL+="server contrib"
 
 post-install:
-	${INSTALL_MAN} ${WRKSRC}/miniflux.1 ${STAGEDIR}${PREFIX}/share/man/man1/
-	${INSTALL_DATA} ${FILESDIR}/miniflux.env.sample \
+	${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 \
+		${STAGEDIR}${PREFIX}/share/man/man1
+	${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.env.sample \
 		${STAGEDIR}${PREFIX}/etc
 
 .include <bsd.port.mk>
diff --git a/www/miniflux/distinfo b/www/miniflux/distinfo
index aa403ea66bf7..242c3c67ec24 100644
--- a/www/miniflux/distinfo
+++ b/www/miniflux/distinfo
@@ -1,73 +1,5 @@
-TIMESTAMP = 1724651874
-SHA256 (miniflux-v2-2.2.0_GH0.tar.gz) = f9fd5bb74dea9e6836881404358f951e40b500f494e3ce1b01208ed39bcc937a
-SIZE (miniflux-v2-2.2.0_GH0.tar.gz) = 749091
-SHA256 (PuerkitoBio-goquery-v1.9.2_GH0.tar.gz) = cac2d8e3e35ef9f8d2c747c6d06bf989e80806f28f03abc1e4c3bff16bca94bf
-SIZE (PuerkitoBio-goquery-v1.9.2_GH0.tar.gz) = 107482
-SHA256 (abadojack-whatlanggo-v1.0.1_GH0.tar.gz) = 8c9aef03ace03ca11204159b83c8f77c816fc2a71232483d5370817dcbb2c561
-SIZE (abadojack-whatlanggo-v1.0.1_GH0.tar.gz) = 148139
-SHA256 (andybalholm-brotli-v1.1.0_GH0.tar.gz) = 63395834ab5ce6ad91f90af79223995f44aacecda3c66ac5700a87b080c0009c
-SIZE (andybalholm-brotli-v1.1.0_GH0.tar.gz) = 1829084
-SHA256 (andybalholm-cascadia-v1.3.2_GH0.tar.gz) = f30ebb75a9f43a30478c870dd6e372ac7ef64549f621eceb3b13fd91bfde80cb
-SIZE (andybalholm-cascadia-v1.3.2_GH0.tar.gz) = 35370
-SHA256 (beorn7-perks-v1.0.1_GH0.tar.gz) = 98db84bb0224a26094e6adba91b7ee7a1a7ace28cb648d818f8e779e6a19f825
-SIZE (beorn7-perks-v1.0.1_GH0.tar.gz) = 10867
-SHA256 (cespare-xxhash-v2.3.0_GH0.tar.gz) = 0e3dda07b03a5f3733506218860ecb2d50c0f01f16299b5d60902ef5158cbde5
-SIZE (cespare-xxhash-v2.3.0_GH0.tar.gz) = 12696
-SHA256 (coreos-go-oidc-v3.11.0_GH0.tar.gz) = 2d1bdf5f218d60a1b16cdaeff5c6ae85a620227e9bdc57a00217a26e70256455
-SIZE (coreos-go-oidc-v3.11.0_GH0.tar.gz) = 31542
-SHA256 (fxamacker-cbor-v2.6.0_GH0.tar.gz) = 0ac73fe2f073558d378c832fc17c24bf22a9ffa42f4702a58c3ad20e1b3613ee
-SIZE (fxamacker-cbor-v2.6.0_GH0.tar.gz) = 142694
-SHA256 (go-jose-go-jose-v4.0.2_GH0.tar.gz) = 4c55e99f0b48a48dc80e2b5f4d97808a9a8236c99e599e4be773274b15bd1c5c
-SIZE (go-jose-go-jose-v4.0.2_GH0.tar.gz) = 319120
-SHA256 (go-webauthn-webauthn-v0.10.2_GH0.tar.gz) = 1ffb110ec3c64eec5c8a890d893472a4bced8cac335a7270384c3f4db44429cd
-SIZE (go-webauthn-webauthn-v0.10.2_GH0.tar.gz) = 143339
-SHA256 (go-webauthn-x-v0.1.9_GH0.tar.gz) = 52ee591589fc8636e248c1ae9092e03c49e33a1268ac44e0f3de7858265387ea
-SIZE (go-webauthn-x-v0.1.9_GH0.tar.gz) = 10564
-SHA256 (golang-jwt-jwt-v5.2.1_GH0.tar.gz) = 76d1c81a7cd38ed03309f770f60ac3417f16c75b4c53a0c01bb783863783fef0
-SIZE (golang-jwt-jwt-v5.2.1_GH0.tar.gz) = 61340
-SHA256 (golang-crypto-v0.26.0_GH0.tar.gz) = a67fabb33e4ea401e76968abe1ec6f7b86915d0cf1f15803cd0da72dd48fca14
-SIZE (golang-crypto-v0.26.0_GH0.tar.gz) = 1799361
-SHA256 (golang-net-v0.28.0_GH0.tar.gz) = 8008d97595302092019ef024c43212cc00deae8710db49876dd06af52310514f
-SIZE (golang-net-v0.28.0_GH0.tar.gz) = 1454559
-SHA256 (golang-oauth2-v0.22.0_GH0.tar.gz) = 896eb89b677691f1b89e9c3ef9673caac805de60e408cc63fe7cb017c26c53d4
-SIZE (golang-oauth2-v0.22.0_GH0.tar.gz) = 98368
-SHA256 (golang-sys-v0.23.0_GH0.tar.gz) = bcf7e83fa7b940977da6fe16971311f38c46976a85a957d363f0f3a238dd884e
-SIZE (golang-sys-v0.23.0_GH0.tar.gz) = 1501380
-SHA256 (golang-term-v0.23.0_GH0.tar.gz) = 58a6116fc97497b96b063578ea81c0f9199f834714a04c5f060baa715e65f497
-SIZE (golang-term-v0.23.0_GH0.tar.gz) = 14738
-SHA256 (golang-text-v0.17.0_GH0.tar.gz) = edd27accd1b82f97277f1515ec35d3a9a905ae361b2c1afb2ab2db2e85fb3e01
-SIZE (golang-text-v0.17.0_GH0.tar.gz) = 8974580
-SHA256 (google-go-tpm-v0.9.0_GH0.tar.gz) = 4173733d1c3b82cf935edd35caf4f47dc13efdae835c6225a2f3e66cf64f40a2
-SIZE (google-go-tpm-v0.9.0_GH0.tar.gz) = 192319
-SHA256 (google-uuid-v1.6.0_GH0.tar.gz) = ee63376b5675376c60e055ed66e5f3651ccc703bd580c022b8ad00cea309252d
-SIZE (google-uuid-v1.6.0_GH0.tar.gz) = 20896
-SHA256 (gorilla-mux-v1.8.1_GH0.tar.gz) = c2a09e78d1886abb2d291b472eba3ac9185acb35234c1f5616669664ba893d6d
-SIZE (gorilla-mux-v1.8.1_GH0.tar.gz) = 47033
-SHA256 (klauspost-compress-v1.17.9_GH0.tar.gz) = 8130a8314f6f296bf43a0f07021fe51a994c2069390afd45e57496525312506c
-SIZE (klauspost-compress-v1.17.9_GH0.tar.gz) = 38751164
-SHA256 (lib-pq-v1.10.9_GH0.tar.gz) = b150b286d59b5f0bdde499112e2f01881773ff5bfdff023802e9e01b7314a06f
-SIZE (lib-pq-v1.10.9_GH0.tar.gz) = 114490
-SHA256 (mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 81106cbac93000812c194b4a2069dd32913ec18819b1e99e8436595ce4939413
-SIZE (mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 30123
-SHA256 (munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 3a455e3bcf8237ecee0385f97223ca821ec2547284e827e90f94a4984801ca1c
-SIZE (munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 2810
-SHA256 (mvdan-xurls-v2.5.0_GH0.tar.gz) = 552779a765de29e51ff01fe6c85a7d0389faae1b80d354332e7c69db232ee4ad
-SIZE (mvdan-xurls-v2.5.0_GH0.tar.gz) = 27562
-SHA256 (prometheus-client_golang-v1.20.0_GH0.tar.gz) = 38c85947391c528ed458f5b64aac6282fdab51fb5128fb008e3794edc546a24d
-SIZE (prometheus-client_golang-v1.20.0_GH0.tar.gz) = 1102307
-SHA256 (prometheus-client_model-v0.6.1_GH0.tar.gz) = b9b690bc35d80061f255faa7df7621eae39fe157179ccd78ff6409c3b004f05e
-SIZE (prometheus-client_model-v0.6.1_GH0.tar.gz) = 17373
-SHA256 (prometheus-common-v0.55.0_GH0.tar.gz) = b9cabec7dadf615ae8bf86414d916f6680bc9e641d7631deaad71422b104ab6b
-SIZE (prometheus-common-v0.55.0_GH0.tar.gz) = 147527
-SHA256 (prometheus-procfs-v0.15.1_GH0.tar.gz) = ba96bb6d45f1fcbff820c7d844e6acdef4416bb0ff2d9e24656f5cbacb8e46b5
-SIZE (prometheus-procfs-v0.15.1_GH0.tar.gz) = 243687
-SHA256 (protocolbuffers-protobuf-go-v1.34.2_GH0.tar.gz) = a91d3129e38945b612b7a377364dae324ed3a489c3a805a412805a0cee76e7a2
-SIZE (protocolbuffers-protobuf-go-v1.34.2_GH0.tar.gz) = 1522818
-SHA256 (tdewolff-minify-v2.20.37_GH0.tar.gz) = 33d9bf68d416c9e256412d5045562371bd202f1dabeb111c17bf914b71cabedb
-SIZE (tdewolff-minify-v2.20.37_GH0.tar.gz) = 7747296
-SHA256 (tdewolff-parse-v2.7.15_GH0.tar.gz) = 4873a60b59acccfaff997837eab015689700b1497941a553de619554c68d7cb2
-SIZE (tdewolff-parse-v2.7.15_GH0.tar.gz) = 109748
-SHA256 (x448-float16-v0.8.4_GH0.tar.gz) = 2f8f03b3d972f14e1a5a33bab5d1539174e46c696bc91c5b8ac6d7f9036dde15
-SIZE (x448-float16-v0.8.4_GH0.tar.gz) = 13098
-SHA256 (yuin-goldmark-v1.7.4_GH0.tar.gz) = 8e44cccc7fd44ee8f7c35c127e9cd592529be74ae8c8570e64b6f1560affcf95
-SIZE (yuin-goldmark-v1.7.4_GH0.tar.gz) = 252411
+TIMESTAMP = 1744310611
+SHA256 (go/www_miniflux/miniflux-v2-2.2.7_GH0/go.mod) = 92e44cc002d6e2434746343d55b0e5b08fb85ae5a10d6024c8355463d262c10d
+SIZE (go/www_miniflux/miniflux-v2-2.2.7_GH0/go.mod) = 1582
+SHA256 (go/www_miniflux/miniflux-v2-2.2.7_GH0/miniflux-v2-2.2.7_GH0.tar.gz) = c412218087a3df9381fe4705ea1681e60ce69c9cbb55acaf425a6d8aa69cd80c
+SIZE (go/www_miniflux/miniflux-v2-2.2.7_GH0/miniflux-v2-2.2.7_GH0.tar.gz) = 807798
diff --git a/www/miniflux/files/miniflux.env.sample b/www/miniflux/files/miniflux.env.sample
index 2c7517ca05e8..d5662962e8d2 100644
--- a/www/miniflux/files/miniflux.env.sample
+++ b/www/miniflux/files/miniflux.env.sample
@@ -1,3 +1,9 @@
-# See https://docs.miniflux.app/en/latest/configuration.html
+# See https://miniflux.app/docs/configuration.html
 
-LISTEN_ADDR=0.0.0.0:8080
+# Run database migrations during application startup
+RUN_MIGRATIONS=1
+
+#BASE_URL=http://localhost/
+#DATABASE_URL=user=postgres password=postgres dbname=miniflux2 sslmode=disable
+#HTTPS=1
+#LISTEN_ADDR=127.0.0.1:8080
diff --git a/www/miniflux/files/miniflux.in b/www/miniflux/files/miniflux.in
index a08024ea0eba..1fc1409441c7 100644
--- a/www/miniflux/files/miniflux.in
+++ b/www/miniflux/files/miniflux.in
@@ -1,28 +1,46 @@
 #!/bin/sh
+# shellcheck disable=SC2034
 #
 # Author: Mark Felder <feld@FreeBSd.org>
-
+#
 # PROVIDE: miniflux
-# REQUIRE: LOGIN
+# REQUIRE: LOGIN postgresql
 # KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# miniflux_enable: Set it to YES to enable miniflux.
+#			             Default: NO
+# miniflux_config: Name of configuration file.
+#                  Default: %%PREFIX%%/etc/miniflux.env
 
-# Add the following lines to /etc/rc.conf to enable miniflux:
-# miniflux_enable="YES"
-# miniflux_flags="<set as needed>"
-
+# shellcheck disable=SC1094
 . /etc/rc.subr
 
 name="miniflux"
-rcvar=miniflux_enable
-
+rcvar="${name}_enable"
 load_rc_config $name
 
-: ${miniflux_enable="NO"}
-: ${miniflux_config="%%PREFIX%%/etc/miniflux.env"}
+: "${miniflux_enable=NO}"
+: "${miniflux_user:=%%MINIFLUX_USER%%}"
+: "${miniflux_group:=%%MINIFLUX_GROUP%%}"
+: "${miniflux_config=%%PREFIX%%/etc/$name.env}"
+: "${miniflux_pidfile:=/var/run/$name/$name.pid}"
+: "${miniflux_daemonflags:=-fH -P $miniflux_pidfile -t $name -T $name}"
+: "${miniflux_extra_flags:=-c $miniflux_config}"
 
-pidfile="/var/run/miniflux.pid"
-procname="%%PREFIX%%/bin/miniflux"
+pidfile="$miniflux_pidfile"
 command="/usr/sbin/daemon"
-command_args="-f -T miniflux -p ${pidfile} -u miniflux %%PREFIX%%/bin/miniflux -c ${miniflux_config}"
+miniflux_command="%%PREFIX%%/bin/$name"
+command_args="$miniflux_daemonflags $miniflux_command $miniflux_extra_flags"
+
+start_precmd="miniflux_precmd"
+
+miniflux_precmd() {
+    rundir=$(dirname "$pidfile")
+    [ -d "$rundir" ] ||
+        install -d -o "$miniflux_user" -g "$miniflux_group" "$rundir"
+}
 
 run_rc_command "$1"
diff --git a/www/miniflux/pkg-plist b/www/miniflux/pkg-plist
index 42734ce8f2f3..59fef7577589 100644
--- a/www/miniflux/pkg-plist
+++ b/www/miniflux/pkg-plist
@@ -1,3 +1,3 @@
 bin/miniflux
 share/man/man1/miniflux.1.gz
-@sample etc/miniflux.env.sample
+@sample(%%MINIFLUX_USER%%,%%MINIFLUX_GROUP%%,0640) etc/miniflux.env.sample