Created attachment 244886 [details] laminar support
Created attachment 244902 [details] Updated patch - the previous one had one unecessarry 'laminar' subfolder
@Marian Thanks for uploading! This works for me. There was a missing build dependency on rapidjson: BUILD_DEPENDS+= ${LOCALBASE}/include/rapidjson/rapidjson.h:devel/rapidjson
Created attachment 244928 [details] Fixed rapidjson dependency @Yonas Fixed, thanks.
Thank you for your submission! Could you work with upstream to resolve the ONLY_FOR_ARCHS limitation? aarch64 is a tier 1 platform so we try to have everything working there too unless it's a platform specific port.
@joel If you want to support aarch64 or some other small reasonable set of architectures (Power9, RiscV, ..) that is not a problem, I can do it in few days, but I cannot get rid of ONLY_FOR_ARCHS limitation. The reason is that the linker is directly used to link a binary blob (compressed .html, .js, .css) into an object file. And in case of LLVM linker ("ld.lld") and --format=binary (-b) flag, the linker requires to explicitly set what is the "emulation" type (output format + arch + endian + abi). CMake does not provide any builtin variable to express this kind of linker feature - so I created a conversion based on CMAKE_SYSTEM_PROCESSOR. GNU_LD does not have such a problem.
From what I can tell, having support for all tier 1 platforms (which are amd64 and aarch64 as of 14.0) would be desirable. The general limitation for other archs seems to make sense given the limitation/requirement you laid out.
@jbo please: where you are the assignee for reports such as this, are you happy for the status to be in progress? ^Triage: * status (open) * URL.
(In reply to Graham Perrin from comment #7) I / we tend to update the status to 'in progress' once that the committer actually starts applying the patch locally and performing build tests. That is not the case here yet.
Created attachment 245536 [details] Enable aarch64, powerpc64. Enable automatic reload configuration using 'libinotify'
Did you run this through poudriere-testport (successfully)?
Created attachment 246087 [details] pass poudriere testport Updated to pass poudriere (in previous version, cmake downloaded external .js libraries during configure phase)
I just noticed that some of the patched changes seem to have been committed to upstream: https://github.com/ohwgiles/laminar/commit/277a59f1cba75fa763e5838b3443f11686dd5ebb Could you update the port accordingly before we merge this?
Created attachment 246187 [details] GH_TAGNAME refers to commit supporting FBSD
(In reply to Joel Bodenmann from comment #12) Done.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=181bdf41a334781d1a858ec8f26d679ec9871374 commit 181bdf41a334781d1a858ec8f26d679ec9871374 Author: Marian Cingel <cingel.marian@gmail.com> AuthorDate: 2023-09-15 12:27:40 +0000 Commit: Joel Bodenmann <jbo@FreeBSD.org> CommitDate: 2023-12-20 12:54:26 +0000 devel/laminar: New port Laminar is a lightweight client-server CI service written in C++ and configured by environment variables. It comes with a built-in webserver and uses simple .run shell scripts as jobs. PR: 273827 Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D42877 devel/Makefile | 1 + devel/laminar/Makefile (new) | 72 +++++++++++++++++++++++++++++++ devel/laminar/distinfo (new) | 9 ++++ devel/laminar/files/laminard.env.in (new) | 64 +++++++++++++++++++++++++++ devel/laminar/files/laminard.in (new +x) | 32 ++++++++++++++ devel/laminar/pkg-descr (new) | 5 +++ devel/laminar/pkg-plist (new) | 10 +++++ 7 files changed, 193 insertions(+)
Committed - Thanks! Apologies that this took so long.