diff options
| author | Mister D <misterd@renderdata.pro> | 2026-06-03 13:08:59 +0000 |
|---|---|---|
| committer | Robert Clausecker <fuz@FreeBSD.org> | 2026-06-11 11:51:11 +0000 |
| commit | 81b50de506e0a964ad54095aa3da33781a5c4b7c (patch) | |
| tree | 5b0f6693dc9e5ecf12ccd97b01b8a533d5ef95bb /print | |
| parent | 25c626a3345fd75d571393a238d7a82338f9a4bc (diff) | |
Diffstat (limited to 'print')
| -rw-r--r-- | print/Makefile | 1 | ||||
| -rw-r--r-- | print/publisher/Makefile | 206 | ||||
| -rw-r--r-- | print/publisher/distinfo | 67 | ||||
| -rw-r--r-- | print/publisher/files/modules.txt | 164 | ||||
| -rw-r--r-- | print/publisher/modules.txt | 33 | ||||
| -rw-r--r-- | print/publisher/pkg-descr | 13 | ||||
| -rw-r--r-- | print/publisher/pkg-help | 47 | ||||
| -rw-r--r-- | print/publisher/pkg-plist | 130 |
8 files changed, 661 insertions, 0 deletions
diff --git a/print/Makefile b/print/Makefile index 373a50481723..c4c6da3dd8ca 100644 --- a/print/Makefile +++ b/print/Makefile @@ -168,6 +168,7 @@ SUBDIR += pslib SUBDIR += pstotext SUBDIR += psutils + SUBDIR += publisher SUBDIR += py-PyMuPDF SUBDIR += py-collidoscope SUBDIR += py-dehinter diff --git a/print/publisher/Makefile b/print/publisher/Makefile new file mode 100644 index 000000000000..ea71eaa117bb --- /dev/null +++ b/print/publisher/Makefile @@ -0,0 +1,206 @@ +PORTNAME= publisher +DISTVERSIONPREFIX= v +DISTVERSION= 5.4.3 +CATEGORIES= print + +MAINTAINER= misterd@renderdata.pro +COMMENT= Non-interactive layout engine and typesetting system ${${FLAVOR}_COMMENT}} +WWW= https://www.speedata.de/ + +LICENSE= AGPLv3 +LICENSE_FILE= ${WRKSRC}/COPYING + +# Go does not support -buildmode=c-shared on freebsd/arm64 (only on +# freebsd/amd64). See internal/platform/supported.go in the Go source. +# When Go gains arm64 support, the application could also be refactored +# upstream to avoid c-shared entirely. +ONLY_FOR_ARCHS= amd64 +ONLY_FOR_ARCHS_REASON= requires Go -buildmode=c-shared, not supported on this architecture + +RUN_DEPENDS= luahbtex:print/tex-luatex + +# Flavors: default (community) and pro +FLAVORS= default pro +FLAVOR?= ${FLAVORS:[1]} + +pro_PKGNAMESUFFIX= -pro +default_COMMENT= (community) +pro_COMMENT= (pro) + +USES= go:modules,no_targets lua:53,build,run +USE_GITHUB= yes +GH_ACCOUNT= speedata +GH_TUPLE= \ + Masterminds:semver:v1.5.0:masterminds_semver/src/go/vendor/github.com/Masterminds/semver \ + PuerkitoBio:goquery:v1.9.1:puerkitobio_goquery/src/go/vendor/github.com/PuerkitoBio/goquery \ + alecthomas:chroma:v0.10.0:alecthomas_chroma/src/go/vendor/github.com/alecthomas/chroma \ + alecthomas:chroma:v2.13.0:alecthomas_chroma_v2/src/go/vendor/github.com/alecthomas/chroma/v2 \ + andybalholm:cascadia:v1.3.2:andybalholm_cascadia/src/go/vendor/github.com/andybalholm/cascadia \ + cjoudrey:gluahttp:25003d9adfa9:cjoudrey_gluahttp/src/go/vendor/github.com/cjoudrey/gluahttp \ + dlclark:regexp2:v1.11.0:dlclark_regexp2/src/go/vendor/github.com/dlclark/regexp2 \ + fsnotify:fsnotify:v1.7.0:fsnotify_fsnotify/src/go/vendor/github.com/fsnotify/fsnotify \ + gammazero:deque:v0.2.1:gammazero_deque/src/go/vendor/github.com/gammazero/deque \ + gammazero:workerpool:v1.1.3:gammazero_workerpool/src/go/vendor/github.com/gammazero/workerpool \ + go-yaml:yaml:v3.0.1:go_yaml_yaml/src/go/vendor/gopkg.in/yaml.v3 \ + gofrs:uuid:v4.4.0:gofrs_uuid/src/go/vendor/github.com/gofrs/uuid \ + golang:image:v0.18.0:golang_image/src/go/vendor/golang.org/x/image \ + golang:net:v0.35.0:golang_net/src/go/vendor/golang.org/x/net \ + golang:sys:v0.30.0:golang_sys/src/go/vendor/golang.org/x/sys \ + golang:text:v0.22.0:golang_text/src/go/vendor/golang.org/x/text \ + google:btree:v1.1.2:google_btree/src/go/vendor/github.com/google/btree \ + gorilla:mux:v1.8.1:gorilla_mux/src/go/vendor/github.com/gorilla/mux \ + gregjones:httpcache:901d90724c79:gregjones_httpcache/src/go/vendor/github.com/gregjones/httpcache \ + inconshreveable:mousetrap:v1.1.0:inconshreveable_mousetrap/src/go/vendor/github.com/inconshreveable/mousetrap \ + peterbourgon:diskv:v2.0.1:peterbourgon_diskv/src/go/vendor/github.com/peterbourgon/diskv \ + russross:blackfriday:v1.6.0:russross_blackfriday/src/go/vendor/github.com/russross/blackfriday \ + speedata:bild:dd063a632b14:speedata_bild/src/go/vendor/github.com/speedata/bild \ + speedata:config:3a3f44982ec4:speedata_config/src/go/vendor/github.com/speedata/config \ + speedata:css:68d469dc62c4:speedata_css_scanner/src/go/vendor/github.com/speedata/css \ + speedata:go-epub:v0.5.5:speedata_go_epub/src/go/vendor/github.com/speedata/go-epub \ + speedata:goxlsx:v1.0.2:speedata_goxlsx/src/go/vendor/github.com/speedata/goxlsx \ + speedata:hotfolder:5f743a840a92:speedata_hotfolder/src/go/vendor/github.com/speedata/hotfolder \ + speedata:optionparser:v1.1.1:speedata_optionparser/src/go/vendor/github.com/speedata/optionparser \ + yuin:goldmark-highlighting:37449abec8cc:yuin_goldmark_highlighting_v2/src/go/vendor/github.com/yuin/goldmark-highlighting/v2 \ + yuin:goldmark:v1.7.1:yuin_goldmark/src/go/vendor/github.com/yuin/goldmark \ + yuin:gopher-lua:v1.1.1:yuin_gopher_lua/src/go/vendor/github.com/yuin/gopher-lua + +USE_LDCONFIG= ${PREFIX}/lib/speedata-publisher + +CONFLICTS_INSTALL= publisher-devel + +# Optional Java helper tools (Saxon for XSLT, Jing for RNG validation, +# Trang for schema conversion). Default ON; turn OFF to manage JARs +# manually (see pkg-message). +OPTIONS_DEFINE= JAVA_TOOLS +OPTIONS_DEFAULT= JAVA_TOOLS +OPTIONS_SUB= yes +JAVA_TOOLS_DESC= XSLT/RNG support via Saxon, Jing, Trang + +JAVA_TOOLS_RUN_DEPENDS= saxon-he>0:textproc/saxon-he \ + jing>0:textproc/jing \ + trang>0:textproc/trang + +# JAR location for JAVA_TOOLS option (matches what textproc/saxon-he etc. install). +# Not using USES=java so we set this ourselves. +JAVAJARDIR= ${LOCALBASE}/share/java/classes + +# Append Lua include path to CGO_CFLAGS so GO_ENV picks it up +# (don't override CGO_CFLAGS inline; GO_ENV already sets it). +CGO_CFLAGS+= -I${LUA_INCDIR} + +# Paths compiled into sp binary at build time (final install paths, no STAGEDIR) +SP_LIBDIR= ${PREFIX}/lib/speedata-publisher +SP_SWDIR= ${PREFIX}/share/speedata-publisher/sw +SP_SHAREDIR= ${PREFIX}/share/speedata-publisher + +# Pre-generated vendor/modules.txt (see files/modules.txt). +# Required because Go 1.21+ needs modules.txt in vendor/, and GH_TUPLE +# extraction does not produce it. Generated on host with: go mod vendor +post-extract: + ${CP} ${FILESDIR}/modules.txt ${WRKSRC}/src/go/vendor/modules.txt + ${RM} -r ${WRKSRC}/lib + +# pro flavor: pass -X main.pro=yes at link time +.if ${FLAVOR} == pro +SP_LDFLAGS_PRO= -X main.pro=yes +.else +SP_LDFLAGS_PRO= +.endif + +# ldflags for sp binary: compile install paths and version into the binary. +# Set before bsd.port.mk includes go.mk so go.mk's default -ldflags=-s is skipped. +GO_BUILDFLAGS+= -ldflags="-X main.dest=custom \ + -X main.version=${DISTVERSION} \ + -X main.libdir=${SP_LIBDIR} \ + -X main.srcdir=${SP_SWDIR} \ + ${SP_LDFLAGS_PRO} \ + ${STRIP}" + +do-build: + # libsplib.so -- Go shared library (c-shared mode, CGO uses Lua headers via CGO_CFLAGS) + # Does not use GO_BUILDFLAGS because that contains sp-specific ldflags. + (cd ${WRKSRC}/src/go; \ + ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} \ + GOMAXPROCS=${MAKE_JOBS_NUMBER} GOPROXY=off \ + ${GO_CMD} build \ + -buildmode=c-shared \ + -mod=vendor \ + -v -trimpath \ + -buildvcs=false \ + -ldflags=${STRIP} \ + -o ${WRKDIR}/libsplib.so \ + speedatapublisher/splib) + + # luaglue.so -- C glue library + (cd ${WRKSRC}/src/c; \ + ${CC} ${CFLAGS} ${CPPFLAGS} -I${LUA_INCDIR} ${LDFLAGS} \ + -fPIC -shared \ + -Wl,-soname,luaglue.so \ + -o ${WRKDIR}/luaglue.so \ + luaglue.c) + + # sp binary -- dest=custom compiles paths in at link time (via GO_BUILDFLAGS) + (cd ${WRKSRC}/src/go; \ + ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${GO_ENV} \ + GOMAXPROCS=${MAKE_JOBS_NUMBER} GOPROXY=off \ + ${GO_CMD} build ${GO_BUILDFLAGS} \ + -o ${WRKDIR}/sp \ + speedatapublisher/sp/sp) + +do-install: + # sp binary + ${INSTALL_PROGRAM} ${WRKDIR}/sp ${STAGEDIR}${PREFIX}/bin/sp + + # sdluatex symlink to luahbtex (provided by print/tex-luatex at runtime). + # RLN cannot be used because the target is in a different package and + # does not exist in our stage dir. + ${LN} -sf ${LOCALBASE}/bin/luahbtex ${STAGEDIR}${PREFIX}/bin/sdluatex + + # Shared libraries -> ${PREFIX}/lib/speedata-publisher/ + ${MKDIR} ${STAGEDIR}${SP_LIBDIR} + ${INSTALL_LIB} ${WRKDIR}/libsplib.so ${STAGEDIR}${SP_LIBDIR}/libsplib.so + ${INSTALL_LIB} ${WRKDIR}/luaglue.so ${STAGEDIR}${SP_LIBDIR}/luaglue.so + + # Schema files + ${MKDIR} ${STAGEDIR}${SP_SHAREDIR}/schema + ${INSTALL_DATA} ${WRKSRC}/schema/catalog-schema-de.xml \ + ${STAGEDIR}${SP_SHAREDIR}/schema/ + ${INSTALL_DATA} ${WRKSRC}/schema/catalog-schema-en.xml \ + ${STAGEDIR}${SP_SHAREDIR}/schema/ + ${INSTALL_DATA} ${WRKSRC}/schema/layoutschema-de.rng \ + ${STAGEDIR}${SP_SHAREDIR}/schema/ + ${INSTALL_DATA} ${WRKSRC}/schema/layoutschema-de.xsd \ + ${STAGEDIR}${SP_SHAREDIR}/schema/ + ${INSTALL_DATA} ${WRKSRC}/schema/layoutschema-en.rng \ + ${STAGEDIR}${SP_SHAREDIR}/schema/ + ${INSTALL_DATA} ${WRKSRC}/schema/layoutschema-en.xsd \ + ${STAGEDIR}${SP_SHAREDIR}/schema/ + + # Runtime resource files (sw/) + ${MKDIR} ${STAGEDIR}${SP_SWDIR} + (cd ${WRKSRC}/src && ${COPYTREE_SHARE} lua ${STAGEDIR}${SP_SWDIR}) + (cd ${WRKSRC}/src && ${COPYTREE_SHARE} tex ${STAGEDIR}${SP_SWDIR}) + (cd ${WRKSRC}/src && ${COPYTREE_SHARE} metapost ${STAGEDIR}${SP_SWDIR}) + (cd ${WRKSRC}/src && ${COPYTREE_SHARE} hyphenation ${STAGEDIR}${SP_SWDIR}) + (cd ${WRKSRC}/src && ${COPYTREE_SHARE} colorprofiles ${STAGEDIR}${SP_SWDIR}) + (cd ${WRKSRC} && ${COPYTREE_SHARE} fonts ${STAGEDIR}${SP_SWDIR}) + (cd ${WRKSRC} && ${COPYTREE_SHARE} img ${STAGEDIR}${SP_SWDIR}) + +# JAVA_TOOLS option: link FreeBSD-provided JARs into the publisher's +# expected paths. sp expects saxon-he-12.9.jar; FreeBSD ships 12.8 which +# is API-compatible (confirmed with upstream). When saxon-he port bumps +# to 12.9 (or later), update the saxon-he line below. +post-install-JAVA_TOOLS-on: + ${MKDIR} ${STAGEDIR}${SP_LIBDIR}/lib + ${LN} -sf ${JAVAJARDIR}/saxon-he-12.8.jar \ + ${STAGEDIR}${SP_LIBDIR}/saxon-he-12.9.jar + ${LN} -sf ${JAVAJARDIR}/jing.jar \ + ${STAGEDIR}${SP_LIBDIR}/jing.jar + ${LN} -sf ${JAVAJARDIR}/trang.jar \ + ${STAGEDIR}${SP_LIBDIR}/trang.jar + ${LN} -sf ${JAVAJARDIR}/xmlresolver-5.3.3.jar \ + ${STAGEDIR}${SP_LIBDIR}/lib/xmlresolver-5.3.3.jar + ${LN} -sf ${JAVAJARDIR}/xmlresolver-5.3.3-data.jar \ + ${STAGEDIR}${SP_LIBDIR}/lib/xmlresolver-5.3.3-data.jar + +.include <bsd.port.mk> diff --git a/print/publisher/distinfo b/print/publisher/distinfo new file mode 100644 index 000000000000..01b3193cd3d8 --- /dev/null +++ b/print/publisher/distinfo @@ -0,0 +1,67 @@ +TIMESTAMP = 1780084357 +SHA256 (speedata-publisher-v5.4.3_GH0.tar.gz) = 05c32499c2609fdc1c07850c4684ff57e68ec9b0ab092ea53f3df4ce057173d7 +SIZE (speedata-publisher-v5.4.3_GH0.tar.gz) = 27881246 +SHA256 (Masterminds-semver-v1.5.0_GH0.tar.gz) = c9140eddfb03dc862f826e7761561260b9a840afa7519cc0919e89a43b5be5ba +SIZE (Masterminds-semver-v1.5.0_GH0.tar.gz) = 21188 +SHA256 (PuerkitoBio-goquery-v1.9.1_GH0.tar.gz) = ad303bf30070c34fa0f05d2701b7bd024642e0183708a96ed0d2b837b21f4d1a +SIZE (PuerkitoBio-goquery-v1.9.1_GH0.tar.gz) = 107417 +SHA256 (alecthomas-chroma-v0.10.0_GH0.tar.gz) = 98a517ae99f48e3b54d5c8cd7473d5c544f51bee7a4be17f5175736fce37da56 +SIZE (alecthomas-chroma-v0.10.0_GH0.tar.gz) = 798272 +SHA256 (alecthomas-chroma-v2.13.0_GH0.tar.gz) = f3538d9db5df0d0325f3eaab7e3d465a6ec9ad6067051863ac52241f070824a0 +SIZE (alecthomas-chroma-v2.13.0_GH0.tar.gz) = 1032348 +SHA256 (andybalholm-cascadia-v1.3.2_GH0.tar.gz) = f30ebb75a9f43a30478c870dd6e372ac7ef64549f621eceb3b13fd91bfde80cb +SIZE (andybalholm-cascadia-v1.3.2_GH0.tar.gz) = 35370 +SHA256 (cjoudrey-gluahttp-25003d9adfa9_GH0.tar.gz) = 0d52a91e3a759424b1c9c7291945a35eb23b5eb0382640b286d5063d35cbbfa1 +SIZE (cjoudrey-gluahttp-25003d9adfa9_GH0.tar.gz) = 6771 +SHA256 (dlclark-regexp2-v1.11.0_GH0.tar.gz) = c380209bd67b67859014f9bfd155aec4bfc4beb65f4a6aec37683b80186b18f7 +SIZE (dlclark-regexp2-v1.11.0_GH0.tar.gz) = 212532 +SHA256 (fsnotify-fsnotify-v1.7.0_GH0.tar.gz) = ca8175ba6bd3d0cc992200c2f44acabec05367575dc0478c5902971fe7453f35 +SIZE (fsnotify-fsnotify-v1.7.0_GH0.tar.gz) = 57502 +SHA256 (gammazero-deque-v0.2.1_GH0.tar.gz) = 3d10140363eba10646b965386221167842cb946e4363689d19f427c47badeba0 +SIZE (gammazero-deque-v0.2.1_GH0.tar.gz) = 10170 +SHA256 (gammazero-workerpool-v1.1.3_GH0.tar.gz) = b9d11203a8e544c67471fbba86dcb5243634d8cac2d7610650cb68a3546c7e63 +SIZE (gammazero-workerpool-v1.1.3_GH0.tar.gz) = 12951 +SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5 +SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173 +SHA256 (gofrs-uuid-v4.4.0_GH0.tar.gz) = 10dd2b8e4c99e4975f11b29ec2e4d48f0bf3574e89541f81d4cd228cffa3057c +SIZE (gofrs-uuid-v4.4.0_GH0.tar.gz) = 23668 +SHA256 (golang-image-v0.18.0_GH0.tar.gz) = dd23e3256a92667d201fd031a44294e4d54812e0f6fc69365da3bb4fcf3c730d +SIZE (golang-image-v0.18.0_GH0.tar.gz) = 5103909 +SHA256 (golang-net-v0.35.0_GH0.tar.gz) = 6a09895ea551a07f69fb17d8be418cdb96cc3b6338888deb1d7b0b22ed00021e +SIZE (golang-net-v0.35.0_GH0.tar.gz) = 1500897 +SHA256 (golang-sys-v0.30.0_GH0.tar.gz) = 3e54dfe262f4f09341622679101c0f10935028cc945f78a97f898b2416edb1f0 +SIZE (golang-sys-v0.30.0_GH0.tar.gz) = 1523069 +SHA256 (golang-text-v0.22.0_GH0.tar.gz) = ac8bdce0477effd5a830345979626745e5e5bcb81d1a77c8029b0e8b3d621089 +SIZE (golang-text-v0.22.0_GH0.tar.gz) = 8970985 +SHA256 (google-btree-v1.1.2_GH0.tar.gz) = b8722a430b40035f04001ca62bb858abe931a781f76bd37d6a3e1bb23273ba2d +SIZE (google-btree-v1.1.2_GH0.tar.gz) = 19771 +SHA256 (gorilla-mux-v1.8.1_GH0.tar.gz) = c2a09e78d1886abb2d291b472eba3ac9185acb35234c1f5616669664ba893d6d +SIZE (gorilla-mux-v1.8.1_GH0.tar.gz) = 47033 +SHA256 (gregjones-httpcache-901d90724c79_GH0.tar.gz) = 2280e11c0ac820bc32717ccb8f74c95a151789c8db86d7a70b7f8f475ae0cc26 +SIZE (gregjones-httpcache-901d90724c79_GH0.tar.gz) = 14164 +SHA256 (inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = ab23e7c5cbf42564eb0190ee051b7217c04fd2599d2f26e9ebe205db75963141 +SIZE (inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = 5338 +SHA256 (peterbourgon-diskv-v2.0.1_GH0.tar.gz) = e3b15d57dfe5b4aacf506d256c595b95523c51756459aae04579d35c85bad184 +SIZE (peterbourgon-diskv-v2.0.1_GH0.tar.gz) = 16077 +SHA256 (russross-blackfriday-v1.6.0_GH0.tar.gz) = 3c92006c3ff14cdeacc7edd992acb487749e7234dbc6f95e8fb8abfaf60cdc49 +SIZE (russross-blackfriday-v1.6.0_GH0.tar.gz) = 75794 +SHA256 (speedata-bild-dd063a632b14_GH0.tar.gz) = 585082b73fe2e25d45d804dedbffae7d1757f45f0a65259f5d1f20749dc25a8f +SIZE (speedata-bild-dd063a632b14_GH0.tar.gz) = 3998419 +SHA256 (speedata-config-3a3f44982ec4_GH0.tar.gz) = 558a20825de8de484cf3cfaa07d420746d8ec3d6d2d864922060f997f324cf6f +SIZE (speedata-config-3a3f44982ec4_GH0.tar.gz) = 14090 +SHA256 (speedata-css-68d469dc62c4_GH0.tar.gz) = 4a93a680c75651cf1288f6f7fa8028e3feab0b91a56528d9a1cf1bb8894d9dc6 +SIZE (speedata-css-68d469dc62c4_GH0.tar.gz) = 13462 +SHA256 (speedata-go-epub-v0.5.5_GH0.tar.gz) = 6f0767ffbf5016ca44efde44849314f32454ed0aed556cc59b2bcef641bec27f +SIZE (speedata-go-epub-v0.5.5_GH0.tar.gz) = 25895 +SHA256 (speedata-goxlsx-v1.0.2_GH0.tar.gz) = 289e1568abc198ea6316e3109bcb5a557bcd7b61bcff332a42cdc338d7c5807c +SIZE (speedata-goxlsx-v1.0.2_GH0.tar.gz) = 67107 +SHA256 (speedata-hotfolder-5f743a840a92_GH0.tar.gz) = a9178fe99f0c164f21a6cf96f5cb9d3ecc15e1bb0d33f8c8fccde3360e6c9d2f +SIZE (speedata-hotfolder-5f743a840a92_GH0.tar.gz) = 1380 +SHA256 (speedata-optionparser-v1.1.1_GH0.tar.gz) = ea3fb4c4d50140bf8ee9948dea44f89477bf8b8295c896f1ce2ebd343173ccb0 +SIZE (speedata-optionparser-v1.1.1_GH0.tar.gz) = 9754 +SHA256 (yuin-goldmark-highlighting-37449abec8cc_GH0.tar.gz) = 9f49d339602c96284cc6b2dc51641fe37efe2346326f0b9755705aa6f20e6bf2 +SIZE (yuin-goldmark-highlighting-37449abec8cc_GH0.tar.gz) = 10298 +SHA256 (yuin-goldmark-v1.7.1_GH0.tar.gz) = e1159c456d6d5c8fdfeb61534aa23ef6f4108bbf74a21016199debfdde82590a +SIZE (yuin-goldmark-v1.7.1_GH0.tar.gz) = 252103 +SHA256 (yuin-gopher-lua-v1.1.1_GH0.tar.gz) = 9e706d96c11314a4b3e2034eb10726e48cc7e7e7e31d4765a675f901ee6a9a7e +SIZE (yuin-gopher-lua-v1.1.1_GH0.tar.gz) = 170691 diff --git a/print/publisher/files/modules.txt b/print/publisher/files/modules.txt new file mode 100644 index 000000000000..5d7ea10f95f7 --- /dev/null +++ b/print/publisher/files/modules.txt @@ -0,0 +1,164 @@ +# github.com/Masterminds/semver v1.5.0 +## explicit +github.com/Masterminds/semver +# github.com/PuerkitoBio/goquery v1.9.1 +## explicit; go 1.18 +github.com/PuerkitoBio/goquery +# github.com/alecthomas/chroma v0.10.0 +## explicit; go 1.13 +github.com/alecthomas/chroma +github.com/alecthomas/chroma/formatters/html +github.com/alecthomas/chroma/lexers +github.com/alecthomas/chroma/lexers/a +github.com/alecthomas/chroma/lexers/b +github.com/alecthomas/chroma/lexers/c +github.com/alecthomas/chroma/lexers/circular +github.com/alecthomas/chroma/lexers/d +github.com/alecthomas/chroma/lexers/e +github.com/alecthomas/chroma/lexers/f +github.com/alecthomas/chroma/lexers/g +github.com/alecthomas/chroma/lexers/h +github.com/alecthomas/chroma/lexers/i +github.com/alecthomas/chroma/lexers/internal +github.com/alecthomas/chroma/lexers/j +github.com/alecthomas/chroma/lexers/k +github.com/alecthomas/chroma/lexers/l +github.com/alecthomas/chroma/lexers/m +github.com/alecthomas/chroma/lexers/n +github.com/alecthomas/chroma/lexers/o +github.com/alecthomas/chroma/lexers/p +github.com/alecthomas/chroma/lexers/q +github.com/alecthomas/chroma/lexers/r +github.com/alecthomas/chroma/lexers/s +github.com/alecthomas/chroma/lexers/t +github.com/alecthomas/chroma/lexers/v +github.com/alecthomas/chroma/lexers/w +github.com/alecthomas/chroma/lexers/x +github.com/alecthomas/chroma/lexers/y +github.com/alecthomas/chroma/lexers/z +github.com/alecthomas/chroma/styles +# github.com/alecthomas/chroma/v2 v2.13.0 +## explicit; go 1.19 +github.com/alecthomas/chroma/v2 +github.com/alecthomas/chroma/v2/formatters/html +github.com/alecthomas/chroma/v2/lexers +github.com/alecthomas/chroma/v2/styles +# github.com/andybalholm/cascadia v1.3.2 +## explicit; go 1.16 +github.com/andybalholm/cascadia +# github.com/cjoudrey/gluahttp v0.0.0-20201111170219-25003d9adfa9 +## explicit +github.com/cjoudrey/gluahttp +# github.com/dlclark/regexp2 v1.11.0 +## explicit; go 1.13 +github.com/dlclark/regexp2 +github.com/dlclark/regexp2/syntax +# github.com/fsnotify/fsnotify v1.7.0 +## explicit; go 1.17 +github.com/fsnotify/fsnotify +# github.com/gammazero/deque v0.2.1 +## explicit; go 1.18 +github.com/gammazero/deque +# github.com/gammazero/workerpool v1.1.3 +## explicit; go 1.18 +github.com/gammazero/workerpool +# github.com/gofrs/uuid v4.4.0+incompatible +## explicit +github.com/gofrs/uuid +# github.com/google/btree v1.1.2 +## explicit; go 1.18 +github.com/google/btree +# github.com/gorilla/mux v1.8.1 +## explicit; go 1.20 +github.com/gorilla/mux +# github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 +## explicit +github.com/gregjones/httpcache +github.com/gregjones/httpcache/diskcache +# github.com/inconshreveable/mousetrap v1.1.0 +## explicit; go 1.18 +github.com/inconshreveable/mousetrap +# github.com/peterbourgon/diskv v2.0.1+incompatible +## explicit +github.com/peterbourgon/diskv +# github.com/russross/blackfriday v1.6.0 +## explicit; go 1.13 +github.com/russross/blackfriday +# github.com/speedata/bild v0.0.0-20240628091728-dd063a632b14 +## explicit; go 1.21 +github.com/speedata/bild/clone +github.com/speedata/bild/imgio +github.com/speedata/bild/math/f64 +github.com/speedata/bild/parallel +github.com/speedata/bild/transform +# github.com/speedata/config v0.0.0-20181203093101-3a3f44982ec4 +## explicit +github.com/speedata/config +# github.com/speedata/css/scanner v0.0.0-20250825095519-68d469dc62c4 +## explicit; go 1.14 +github.com/speedata/css/scanner +# github.com/speedata/go-epub v0.5.5 +## explicit +github.com/speedata/go-epub +# github.com/speedata/goxlsx v1.0.2 +## explicit +github.com/speedata/goxlsx +# github.com/speedata/hotfolder v0.0.0-20181204121114-5f743a840a92 +## explicit +github.com/speedata/hotfolder +# github.com/speedata/optionparser v1.1.1 +## explicit; go 1.17 +github.com/speedata/optionparser +# github.com/yuin/goldmark v1.7.1 +## explicit; go 1.19 +github.com/yuin/goldmark +github.com/yuin/goldmark/ast +github.com/yuin/goldmark/extension +github.com/yuin/goldmark/extension/ast +github.com/yuin/goldmark/parser +github.com/yuin/goldmark/renderer +github.com/yuin/goldmark/renderer/html +github.com/yuin/goldmark/text +github.com/yuin/goldmark/util +# github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc +## explicit; go 1.13 +github.com/yuin/goldmark-highlighting/v2 +# github.com/yuin/gopher-lua v1.1.1 +## explicit; go 1.17 +github.com/yuin/gopher-lua +github.com/yuin/gopher-lua/ast +github.com/yuin/gopher-lua/parse +github.com/yuin/gopher-lua/pm +# golang.org/x/image v0.18.0 +## explicit; go 1.18 +golang.org/x/image/bmp +# golang.org/x/net v0.35.0 +## explicit; go 1.18 +golang.org/x/net/html +golang.org/x/net/html/atom +golang.org/x/net/html/charset +# golang.org/x/sys v0.30.0 +## explicit; go 1.18 +golang.org/x/sys/unix +golang.org/x/sys/windows +# golang.org/x/text v0.22.0 +## explicit; go 1.18 +golang.org/x/text/encoding +golang.org/x/text/encoding/charmap +golang.org/x/text/encoding/htmlindex +golang.org/x/text/encoding/internal +golang.org/x/text/encoding/internal/identifier +golang.org/x/text/encoding/japanese +golang.org/x/text/encoding/korean +golang.org/x/text/encoding/simplifiedchinese +golang.org/x/text/encoding/traditionalchinese +golang.org/x/text/encoding/unicode +golang.org/x/text/internal/language +golang.org/x/text/internal/language/compact +golang.org/x/text/internal/tag +golang.org/x/text/internal/utf8internal +golang.org/x/text/language +golang.org/x/text/runes +golang.org/x/text/transform +# gopkg.in/yaml.v3 v3.0.1 +## explicit diff --git a/print/publisher/modules.txt b/print/publisher/modules.txt new file mode 100644 index 000000000000..f01a417829df --- /dev/null +++ b/print/publisher/modules.txt @@ -0,0 +1,33 @@ +GH_TUPLE= \ + Masterminds:semver:v1.5.0:masterminds_semver/src/go/vendor/github.com/Masterminds/semver \ + PuerkitoBio:goquery:v1.9.1:puerkitobio_goquery/src/go/vendor/github.com/PuerkitoBio/goquery \ + alecthomas:chroma:v0.10.0:alecthomas_chroma/src/go/vendor/github.com/alecthomas/chroma \ + alecthomas:chroma:v2.13.0:alecthomas_chroma_v2/src/go/vendor/github.com/alecthomas/chroma/v2 \ + andybalholm:cascadia:v1.3.2:andybalholm_cascadia/src/go/vendor/github.com/andybalholm/cascadia \ + cjoudrey:gluahttp:25003d9adfa9:cjoudrey_gluahttp/src/go/vendor/github.com/cjoudrey/gluahttp \ + dlclark:regexp2:v1.11.0:dlclark_regexp2/src/go/vendor/github.com/dlclark/regexp2 \ + fsnotify:fsnotify:v1.7.0:fsnotify_fsnotify/src/go/vendor/github.com/fsnotify/fsnotify \ + gammazero:deque:v0.2.1:gammazero_deque/src/go/vendor/github.com/gammazero/deque \ + gammazero:workerpool:v1.1.3:gammazero_workerpool/src/go/vendor/github.com/gammazero/workerpool \ + go-yaml:yaml:v3.0.1:go_yaml_yaml/src/go/vendor/gopkg.in/yaml.v3 \ + gofrs:uuid:v4.4.0:gofrs_uuid/src/go/vendor/github.com/gofrs/uuid \ + golang:image:v0.18.0:golang_image/src/go/vendor/golang.org/x/image \ + golang:net:v0.35.0:golang_net/src/go/vendor/golang.org/x/net \ + golang:sys:v0.30.0:golang_sys/src/go/vendor/golang.org/x/sys \ + golang:text:v0.22.0:golang_text/src/go/vendor/golang.org/x/text \ + google:btree:v1.1.2:google_btree/src/go/vendor/github.com/google/btree \ + gorilla:mux:v1.8.1:gorilla_mux/src/go/vendor/github.com/gorilla/mux \ + gregjones:httpcache:901d90724c79:gregjones_httpcache/src/go/vendor/github.com/gregjones/httpcache \ + inconshreveable:mousetrap:v1.1.0:inconshreveable_mousetrap/src/go/vendor/github.com/inconshreveable/mousetrap \ + peterbourgon:diskv:v2.0.1:peterbourgon_diskv/src/go/vendor/github.com/peterbourgon/diskv \ + russross:blackfriday:v1.6.0:russross_blackfriday/src/go/vendor/github.com/russross/blackfriday \ + speedata:bild:dd063a632b14:speedata_bild/src/go/vendor/github.com/speedata/bild \ + speedata:config:3a3f44982ec4:speedata_config/src/go/vendor/github.com/speedata/config \ + speedata:css:68d469dc62c4:speedata_css_scanner/src/go/vendor/github.com/speedata/css \ + speedata:go-epub:v0.5.5:speedata_go_epub/src/go/vendor/github.com/speedata/go-epub \ + speedata:goxlsx:v1.0.2:speedata_goxlsx/src/go/vendor/github.com/speedata/goxlsx \ + speedata:hotfolder:5f743a840a92:speedata_hotfolder/src/go/vendor/github.com/speedata/hotfolder \ + speedata:optionparser:v1.1.1:speedata_optionparser/src/go/vendor/github.com/speedata/optionparser \ + yuin:goldmark-highlighting:37449abec8cc:yuin_goldmark_highlighting_v2/src/go/vendor/github.com/yuin/goldmark-highlighting/v2 \ + yuin:goldmark:v1.7.1:yuin_goldmark/src/go/vendor/github.com/yuin/goldmark \ + yuin:gopher-lua:v1.1.1:yuin_gopher_lua/src/go/vendor/github.com/yuin/gopher-lua diff --git a/print/publisher/pkg-descr b/print/publisher/pkg-descr new file mode 100644 index 000000000000..54250dcd99a9 --- /dev/null +++ b/print/publisher/pkg-descr @@ -0,0 +1,13 @@ +speedata Publisher is a professional, non-interactive layout engine for +database publishing. It generates high-quality PDF files from XML data +and XML layout instructions, making it well suited for product catalogs, +price lists, and other documents with demanding layout requirements. +The layout description language allows complex, nearly arbitrary page +designs while keeping the job as straightforward as possible. It can be +thought of as "XSL-FO on steroids" or a server-side alternative to +desktop publishing tools like InDesign. It is production-proven and used +in commercial environments worldwide. +The core typesetting engine is LuaTeX (not included; must be provided +separately via download.speedata.de or the official packages). The Go +front-end binary (sp) drives the build process and handles XML parsing, +resource loading, and orchestration of the LuaTeX process. diff --git a/print/publisher/pkg-help b/print/publisher/pkg-help new file mode 100644 index 000000000000..1d38b98aa7ed --- /dev/null +++ b/print/publisher/pkg-help @@ -0,0 +1,47 @@ +JAVA_TOOLS option +----------------- + +By selection the JAVA_TOOLS option, the following ports are installed +as runtime dependencies and their JAR files are +symlinked into /usr/local/lib/speedata-publisher: + + textproc/saxon-he (XSLT/XPath/XQuery, also provides xmlresolver) + textproc/jing (RELAX NG validator) + textproc/trang (schema converter) + +A Java runtime (openjdk25) is pulled in transitively. + +To build without these dependencies (for example to use the upstream +JARs at specific versions, or to skip the Java toolchain entirely): + + cd /usr/ports/print/publisher + make config # uncheck JAVA_TOOLS + make install clean + +Without JAVA_TOOLS the following files would normally need to be placed +manually at the indicated paths: + + /usr/local/lib/speedata-publisher/saxon-he-12.9.jar + /usr/local/lib/speedata-publisher/jing.jar + /usr/local/lib/speedata-publisher/trang.jar + /usr/local/lib/speedata-publisher/lib/xmlresolver-5.3.3.jar + /usr/local/lib/speedata-publisher/lib/xmlresolver-5.3.3-data.jar + +Upstream download URLs: + + https://repo1.maven.org/maven2/net/sf/saxon/Saxon-HE/12.9/Saxon-HE-12.9.jar + https://github.com/relaxng/jing-trang/releases/download/V20220510/jing-20220510.jar + https://github.com/relaxng/jing-trang/releases/download/V20220510/trang-20220510.jar + https://repo1.maven.org/maven2/org/xmlresolver/xmlresolver/5.3.3/xmlresolver-5.3.3.jar + https://repo1.maven.org/maven2/org/xmlresolver/xmlresolver/5.3.3/xmlresolver-5.3.3-data.jar + +A Java runtime must also be installed (pkg install openjdk25). + +Pro flavor +---------- + +This port has two flavors: default (community) and pro. To build the +pro flavor from source: + + cd /usr/ports/print/publisher + make FLAVOR=pro install clean diff --git a/print/publisher/pkg-plist b/print/publisher/pkg-plist new file mode 100644 index 000000000000..8f52ee2467fe --- /dev/null +++ b/print/publisher/pkg-plist @@ -0,0 +1,130 @@ +bin/sdluatex +bin/sp +%%JAVA_TOOLS%%lib/speedata-publisher/jing.jar +%%JAVA_TOOLS%%lib/speedata-publisher/lib/xmlresolver-5.3.3-data.jar +%%JAVA_TOOLS%%lib/speedata-publisher/lib/xmlresolver-5.3.3.jar +lib/speedata-publisher/libsplib.so +lib/speedata-publisher/luaglue.so +%%JAVA_TOOLS%%lib/speedata-publisher/saxon-he-12.9.jar +%%JAVA_TOOLS%%lib/speedata-publisher/trang.jar +share/speedata-publisher/schema/catalog-schema-de.xml +share/speedata-publisher/schema/catalog-schema-en.xml +share/speedata-publisher/schema/layoutschema-de.rng +share/speedata-publisher/schema/layoutschema-de.xsd +share/speedata-publisher/schema/layoutschema-en.rng +share/speedata-publisher/schema/layoutschema-en.xsd +share/speedata-publisher/sw/colorprofiles/ISOcoated_v2_eci.icc +share/speedata-publisher/sw/fonts/camingocode/CamingoCode-Bold.ttf +share/speedata-publisher/sw/fonts/camingocode/CamingoCode-BoldItalic.ttf +share/speedata-publisher/sw/fonts/camingocode/CamingoCode-Italic.ttf +share/speedata-publisher/sw/fonts/camingocode/CamingoCode-Regular.ttf +share/speedata-publisher/sw/fonts/crimsonpro/CrimsonPro-Bold.ttf +share/speedata-publisher/sw/fonts/crimsonpro/CrimsonPro-BoldItalic.ttf +share/speedata-publisher/sw/fonts/crimsonpro/CrimsonPro-Italic.ttf +share/speedata-publisher/sw/fonts/crimsonpro/CrimsonPro-Regular.ttf +share/speedata-publisher/sw/fonts/texgyreheros/texgyreheros-bold.otf +share/speedata-publisher/sw/fonts/texgyreheros/texgyreheros-bolditalic.otf +share/speedata-publisher/sw/fonts/texgyreheros/texgyreheros-italic.otf +share/speedata-publisher/sw/fonts/texgyreheros/texgyreheros-regular.otf +share/speedata-publisher/sw/hyphenation/hyph-bg.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-ca.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-cs.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-cy.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-da.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-de-1996.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-el-monoton.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-en-gb.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-en-us.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-eo.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-es.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-et.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-eu.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-fi.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-fr.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-ga.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-gl.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-grc.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-gu.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-hi.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-hr.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-hu.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-hy.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-id.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-is.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-it.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-kmr.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-kn.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-lt.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-lv.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-ml.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-nb.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-nl.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-nn.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-pl.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-pt.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-ro.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-ru.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-sa.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-sk.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-sl.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-sr-cyrl.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-sr.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-sv.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-tr.pat.txt +share/speedata-publisher/sw/hyphenation/hyph-uk.pat.txt +share/speedata-publisher/sw/img/_samplea.pdf +share/speedata-publisher/sw/img/_sampleb.pdf +share/speedata-publisher/sw/img/filenotfound.pdf +share/speedata-publisher/sw/lua/.gitignore +share/speedata-publisher/sw/lua/barcodes/barcodes.lua +share/speedata-publisher/sw/lua/barcodes/qrencode.lua +share/speedata-publisher/sw/lua/box.lua +share/speedata-publisher/sw/lua/common/lua-visual-debug.lua +share/speedata-publisher/sw/lua/common/sd-callbacks.lua +share/speedata-publisher/sw/lua/common/sd-debug.lua +share/speedata-publisher/sw/lua/css.lua +share/speedata-publisher/sw/lua/dimexpr.lua +share/speedata-publisher/sw/lua/fonts/fontloader.lua +share/speedata-publisher/sw/lua/html.lua +share/speedata-publisher/sw/lua/html/fonts.lua +share/speedata-publisher/sw/lua/html/images.lua +share/speedata-publisher/sw/lua/html/inherit.lua +share/speedata-publisher/sw/lua/html/inline_images.lua +share/speedata-publisher/sw/lua/html/inline_options.lua +share/speedata-publisher/sw/lua/html/inline_utils.lua +share/speedata-publisher/sw/lua/html/lists.lua +share/speedata-publisher/sw/lua/html/pages.lua +share/speedata-publisher/sw/lua/html/strings.lua +share/speedata-publisher/sw/lua/html/styles.lua +share/speedata-publisher/sw/lua/html/tables.lua +share/speedata-publisher/sw/lua/html/tree.lua +share/speedata-publisher/sw/lua/html/units.lua +share/speedata-publisher/sw/lua/luxor.lua +share/speedata-publisher/sw/lua/lxpath.lua +share/speedata-publisher/sw/lua/par.lua +share/speedata-publisher/sw/lua/publisher.lua +share/speedata-publisher/sw/lua/publisher/colors.lua +share/speedata-publisher/sw/lua/publisher/commands.lua +share/speedata-publisher/sw/lua/publisher/fonts.lua +share/speedata-publisher/sw/lua/publisher/grid.lua +share/speedata-publisher/sw/lua/publisher/layout_functions.lua +share/speedata-publisher/sw/lua/publisher/layout_functions_lxpath.lua +share/speedata-publisher/sw/lua/publisher/links.lua +share/speedata-publisher/sw/lua/publisher/metadata.lua +share/speedata-publisher/sw/lua/publisher/metapost.lua +share/speedata-publisher/sw/lua/publisher/page.lua +share/speedata-publisher/sw/lua/publisher/spinit.lua +share/speedata-publisher/sw/lua/publisher/tabular.lua +share/speedata-publisher/sw/lua/sampler.lua +share/speedata-publisher/sw/lua/sdini.lua +share/speedata-publisher/sw/lua/sdscripts.lua +share/speedata-publisher/sw/lua/shalocal.lua +share/speedata-publisher/sw/lua/socket_url.lua +share/speedata-publisher/sw/lua/spotcolors.lua +share/speedata-publisher/sw/lua/uuid.lua +share/speedata-publisher/sw/lua/xmlbuilder.lua +share/speedata-publisher/sw/lua/xpath.lua +share/speedata-publisher/sw/metapost/csscolors.mp +share/speedata-publisher/sw/metapost/plain.mp +share/speedata-publisher/sw/metapost/sp.mp +share/speedata-publisher/sw/tex/publisher.tex |
