Use DIST_SUBDIR if there is a possibility of a name collision.
v5.3.13 can be anything, while speedata_v5.3.13 is unequivocal.Not necessary.I wonder if I should ask mr. frischefarbe to use a more detailed name, e.g.: from v5.3.13 to speedata_v5.3.13.
make makesum.No for /usr/ports/tools/shepler. Ports are created as /usr/ports/<category>/<portname> where <category> is pre-defined.Thinking about your recommendations...
sphelpercould go under/usr/ports/toolsand definitelypublishermust lie into/usr/ports/print.
tools. And creating new physical category is considered as infrastructual change that need approval of portmgr.#!/bin/sh
# build_sp_lib.sh – builds luaglue.so and libsplib.so for FreeBSD
# Adjust the variables below to match your project layout.
# Exit on error, treat unset variables as an error, and propagate failures in pipelines.
set -eu
# The `pipefail` option is not available in /bin/sh on FreeBSD, but the
# combination of `set -e` and careful command usage gives similar safety.
# ----------------------------------------------------------------------
# Configuration – change these paths as needed
# ----------------------------------------------------------------------
SRCDIR="/home/sp/publisher-5.3.16/src" # root of the repository
BUILDDIR="/home/sp/publisher-5.3.16/lib" # where the shared objects will be placed
BUILD_PRO="${BUILD_PRO:-false}" # set to "true" to build the pro version
# ----------------------------------------------------------------------
# Prepare build directory
# ----------------------------------------------------------------------
DYLIB_BUILD="${BUILDDIR}/dylib"
mkdir -p "${DYLIB_BUILD}"
# ----------------------------------------------------------------------
# 1️⃣ Build the C glue library (luaglue.so)
# ----------------------------------------------------------------------
echo "=== Building luaglue.so (FreeBSD) ==="
cd "${SRCDIR}/c"
cc -shared -fPIC \
-o "${DYLIB_BUILD}/luaglue.so" \
luaglue.c \
-I /usr/local/include/lua53/
# ----------------------------------------------------------------------
# 2️⃣ Build the Go SPLib library (libsplib.so)
# ----------------------------------------------------------------------
echo "=== Building libsplib.so (FreeBSD) ==="
cd "${SRCDIR}/go/splib"
export CGO_ENABLED=1
export CGO_CFLAGS="-I /usr/local/include/lua53"
# FreeBSD does not need special LDFLAGS for this build
export CGO_LDFLAGS=""
LIB_EXT=".so" # FreeBSD shared‑object extension
OUTPUT="${DYLIB_BUILD}/libsplib${LIB_EXT}"
# POSIX‑compatible test – use single brackets instead of Bash’s [[ ]]
if [ "${BUILD_PRO}" = "true" ]; then
go build -tags pro -buildmode=c-shared -o "${OUTPUT}" speedatapublisher/splib
else
go build -buildmode=c-shared -o "${OUTPUT}" speedatapublisher/splib
fi
echo "=== Build complete ==="
echo "luaglue.so → ${DYLIB_BUILD}/luaglue.so"
echo "libsplib.so → ${OUTPUT}"
./build_sp_lib.sh
=== Building luaglue.so (FreeBSD) ===
=== Building libsplib.so (FreeBSD) ===
=== Build complete ===
luaglue.so → /home/sp/publisher-5.3.16/lib/dylib/luaglue.so
libsplib.so → /home/sp/publisher-5.3.16/lib/dylib/libsplib.so
ls lib/dylib/
libsplib.h libsplib.so luaglue.so
Looks good. You also need to build the sp binary, and pass a lookup-kind to the compilation process. See https://github.com/speedata/publish...f191a95ea328e42012fc3/src/go/sp/sp/sp.go#L182 and https://github.com/speedata/publisher/blob/develop/src/go/sphelper/distcustom/distcustom.go - I don't know if you need a different directory structure. If yes, we could add this to the sp distribution. (ping me on GitHub if you need this)
sp binary!/usr/local/bin/luahbtex but it must be called sdluatex; I solved this by making a symbolic link that solves me fatigue to learn how to send and apply a patch upstream.tex-luatex package that when is expanded it is almost 1G of storage:pkg info tex-luatex
tex-luatex-20250308_1
Name : tex-luatex
Version : 20250308_1
Installed on : Sun Nov 30 17:17:53 2025 EST
Origin : print/tex-luatex
Architecture : FreeBSD:15:amd64
Prefix : /usr/local
Categories : print
Licenses :
Maintainer : tex@FreeBSD.org
WWW : UNKNOWN
Comment : Extended version of pdfTeX using Lua
Shared Libs required:
libc++.so.1
libc.so.7
libcxxrt.so.1
libgraphite2.so.3
libharfbuzz.so.0
libkpathsea.so.6
libm.so.5
libpng16.so.16
libtexlua53.so.5
libtexluajit.so.2
libz.so.6
libzzip.so.13
Annotations :
FreeBSD_version: 1500068
build_timestamp: 2025-11-22T03:04:07+0000
built_by : poudriere-git-3.4.4-6-gd1913ec3
port_checkout_unclean: no
port_git_hash : e3fa556c9a509b3bc0e615815d8368b663c95dc3
ports_top_checkout_unclean: no
ports_top_git_hash: 480b1085a2e0ba7fe13dc9313d413253a4999961
repo_type : binary
repository : FreeBSD-ports
Flat size : 162MiB
Description :
LuaTeX is an extended version of pdfTeX using Lua as an embedded
scripting language. The LuaTeX projects main objective is to provide
an open and configurable variant of TeX while at the same time
offering downward compatibility.
sp binary the full luatex suite is not required, therefore there is a method to download only that file from the official FreeBSD repos?Even though it's technically possible, I don't think anyone would commit to it.I am pretty that to run thespbinary the fullluatexsuite is not required, therefore there is a method to download only that file from the official FreeBSD repos?
BUILD_DEPENDS=${NONEXISTENT}:print/tex-luatex:build may be installable as sdluatex, but it is not known whether it will be committed.