Commit Diff


commit - 746f25b9b3964c0ec9b24c6c4dab34cf0e51e335
commit + 4f46073b05c7d7a9638786ebfb555261b149475e
blob - 01a31588ea161b35153145b7046ab22d78b522d9
blob + 53eef720e7fa8ee71b2e8deee49b8ec5ff560285
--- resources/pages/projects.gmi
+++ resources/pages/projects.gmi
@@ -8,6 +8,9 @@ It's a keybinding manager for X11.  It lets you assign
 => gmid.gmi             gmid - dead simple zero configuration gemini server
 (If you're browsing this page over gemini this is the server that you're talking to.)  A simple, zero-conf, gemini server for static content.  Written for fun with libtls.
 
+=> webpkg.gmi		WebPKG - web-interface for the OpenBSD ports collection
+CGI script to search for and visualise package from the OpenBSD port tree.  Supports full-text search across the whole catalogue.
+
 => crest.gmi            CREST - see your rest endpoints
 Interactive REPL for HTTP requests with a simple and intuitive language.
 
blob - /dev/null
blob + aa8002e51bcfc6bba210f266af0a6aa3d4c87c5b (mode 644)
--- /dev/null
+++ resources/pages/webpkg.gmi
@@ -0,0 +1,28 @@
+# WebPKG
+
+WebPKG is a web-interface for the OpenBSD ports collection.  It features a full-text search across package names, comment, description and mantainer field, as well as a presentation page for the packages.
+
+=> https://webpkg.omarpolo.com		WebPKG
+=> https://git.omarpolo.com/webpkg	Source code
+=> https://github.com/omar-polo/webpkg	GitHub mirror
+
+On the technical side, WebPKG is a CGI script written in C that uses sqlports, an sqlite database with the data about all the ports.  It was written by leveraging kcgi and sqlbox, so the resulting code base is very short.
+
+=> https://kristaps.bsd.lv/kcgi/ KCGI – minimal CGI and FastCGI library for C/C++
+=> https://kristaps.bsd.lv/sqlbox/ sqlbox – secure database access library
+
+## Building
+
+Requires the two mentioned libraries (kcgi and sqlbox) installed, then a simple
+```
+$ make
+```
+will build everything, as pkg-config is used to obtain the correct CFLAGS/LDFLAGS.
+
+You may need to point the SQLPORTS variable to the sqlports database.
+
+By default
+```
+$ make install
+```
+will used doas to install the files inside /var/www/
blob - 9e9c9e5b0149b98f5c8a30d39228f9cc52a41893
blob + aca25a2c4694760cb3de97f4aa0901cef6359aed
--- resources/pages.edn
+++ resources/pages.edn
@@ -6,6 +6,8 @@
   :slug  "gmid"}
  {:title "crest - see your rest endpoints"
   :slug  "crest"}
+ {:title "web interface to the OpenBSD port collection"
+  :slug  "webpkg"}
  {:title "sam.el - An editor for the best OS"
   :slug  "sam-el"}
  {:title "mymenu - a menu of mine"