git: e2f8166b2678 - 2025Q3 - textproc/gitlab-zoekt-indexer: new port used by www/gitlab

From: Matthias Fechner <mfechner_at_FreeBSD.org>
Date: Fri, 18 Jul 2025 06:06:02 UTC
The branch 2025Q3 has been updated by mfechner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e2f8166b2678fa2b570477cc085a1b64f09d8bf7

commit e2f8166b2678fa2b570477cc085a1b64f09d8bf7
Author:     Matthias Fechner <mfechner@FreeBSD.org>
AuthorDate: 2025-07-16 17:01:23 +0000
Commit:     Matthias Fechner <mfechner@FreeBSD.org>
CommitDate: 2025-07-18 05:51:45 +0000

    textproc/gitlab-zoekt-indexer: new port used by www/gitlab
    
    This port received a patch to make it buildable.
    I requested upstream already to include that patch:
    https://github.com/sourcegraph/zoekt/pull/968
    
    (cherry picked from commit 84d06abb0ca5f2be2dfccf09414ba104affa7079)
---
 textproc/Makefile                                  |  1 +
 textproc/gitlab-zoekt-indexer/Makefile             | 45 ++++++++++++++++++++++
 textproc/gitlab-zoekt-indexer/distinfo             |  5 +++
 ...github.com_sourcegraph_zoekt_index_indexfile.go | 11 ++++++
 textproc/gitlab-zoekt-indexer/pkg-descr            |  3 ++
 5 files changed, 65 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index d826579ba5e4..8229d0db6990 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -233,6 +233,7 @@
     SUBDIR += gh-grep
     SUBDIR += git-chglog
     SUBDIR += gitlab-elasticsearch-indexer
+    SUBDIR += gitlab-zoekt-indexer
     SUBDIR += gl-aspell
     SUBDIR += gladtex
     SUBDIR += gnugrep
diff --git a/textproc/gitlab-zoekt-indexer/Makefile b/textproc/gitlab-zoekt-indexer/Makefile
new file mode 100644
index 000000000000..fbabff019d67
--- /dev/null
+++ b/textproc/gitlab-zoekt-indexer/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=	gitlab-zoekt-indexer
+PORTVERSION=	0.24.0
+DISTVERSIONPREFIX=	v
+CATEGORIES=	textproc
+
+MAINTAINER=	mfechner@FreeBSD.org
+COMMENT=	Zoekt search solution for Gitlab
+WWW=		https://gitlab.com/gitlab-org/gitlab-zoekt-indexer
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS=	git>=2.38.1:devel/git
+#LIB_DEPENDS=	libicui18n.so:devel/icu \
+#		libicuuc.so:devel/icu
+#RUN_DEPENDS=	p5-Image-ExifTool>=0:graphics/p5-Image-ExifTool
+
+USES=		gmake go:modules,no_targets,1.23 pkgconfig
+
+USE_GITLAB=	yes
+GL_ACCOUNT=	gitlab-org
+GO_MOD_DIST=	gitlab
+GO_MODULE=	gitlab.com/gitlab-org/gitlab-zoekt-indexer
+
+MAKE_ENV=	GOFLAGS="${GO_BUILDFLAGS}"
+# make sure to pass go build options into make process
+MAKE_ENV+=	${GO_ENV}
+ALL_TARGET=	build-unified
+
+PLIST_FILES=	bin/gitlab-zoekt
+
+# add a git tag, as that is required by the build script
+pre-build:
+	cd ${WRKSRC} && \
+		git init && \
+		git config user.email "${MAINTAINER}" && \
+		git config user.name "Matthias Fechner" && \
+		git add . && \
+		git commit -m "tag" && \
+		git tag v${PORTVERSION}
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/bin/gitlab-zoekt ${STAGEDIR}${PREFIX}/bin/gitlab-zoekt
+
+.include <bsd.port.mk>
diff --git a/textproc/gitlab-zoekt-indexer/distinfo b/textproc/gitlab-zoekt-indexer/distinfo
new file mode 100644
index 000000000000..904a7f01076d
--- /dev/null
+++ b/textproc/gitlab-zoekt-indexer/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1752680378
+SHA256 (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v0.24.0/go.mod) = f9bcc8f70e8c386677f3de9422b6d5388d9fbe384dbe64b1fb923aee87d931f9
+SIZE (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v0.24.0/go.mod) = 6837
+SHA256 (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v0.24.0/gitlab-zoekt-indexer-v0.24.0.tar.bz2) = 384cd8c3dc1e271a78ecbf91190bb0ce8d2085ee53961b387d5887ddc7d53631
+SIZE (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v0.24.0/gitlab-zoekt-indexer-v0.24.0.tar.bz2) = 152552
diff --git a/textproc/gitlab-zoekt-indexer/files/patch-vendor_github.com_sourcegraph_zoekt_index_indexfile.go b/textproc/gitlab-zoekt-indexer/files/patch-vendor_github.com_sourcegraph_zoekt_index_indexfile.go
new file mode 100644
index 000000000000..ae519c1aba8c
--- /dev/null
+++ b/textproc/gitlab-zoekt-indexer/files/patch-vendor_github.com_sourcegraph_zoekt_index_indexfile.go
@@ -0,0 +1,11 @@
+--- vendor/github.com/sourcegraph/zoekt/index/indexfile.go.orig	2025-07-16 16:01:58 UTC
++++ vendor/github.com/sourcegraph/zoekt/index/indexfile.go
+@@ -12,7 +12,7 @@
+ // See the License for the specific language governing permissions and
+ // limitations under the License.
+ 
+-//go:build linux || darwin
++//go:build linux || darwin || freebsd
+ 
+ package index
+ 
diff --git a/textproc/gitlab-zoekt-indexer/pkg-descr b/textproc/gitlab-zoekt-indexer/pkg-descr
new file mode 100644
index 000000000000..83f1557436aa
--- /dev/null
+++ b/textproc/gitlab-zoekt-indexer/pkg-descr
@@ -0,0 +1,3 @@
+A fast, precise code search solution that integrates Zoekt with GitLab.
+This project provides the infrastructure for indexing and searching code
+across GitLab repositories with high performance and accuracy.