Saturday, November 29, 2025

databases/sqlite3-tcl: Better documentation

The default documentation installed by databases/sqlite3-tcl is a tiny man
page with instructions to go to the sqlite.org site to read the real docs.
Most unsatisfying.

This pack o' madness downloads the html doc and the css for it, and
massages them together into a nice document available to the end user.


Hope it's not too much,


Stu



diff -Nurp /usr/ports/databases/sqlite3-tcl/Makefile ./Makefile
--- /usr/ports/databases/sqlite3-tcl/Makefile Wed Nov 19 15:31:24 2025
+++ ./Makefile Sat Nov 29 06:40:28 2025
@@ -4,6 +4,7 @@ V = 3.51.0

DISTNAME = sqlite${V}
PKGNAME = sqlite3-tcl-${V}
+REVISION = 0

CATEGORIES = databases
HOMEPAGE = https://cyqlite.sourceforge.io/cgi-bin/sqlite/home
@@ -15,9 +16,13 @@ PERMIT_PACKAGE = Yes
WANTLIB = pthread

SITES = ${SITE_SOURCEFORGE:=tcl/}
+SITES.d = https://sqlite.org/

DISTFILES = tclsqlite{sqlite}${V}${EXTRACT_SUFX}
+DISTFILES.d = ${DOC_HTML} tclsqlite{sqlite}.css

+EXTRACT_ONLY = tclsqlite${V}${EXTRACT_SUFX}
+
MODULES = lang/tcl
MODTCL_VERSION = 8.6

@@ -48,13 +53,37 @@ CFLAGS += -USQLITE_ENABLE_OFFSET_SQL_FUNC \
-USQLITE_UNTESTABLE \
-USQLITE_USE_ALLOCA

+INSTALL_TARGET = all install-binaries install-libraries
TEST_TARGET = test

SUBST_VARS = VER

VER = ${V:S/.//g}

+DOC_HTML = tclsqlite.html
+DOC_CSS = tclsqlite.css
+
pre-configure:
@${MODTCL_TCLSH_ADJ} ${WRKSRC}/compat/sqlite3/spaceanal.tcl
+
+post-build:
+ @cd ${WRKBUILD} && \
+ cp ${DISTDIR}/${DOC_HTML} ${DISTDIR}/${DOC_CSS} . && \
+ sed \
+ -e 's!^<link href="sqlite.css" rel="stylesheet">$$!<style>!' \
+ -e '/^<style>$$/r ${DOC_CSS}' \
+ -e '//a\'"`printf '\n</style>'`" \
+ -e '/^<a href="index.html">$$/,/^<\/script>$$/d' \
+ -e '/^<div class=nosearch>$$/d' \
+ -e 's!^</p>\(<table border="0" cellpadding="10" width="100%">\)$$!\1!' \
+ -e 's!^..*This page was last updated on..*$$!</body></html>!' \
+ -e '/^<details class="fancy_toc">$$/i\'"`printf '\n%s' \
+ '<a href="https://sqlite.org/tclsqlite.html">View this document at sqlite.org</a><br>'`" \
+ < ${DOC_HTML} > ${DOC_HTML}.new
+
+post-install:
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/sqlite3-tcl
+ ${INSTALL_DATA} ${WRKBUILD}/${DOC_HTML}.new \
+ ${PREFIX}/share/doc/sqlite3-tcl/${DOC_HTML}

.include <bsd.port.mk>
diff -Nurp /usr/ports/databases/sqlite3-tcl/distinfo ./distinfo
--- /usr/ports/databases/sqlite3-tcl/distinfo Wed Nov 19 15:31:24 2025
+++ ./distinfo Sat Nov 29 06:40:44 2025
@@ -1,2 +1,6 @@
+SHA256 (tclsqlite.css) = JzwMqxnJ8kYU6DfpOD4/pco6TiogRXp6EFTAYA3H6ys=
+SHA256 (tclsqlite.html) = qStLFn7U7N6x3QUrbKvCUyuFA7+LMj1r4nJgi+qWu98=
SHA256 (tclsqlite3.51.0.tar.gz) = 42ysC7hUoPZx02PIDr9Zd/oQh6apm1RrCneUpEL5Y+4=
+SIZE (tclsqlite.css) = 6868
+SIZE (tclsqlite.html) = 59335
SIZE (tclsqlite3.51.0.tar.gz) = 3068895
diff -Nurp /usr/ports/databases/sqlite3-tcl/pkg/PLIST ./pkg/PLIST
--- /usr/ports/databases/sqlite3-tcl/pkg/PLIST Wed Nov 19 15:31:24 2025
+++ ./pkg/PLIST Fri Nov 14 15:56:27 2025
@@ -2,6 +2,7 @@
lib/tcl/sqlite3/
@so lib/tcl/sqlite3/libsqlite${VER}.so
lib/tcl/sqlite3/pkgIndex.tcl
-@man man/mann/sqlite3.n
+share/doc/sqlite3-tcl/
+share/doc/sqlite3-tcl/tclsqlite.html
share/examples/sqlite3-tcl/
share/examples/sqlite3-tcl/sqlite3_analyzer

No comments:

Post a Comment