summaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
Diffstat (limited to 'textproc')
-rw-r--r--textproc/Makefile2
-rw-r--r--textproc/apache-xmlbeans/Makefile2
-rw-r--r--textproc/gnugrep/Makefile11
-rw-r--r--textproc/gnugrep/distinfo6
-rw-r--r--textproc/harper/Makefile2
-rw-r--r--textproc/harper/Makefile.crates25
-rw-r--r--textproc/harper/distinfo56
-rw-r--r--textproc/jaq/Makefile7
-rw-r--r--textproc/libxmlb/Makefile1
-rw-r--r--textproc/obsidian/Makefile1
-rw-r--r--textproc/opensearch-dashboards210/Makefile6
-rw-r--r--textproc/opensearch-dashboards213/Makefile4
-rw-r--r--textproc/opensearch-dashboards216/Makefile84
-rw-r--r--textproc/opensearch-dashboards216/distinfo2
-rw-r--r--textproc/opensearch-dashboards216/files/opensearch-dashboards.in79
-rw-r--r--textproc/opensearch-dashboards216/files/pkg-deinstall.in20
-rw-r--r--textproc/opensearch-dashboards216/pkg-descr3
-rw-r--r--textproc/opensearch-dashboards219/Makefile92
-rw-r--r--textproc/opensearch-dashboards219/distinfo5
-rw-r--r--textproc/opensearch-dashboards219/files/opensearch-dashboards.in79
-rw-r--r--textproc/opensearch-dashboards219/files/pkg-deinstall.in20
-rw-r--r--textproc/opensearch-dashboards219/pkg-descr3
-rw-r--r--textproc/opensearch210/Makefile4
-rw-r--r--textproc/opensearch213/Makefile6
-rw-r--r--textproc/opensearch216/Makefile155
-rw-r--r--textproc/opensearch216/distinfo2
-rw-r--r--textproc/opensearch216/files/opensearch.in115
-rw-r--r--textproc/opensearch216/files/patch-config_jvm.options23
-rw-r--r--textproc/opensearch216/files/patch-config_opensearch.yml15
-rw-r--r--textproc/opensearch216/files/pkg-message.in27
-rw-r--r--textproc/opensearch216/pkg-descr2
-rw-r--r--textproc/opensearch219/Makefile154
-rw-r--r--textproc/opensearch219/distinfo5
-rw-r--r--textproc/opensearch219/files/opensearch.in115
-rw-r--r--textproc/opensearch219/files/patch-config_jvm.options23
-rw-r--r--textproc/opensearch219/files/patch-config_opensearch.yml15
-rw-r--r--textproc/opensearch219/files/pkg-message.in27
-rw-r--r--textproc/opensearch219/pkg-descr2
-rw-r--r--textproc/p5-Apache-Solr/Makefile2
-rw-r--r--textproc/p5-Apache-Solr/distinfo6
-rw-r--r--textproc/p5-Perl-MinimumVersion/Makefile5
-rw-r--r--textproc/p5-Perl-MinimumVersion/distinfo6
-rw-r--r--textproc/quarto/Makefile2
-rw-r--r--textproc/ruby-rdtool/Makefile3
-rw-r--r--textproc/saxon-he/Makefile12
-rw-r--r--textproc/saxon-he/distinfo6
-rw-r--r--textproc/snowballstemmer/Makefile14
-rw-r--r--textproc/snowballstemmer/distinfo6
-rw-r--r--textproc/snowballstemmer/files/patch-GNUmakefile18
49 files changed, 1192 insertions, 88 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 83600df918eb..ea1e5af14694 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -522,10 +522,12 @@
SUBDIR += opensearch-dashboards210
SUBDIR += opensearch-dashboards213
SUBDIR += opensearch-dashboards216
+ SUBDIR += opensearch-dashboards219
SUBDIR += opensearch13
SUBDIR += opensearch210
SUBDIR += opensearch213
SUBDIR += opensearch216
+ SUBDIR += opensearch219
SUBDIR += opensp
SUBDIR += openvanilla-framework
SUBDIR += or-aspell
diff --git a/textproc/apache-xmlbeans/Makefile b/textproc/apache-xmlbeans/Makefile
index fbe9c8cca96c..3db35cd1b265 100644
--- a/textproc/apache-xmlbeans/Makefile
+++ b/textproc/apache-xmlbeans/Makefile
@@ -32,7 +32,7 @@ PORTEXAMPLES= *
OPTIONS_DEFINE= DOCS EXAMPLES SAXON
OPTIONS_DEFAULT= SAXON
SAXON_DESC= Saxon XQuery processor for full XQuery and XPath support
-SAXON_RUN_DEPENDS= saxon-he=12.5:textproc/saxon-he
+SAXON_RUN_DEPENDS= saxon-he=12.6:textproc/saxon-he
pre-configure:
${REINPLACE_CMD} -e 's|%%JAVAJARDIR%%|${JAVAJARDIR}|' \
diff --git a/textproc/gnugrep/Makefile b/textproc/gnugrep/Makefile
index 12e11853bf45..82fa50d26440 100644
--- a/textproc/gnugrep/Makefile
+++ b/textproc/gnugrep/Makefile
@@ -1,5 +1,5 @@
PORTNAME= grep
-PORTVERSION= 3.11
+PORTVERSION= 3.12
CATEGORIES= textproc
MASTER_SITES= GNU
PKGNAMEPREFIX= gnu
@@ -10,11 +10,8 @@ WWW= https://www.gnu.org/software/grep/
LICENSE= GPLv3+
-CONFLICTS= bsd-grep
-
USES= charsetfix cpe tar:xz
GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
CONFIGURE_ARGS= --program-prefix=g
TEST_TARGET= check
@@ -22,7 +19,7 @@ INFO= grep
CPE_VENDOR= gnu
OPTIONS_DEFINE= COMPAT ICONV LIBSIGSEGV NLS PCRE
-OPTIONS_DEFAULT= COMPAT ICONV PCRE
+OPTIONS_DEFAULT= ICONV PCRE
COMPAT_DESC= Create g-prefixless compatibility symlinks
LIBSIGSEGV_DESC= Use alternative page fault handler (GNU libsigsegv)
OPTIONS_SUB= yes
@@ -45,8 +42,8 @@ post-patch:
@${REINPLACE_CMD} 's:@grep@:${PREFIX}/bin/&:' ${WRKSRC}/src/egrep.sh
@${REINPLACE_CMD} 's|mkinstalldirs = .*|mkinstalldirs = ${MKDIR}|g' \
${WRKSRC}/po/Makefile.in.in
-# Remove useless(?) macro to avoid run-time dependency on `textproc/groff'
- @${REINPLACE_CMD} '/Map mono-width fonts to standard fonts/,+6d' \
+# Don't use extension register to avoid run-time dependency on `textproc/groff'
+ @${REINPLACE_CMD} 's,do nr mH .* groff extension register,nr mH 0,' \
${WRKSRC}/doc/grep.in.1
post-patch-NLS-off:
diff --git a/textproc/gnugrep/distinfo b/textproc/gnugrep/distinfo
index fe758ac20332..ae1b2096918c 100644
--- a/textproc/gnugrep/distinfo
+++ b/textproc/gnugrep/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1683967158
-SHA256 (grep-3.11.tar.xz) = 1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab
-SIZE (grep-3.11.tar.xz) = 1703776
+TIMESTAMP = 1744301167
+SHA256 (grep-3.12.tar.xz) = 2649b27c0e90e632eadcd757be06c6e9a4f48d941de51e7c0f83ff76408a07b9
+SIZE (grep-3.12.tar.xz) = 1918448
diff --git a/textproc/harper/Makefile b/textproc/harper/Makefile
index ff1e7522c6f2..da37fab8ef1c 100644
--- a/textproc/harper/Makefile
+++ b/textproc/harper/Makefile
@@ -1,6 +1,6 @@
PORTNAME= harper
DISTVERSIONPREFIX= v
-DISTVERSION= 0.33.0
+DISTVERSION= 0.34.1
CATEGORIES= textproc
MAINTAINER= ashish@FreeBSD.org
diff --git a/textproc/harper/Makefile.crates b/textproc/harper/Makefile.crates
index 82c00720e9b8..dde09a898a68 100644
--- a/textproc/harper/Makefile.crates
+++ b/textproc/harper/Makefile.crates
@@ -3,6 +3,7 @@ CARGO_CRATES= addr2line-0.24.2 \
ahash-0.8.11 \
aho-corasick-1.1.3 \
allocator-api2-0.2.21 \
+ ammonia-4.1.0 \
android-tzdata-0.1.1 \
android_system_properties-0.1.5 \
anes-0.1.6 \
@@ -48,6 +49,8 @@ CARGO_CRATES= addr2line-0.24.2 \
crossbeam-epoch-0.9.18 \
crossbeam-utils-0.8.21 \
crunchy-0.2.3 \
+ cssparser-0.35.0 \
+ cssparser-macros-0.6.1 \
darling-0.20.10 \
darling_core-0.20.10 \
darling_macro-0.20.10 \
@@ -57,6 +60,8 @@ CARGO_CRATES= addr2line-0.24.2 \
dirs-sys-0.3.7 \
dirs-sys-0.5.0 \
displaydoc-0.2.5 \
+ dtoa-1.0.10 \
+ dtoa-short-0.3.5 \
ecow-0.2.3 \
either-1.13.0 \
env_logger-0.8.4 \
@@ -65,6 +70,7 @@ CARGO_CRATES= addr2line-0.24.2 \
foldhash-0.1.5 \
form_urlencoded-1.2.1 \
fst-0.4.7 \
+ futf-0.1.5 \
futures-0.3.31 \
futures-channel-0.3.31 \
futures-core-0.3.31 \
@@ -80,9 +86,10 @@ CARGO_CRATES= addr2line-0.24.2 \
gimli-0.31.1 \
half-2.4.1 \
hashbrown-0.14.5 \
- hashbrown-0.15.2 \
+ hashbrown-0.15.3 \
heck-0.5.0 \
hermit-abi-0.4.0 \
+ html5ever-0.31.0 \
http-1.3.1 \
http-body-1.0.1 \
http-body-util-0.1.3 \
@@ -125,10 +132,15 @@ CARGO_CRATES= addr2line-0.24.2 \
log-0.4.25 \
lru-0.14.0 \
lsp-types-0.94.1 \
+ mac-0.1.1 \
+ maplit-1.0.2 \
+ markup5ever-0.16.1 \
+ match_token-0.1.0 \
memchr-2.7.4 \
mime-0.3.17 \
miniz_oxide-0.8.3 \
mio-1.0.3 \
+ new_debug_unreachable-1.0.6 \
nu-ansi-term-0.46.0 \
num-traits-0.2.19 \
object-0.36.7 \
@@ -143,12 +155,18 @@ CARGO_CRATES= addr2line-0.24.2 \
paste-1.0.15 \
pathdiff-0.2.3 \
percent-encoding-2.3.1 \
+ phf-0.11.3 \
+ phf_codegen-0.11.3 \
+ phf_generator-0.11.3 \
+ phf_macros-0.11.3 \
+ phf_shared-0.11.3 \
pin-project-1.1.8 \
pin-project-internal-1.1.8 \
pin-project-lite-0.2.16 \
pin-utils-0.1.0 \
portable-atomic-1.10.0 \
ppv-lite86-0.2.20 \
+ precomputed-hash-0.1.1 \
proc-macro2-1.0.93 \
pulldown-cmark-0.13.0 \
pulldown-cmark-escape-0.11.0 \
@@ -196,6 +214,8 @@ CARGO_CRATES= addr2line-0.24.2 \
smallvec-1.15.0 \
socket2-0.5.9 \
stable_deref_trait-1.2.0 \
+ string_cache-0.8.9 \
+ string_cache_codegen-0.5.4 \
strsim-0.11.1 \
strum-0.27.1 \
strum_macros-0.27.1 \
@@ -204,6 +224,7 @@ CARGO_CRATES= addr2line-0.24.2 \
syn-2.0.96 \
sync_wrapper-1.0.2 \
synstructure-0.13.1 \
+ tendril-0.4.3 \
thin-vec-0.2.13 \
thiserror-1.0.69 \
thiserror-2.0.12 \
@@ -270,6 +291,7 @@ CARGO_CRATES= addr2line-0.24.2 \
unscanny-0.1.0 \
untrusted-0.9.0 \
url-2.5.4 \
+ utf-8-0.7.6 \
utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
@@ -288,6 +310,7 @@ CARGO_CRATES= addr2line-0.24.2 \
wasm-bindgen-shared-0.2.100 \
web-sys-0.3.77 \
web-time-1.1.0 \
+ web_atoms-0.1.2 \
webpki-roots-0.26.8 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
diff --git a/textproc/harper/distinfo b/textproc/harper/distinfo
index 01eeff6f2bf1..e20be3433a26 100644
--- a/textproc/harper/distinfo
+++ b/textproc/harper/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1746513708
+TIMESTAMP = 1746817926
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
@@ -9,6 +9,8 @@ SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2d
SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622
+SHA256 (rust/crates/ammonia-4.1.0.crate) = 3ada2ee439075a3e70b6992fce18ac4e407cd05aea9ca3f75d2c0b0c20bbb364
+SIZE (rust/crates/ammonia-4.1.0.crate) = 53061
SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
@@ -99,6 +101,10 @@ SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aa
SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
SHA256 (rust/crates/crunchy-0.2.3.crate) = 43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929
SIZE (rust/crates/crunchy-0.2.3.crate) = 3775
+SHA256 (rust/crates/cssparser-0.35.0.crate) = 4e901edd733a1472f944a45116df3f846f54d37e67e68640ac8bb69689aca2aa
+SIZE (rust/crates/cssparser-0.35.0.crate) = 54145
+SHA256 (rust/crates/cssparser-macros-0.6.1.crate) = 13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331
+SIZE (rust/crates/cssparser-macros-0.6.1.crate) = 7914
SHA256 (rust/crates/darling-0.20.10.crate) = 6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989
SIZE (rust/crates/darling-0.20.10.crate) = 32031
SHA256 (rust/crates/darling_core-0.20.10.crate) = 95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5
@@ -117,6 +123,10 @@ SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e
SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157
SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/dtoa-1.0.10.crate) = d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04
+SIZE (rust/crates/dtoa-1.0.10.crate) = 17584
+SHA256 (rust/crates/dtoa-short-0.3.5.crate) = cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87
+SIZE (rust/crates/dtoa-short-0.3.5.crate) = 8287
SHA256 (rust/crates/ecow-0.2.3.crate) = e42fc0a93992b20c58b99e59d61eaf1635a25bfbe49e4275c34ba0aee98119ba
SIZE (rust/crates/ecow-0.2.3.crate) = 26087
SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
@@ -133,6 +143,8 @@ SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd
SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
SHA256 (rust/crates/fst-0.4.7.crate) = 7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a
SIZE (rust/crates/fst-0.4.7.crate) = 1573393
+SHA256 (rust/crates/futf-0.1.5.crate) = df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843
+SIZE (rust/crates/futf-0.1.5.crate) = 11344
SHA256 (rust/crates/futures-0.3.31.crate) = 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876
SIZE (rust/crates/futures-0.3.31.crate) = 54953
SHA256 (rust/crates/futures-channel-0.3.31.crate) = 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
@@ -163,12 +175,14 @@ SHA256 (rust/crates/half-2.4.1.crate) = 6dd08c532ae367adf81c312a4580bc67f1d0fe8b
SIZE (rust/crates/half-2.4.1.crate) = 50892
SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1
SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
-SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
-SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
+SHA256 (rust/crates/hashbrown-0.15.3.crate) = 84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3
+SIZE (rust/crates/hashbrown-0.15.3.crate) = 140413
SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
SIZE (rust/crates/heck-0.5.0.crate) = 11517
SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc
SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310
+SHA256 (rust/crates/html5ever-0.31.0.crate) = 953cbbe631aae7fc0a112702ad5d3aaf09da38beaf45ea84610d6e1c358f569c
+SIZE (rust/crates/html5ever-0.31.0.crate) = 72775
SHA256 (rust/crates/http-1.3.1.crate) = f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565
SIZE (rust/crates/http-1.3.1.crate) = 106063
SHA256 (rust/crates/http-body-1.0.1.crate) = 1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184
@@ -253,6 +267,14 @@ SHA256 (rust/crates/lru-0.14.0.crate) = 9f8cc7106155f10bdf99a6f379688f543ad6596a
SIZE (rust/crates/lru-0.14.0.crate) = 16345
SHA256 (rust/crates/lsp-types-0.94.1.crate) = c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1
SIZE (rust/crates/lsp-types-0.94.1.crate) = 66997
+SHA256 (rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
+SIZE (rust/crates/mac-0.1.1.crate) = 4838
+SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
+SIZE (rust/crates/maplit-1.0.2.crate) = 8871
+SHA256 (rust/crates/markup5ever-0.16.1.crate) = d0a8096766c229e8c88a3900c9b44b7e06aa7f7343cc229158c3e58ef8f9973a
+SIZE (rust/crates/markup5ever-0.16.1.crate) = 18706
+SHA256 (rust/crates/match_token-0.1.0.crate) = 88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b
+SIZE (rust/crates/match_token-0.1.0.crate) = 4903
SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
SIZE (rust/crates/memchr-2.7.4.crate) = 96670
SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
@@ -261,6 +283,8 @@ SHA256 (rust/crates/miniz_oxide-0.8.3.crate) = b8402cab7aefae129c6977bb0ff1b8fd9
SIZE (rust/crates/miniz_oxide-0.8.3.crate) = 61827
SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd
SIZE (rust/crates/mio-1.0.3.crate) = 103703
+SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086
+SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582
SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
@@ -289,6 +313,16 @@ SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d
SIZE (rust/crates/pathdiff-0.2.3.crate) = 7495
SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/phf-0.11.3.crate) = 1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078
+SIZE (rust/crates/phf-0.11.3.crate) = 23231
+SHA256 (rust/crates/phf_codegen-0.11.3.crate) = aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a
+SIZE (rust/crates/phf_codegen-0.11.3.crate) = 13741
+SHA256 (rust/crates/phf_generator-0.11.3.crate) = 3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d
+SIZE (rust/crates/phf_generator-0.11.3.crate) = 15431
+SHA256 (rust/crates/phf_macros-0.11.3.crate) = f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216
+SIZE (rust/crates/phf_macros-0.11.3.crate) = 18436
+SHA256 (rust/crates/phf_shared-0.11.3.crate) = 67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5
+SIZE (rust/crates/phf_shared-0.11.3.crate) = 15199
SHA256 (rust/crates/pin-project-1.1.8.crate) = 1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916
SIZE (rust/crates/pin-project-1.1.8.crate) = 56118
SHA256 (rust/crates/pin-project-internal-1.1.8.crate) = d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb
@@ -301,6 +335,8 @@ SHA256 (rust/crates/portable-atomic-1.10.0.crate) = 280dc24453071f1b63954171985a
SIZE (rust/crates/portable-atomic-1.10.0.crate) = 174760
SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
+SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
+SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
SHA256 (rust/crates/proc-macro2-1.0.93.crate) = 60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99
SIZE (rust/crates/proc-macro2-1.0.93.crate) = 52388
SHA256 (rust/crates/pulldown-cmark-0.13.0.crate) = 1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0
@@ -395,6 +431,10 @@ SHA256 (rust/crates/socket2-0.5.9.crate) = 4f5fd57c80058a56cf5c777ab8a126398ece8
SIZE (rust/crates/socket2-0.5.9.crate) = 57432
SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/string_cache-0.8.9.crate) = bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f
+SIZE (rust/crates/string_cache-0.8.9.crate) = 17408
+SHA256 (rust/crates/string_cache_codegen-0.5.4.crate) = c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0
+SIZE (rust/crates/string_cache_codegen-0.5.4.crate) = 9406
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
SHA256 (rust/crates/strum-0.27.1.crate) = f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32
@@ -411,6 +451,8 @@ SHA256 (rust/crates/sync_wrapper-1.0.2.crate) = 0bf256ce5efdfa370213c1dabab5935a
SIZE (rust/crates/sync_wrapper-1.0.2.crate) = 6958
SHA256 (rust/crates/synstructure-0.13.1.crate) = c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971
SIZE (rust/crates/synstructure-0.13.1.crate) = 18327
+SHA256 (rust/crates/tendril-0.4.3.crate) = d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0
+SIZE (rust/crates/tendril-0.4.3.crate) = 37210
SHA256 (rust/crates/thin-vec-0.2.13.crate) = a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b
SIZE (rust/crates/thin-vec-0.2.13.crate) = 34112
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
@@ -543,6 +585,8 @@ SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e
SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
+SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
SHA256 (rust/crates/utf16_iter-1.0.5.crate) = c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246
SIZE (rust/crates/utf16_iter-1.0.5.crate) = 9736
SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
@@ -579,6 +623,8 @@ SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a9753
SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
SIZE (rust/crates/web-time-1.1.0.crate) = 18026
+SHA256 (rust/crates/web_atoms-0.1.2.crate) = 0b9c5f0bc545ea3b20b423e33b9b457764de0b3730cd957f6c6aa6c301785f6e
+SIZE (rust/crates/web_atoms-0.1.2.crate) = 24984
SHA256 (rust/crates/webpki-roots-0.26.8.crate) = 2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9
SIZE (rust/crates/webpki-roots-0.26.8.crate) = 257981
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
@@ -667,5 +713,5 @@ SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19d
SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
-SHA256 (Automattic-harper-v0.33.0_GH0.tar.gz) = 6abc9d0ae180da80b1862a980ab6258cea85daa21c2ac35b5fc65e44b4d2a10e
-SIZE (Automattic-harper-v0.33.0_GH0.tar.gz) = 3663124
+SHA256 (Automattic-harper-v0.34.1_GH0.tar.gz) = bfc20385a67a1094221d2c34dd6895f9517e5037b814cc8749771d04be51f68e
+SIZE (Automattic-harper-v0.34.1_GH0.tar.gz) = 3805183
diff --git a/textproc/jaq/Makefile b/textproc/jaq/Makefile
index fd9ce3630331..4c24987eb2f8 100644
--- a/textproc/jaq/Makefile
+++ b/textproc/jaq/Makefile
@@ -10,6 +10,8 @@ WWW= https://github.com/01mf02/jaq
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE-MIT
+BROKEN_i386= compilation fails: undefined symbol: __atomic_load_8
+
USES= cargo
USE_GITHUB= yes
GH_ACCOUNT= 01mf02
@@ -95,9 +97,4 @@ LIB_DEPENDS+= libatomic.so:lang/gcc${GCC_DEFAULT}
LDFLAGS+= -L/usr/local/lib/gcc${GCC_DEFAULT} -latomic
.endif
-# attempt to fix build on i386, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284196#c1
-.if ${ARCH} == i386 && !${CFLAGS:M-march=*}
-CFLAGS+= -march=i586
-.endif
-
.include <bsd.port.mk>
diff --git a/textproc/libxmlb/Makefile b/textproc/libxmlb/Makefile
index 7029f4e537d4..d46e93ab95d9 100644
--- a/textproc/libxmlb/Makefile
+++ b/textproc/libxmlb/Makefile
@@ -1,5 +1,6 @@
PORTNAME= libxmlb
DISTVERSION= 0.3.22
+PORTREVISION= 1
CATEGORIES= textproc
MASTER_SITES= https://github.com/hughsie/${PORTNAME}/releases/download/${DISTVERSION}/
diff --git a/textproc/obsidian/Makefile b/textproc/obsidian/Makefile
index db4a9adce696..9275459afd13 100644
--- a/textproc/obsidian/Makefile
+++ b/textproc/obsidian/Makefile
@@ -8,6 +8,7 @@
PORTNAME= obsidian
PORTVERSION= 1.8.10
+PORTREVISION= 1
CATEGORIES= textproc
# Icon is taken from the Nix build recipe
# https://github.com/NixOS/nixpkgs/blob/de5448dab588ad41aef40f8c7c0c230981656698/pkgs/applications/misc/obsidian/default.nix#L31-L34
diff --git a/textproc/opensearch-dashboards210/Makefile b/textproc/opensearch-dashboards210/Makefile
index 4e37c7758b5a..704005f50f67 100644
--- a/textproc/opensearch-dashboards210/Makefile
+++ b/textproc/opensearch-dashboards210/Makefile
@@ -1,13 +1,15 @@
DISTVERSION= 2.10.0
+PORTREVISION= 1
+
PKGNAMESUFFIX= 210
COMMENT= Visualization dashboards for OpenSearch
-CONFLICTS= opensearch-dashboards
+CONFLICTS= opensearch-dashboards opensearch-dashboards213 opensearch-dashboards216
DISTINFO_FILE= ${.CURDIR}/distinfo
-MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards
+MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards216
.include "${MASTERDIR}/Makefile"
diff --git a/textproc/opensearch-dashboards213/Makefile b/textproc/opensearch-dashboards213/Makefile
index 0e0c334e667d..1dd11446754c 100644
--- a/textproc/opensearch-dashboards213/Makefile
+++ b/textproc/opensearch-dashboards213/Makefile
@@ -1,5 +1,7 @@
DISTVERSION= 2.13.0
+PORTREVISION= 1
+
PKGNAMESUFFIX= 213
COMMENT= Visualization dashboards for OpenSearch
@@ -8,6 +10,6 @@ CONFLICTS= opensearch-dashboards opensearch-dashboards210
DISTINFO_FILE= ${.CURDIR}/distinfo
-MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards
+MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards216
.include "${MASTERDIR}/Makefile"
diff --git a/textproc/opensearch-dashboards216/Makefile b/textproc/opensearch-dashboards216/Makefile
index 6559ad573476..c64e705134d7 100644
--- a/textproc/opensearch-dashboards216/Makefile
+++ b/textproc/opensearch-dashboards216/Makefile
@@ -1,16 +1,82 @@
-DISTVERSION= 2.16.0
+PORTNAME= opensearch-dashboards
+DISTVERSION?= 2.16.0
+PORTREVISION?= 0
+DISTVERSIONSUFFIX= -linux-x64
+CATEGORIES= textproc www
+MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
+PKGNAMESUFFIX?= 216
-PORTREVISION= 0
+MAINTAINER= opensearch@FreeBSD.org
+COMMENT?= Visualization dashboards for OpenSearch
+WWW= https://opensearch.org
-PKGNAMESUFFIX= 216
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-COMMENT= Visualization dashboards for OpenSearch
+CONFLICTS?= opensearch-dashboards opensearch-dashboards210 opensearch-dashboards213
-CONFLICTS= opensearch-dashboards opensearch-dashboards210 \
- opensearch-dashboards213
+BUILD_DEPENDS= npm-node18>0:www/npm-node18
-DISTINFO_FILE= ${.CURDIR}/distinfo
+USES= nodejs:18,build,run python:build
+USE_RC_SUBR= ${PORTNAME}
-MASTERDIR= ${.CURDIR}/../../textproc/opensearch-dashboards
+SUB_FILES= pkg-deinstall
+SUB_LIST= PORTNAME="${PORTNAME}" \
+ PKGNAMESUFFIX="${PKGNAMESUFFIX}" \
+ WWWDIR=${WWWDIR}
-.include "${MASTERDIR}/Makefile"
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+NODE_VER= 18.18.0
+NO_BUILD= yes
+
+_DEVDIR= ${WRKDIR}/.devdir
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|14.20.1|${NODE_VER}|g' ${WRKSRC}/package.json
+ ${RM} \
+ ${WRKSRC}/bin/*.orig \
+ ${WRKSRC}/bin/*.bak \
+ ${WRKSRC}/package.json.bak
+ ${RM} -r ${WRKSRC}/plugins/reportsDashboards/.chromium
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${WWWDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/config/opensearch_dashboards.yml ${STAGEDIR}${ETCDIR}/opensearch_dashboards.yml.sample
+ (cd ${WRKSRC} && \
+ ${COPYTREE_SHARE} "data node_modules package.json plugins src" ${STAGEDIR}${WWWDIR} && \
+ ${COPYTREE_BIN} bin ${STAGEDIR}${WWWDIR})
+
+post-install:
+ ${ECHO} "@sample ${ETCDIR}/opensearch_dashboards.yml.sample" >> ${TMPPLIST}
+ ${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \
+ ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
+ ${ECHO} "@dir(www,www) ${WWWDIR}/data" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/legacy" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/fixed" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/dynamic" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/fixed" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/dynamic" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/observabilityDashboards/server/adaptors/integrations/__test__" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/observabilityDashboards/server/adaptors/integrations/repository/__test__" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Alerts/components/AlertFlyout" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/CreateDetector/components/ConfigureAlerts/components/AlertCondition" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/AlertTriggerView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/DetectorBasicDetailsView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/DetectorRulesView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/FieldMappingsView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateAlertConditions" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateDetectorBasicDetails" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateDetectorRules" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateFieldMappings" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/AlertTriggersView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/DetectorDetails" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/DetectorDetailsView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/Detectors" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/EditFieldMappings" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/DeleteModal" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/RuleEditor/components" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/RulesTable" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityDashboards/server/multitenancy/test" >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/textproc/opensearch-dashboards216/distinfo b/textproc/opensearch-dashboards216/distinfo
index 1fd3635f2b8a..9bd52da5a3f6 100644
--- a/textproc/opensearch-dashboards216/distinfo
+++ b/textproc/opensearch-dashboards216/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736652284
+TIMESTAMP = 1746825057
SHA256 (opensearch-dashboards-2.16.0-linux-x64.tar.gz) = e3ebdd00c21cf7508609c93bfca5aa3d99b66a2681add231af38383bed33d12a
SIZE (opensearch-dashboards-2.16.0-linux-x64.tar.gz) = 327600245
diff --git a/textproc/opensearch-dashboards216/files/opensearch-dashboards.in b/textproc/opensearch-dashboards216/files/opensearch-dashboards.in
new file mode 100644
index 000000000000..7043fa9301a9
--- /dev/null
+++ b/textproc/opensearch-dashboards216/files/opensearch-dashboards.in
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+# PROVIDE: opensearch_dashboards
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name=opensearch_dashboards
+rcvar=opensearch_dashboards_enable
+
+load_rc_config $name
+
+: ${opensearch_dashboards_enable:="NO"}
+: ${opensearch_dashboards_config:="%%ETCDIR%%/opensearch_dashboards.yml"}
+: ${opensearch_dashboards_user:="www"}
+: ${opensearch_dashboards_group:="www"}
+: ${opensearch_dashboards_log:="/var/log/opensearch_dashboards.log"}
+: ${opensearch_dashboards_syslog_output_enable:="NO"}
+
+start_precmd="opensearch_dashboards_start_precmd"
+reload_cmd="opensearch_dashboards_reload_cmd"
+extra_commands="reload"
+
+if checkyesno opensearch_dashboards_syslog_output_enable; then
+ if [ -n "${opensearch_dashboards_syslog_output_tag}" ]; then
+ opensearch_dashboards_syslog_output_flags="-T ${opensearch_dashboards_syslog_output_tag}"
+ else
+ opensearch_dashboards_syslog_output_flags="-T ${name}"
+ fi
+ if [ -n "${opensearch_dashboards_syslog_output_priority}" ]; then
+ opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -s ${opensearch_dashboards_syslog_output_priority}"
+ fi
+ if [ -n "${opensearch_dashboards_syslog_output_facility}" ]; then
+ opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -l ${opensearch_dashboards_syslog_output_facility}"
+ fi
+fi
+
+NODE="%%LOCALBASE%%/bin/node"
+
+required_files="${opensearch_dashboards_config}"
+pidfile="/var/run/${name}.pid"
+
+command="/usr/sbin/daemon"
+command_args="-f ${opensearch_dashboards_syslog_output_flags} -P ${pidfile} -t ${name} \
+ /usr/bin/env NODE_ENV=production ${opensearch_dashboards_env} \
+ ${NODE} %%WWWDIR%%/src/cli/dist serve \
+ --config ${opensearch_dashboards_config} --log-file ${opensearch_dashboards_log} \
+ ${opensearch_dashboards_args}"
+
+opensearch_dashboards_start_precmd()
+{
+ if [ ! -e "${pidfile}" ]; then
+ install -m 0600 -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} /dev/null ${pidfile}
+ fi
+ if [ ! -f ${opensearch_dashboards_log} ]; then
+ install -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} -m 640 /dev/null ${opensearch_dashboards_log}
+ fi
+ if [ ! -d %%WWWDIR%%/optimize ]; then
+ install -d -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} %%WWWDIR%%/optimize
+ else
+ # We may have installed a plugin as root which will cause files in here
+ # to be owned by root:wheel. Fix with a chown.
+ chown -R ${opensearch_dashboards_user}:${opensearch_dashboards_group} %%WWWDIR%%/optimize
+ fi
+}
+
+opensearch_dashboards_reload_cmd()
+{
+ if [ -z "$rc_pid" ]; then
+ _run_rc_notrunning
+ return 1
+ else
+ pkill -HUP -P ${rc_pid}
+ fi
+}
+
+run_rc_command "$1"
diff --git a/textproc/opensearch-dashboards216/files/pkg-deinstall.in b/textproc/opensearch-dashboards216/files/pkg-deinstall.in
new file mode 100644
index 000000000000..0699ab559805
--- /dev/null
+++ b/textproc/opensearch-dashboards216/files/pkg-deinstall.in
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+case "$2" in
+POST-DEINSTALL)
+ if [ -d %%WWWDIR%%/optimize ]; then
+ /usr/bin/find %%WWWDIR%%/optimize/ -delete
+ fi
+
+ cat <<EOMSG
+
+If %%PORTNAME%%%%PKGNAMESUFFIX%% is being deleted permanently, and you do not wish to keep any
+data that was in the cluster, then you may wish to delete the
+%%WWWDIR%% directory. This can be done by with the command:
+
+ # rm -rf %%WWWDIR%%
+
+Please ignore this if %%PORTNAME%%%%PKGNAMESUFFIX%% is being upgraded
+EOMSG
+ ;;
+esac
diff --git a/textproc/opensearch-dashboards216/pkg-descr b/textproc/opensearch-dashboards216/pkg-descr
new file mode 100644
index 000000000000..2669760829b1
--- /dev/null
+++ b/textproc/opensearch-dashboards216/pkg-descr
@@ -0,0 +1,3 @@
+OpenSearch Dashboards is the default visualization tool for data in OpenSearch.
+It also serves as a user interface for many of the OpenSearch plugins,
+including security, alerting, Index State Management, SQL, and more.
diff --git a/textproc/opensearch-dashboards219/Makefile b/textproc/opensearch-dashboards219/Makefile
new file mode 100644
index 000000000000..dfe6740216b9
--- /dev/null
+++ b/textproc/opensearch-dashboards219/Makefile
@@ -0,0 +1,92 @@
+PORTNAME= opensearch-dashboards
+DISTVERSION= 2.19.1
+DISTVERSIONSUFFIX= -linux-${OPENSEARCH_ARCH}
+CATEGORIES= textproc www
+MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
+PKGNAMESUFFIX= 219
+
+MAINTAINER= opensearch@FreeBSD.org
+COMMENT= Visualization dashboards for OpenSearch
+WWW= https://opensearch.org
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+ONLY_FOR_ARCHS= aarch64 amd64
+
+CONFLICTS= opensearch-dashboards opensearch-dashboards210 opensearch-dashboards213 \
+ opensearch-dashboards216
+
+BUILD_DEPENDS= npm-node18>0:www/npm-node18
+
+USES= nodejs:18,build,run python:build
+USE_RC_SUBR= ${PORTNAME}
+
+SUB_FILES= pkg-deinstall
+SUB_LIST= PORTNAME="${PORTNAME}" \
+ PKGNAMESUFFIX="${PKGNAMESUFFIX}" \
+ WWWDIR=${WWWDIR}
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+NODE_VER= 18.18.0
+NO_BUILD= yes
+
+_DEVDIR= ${WRKDIR}/.devdir
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "aarch64"
+OPENSEARCH_ARCH= arm64
+.else
+OPENSEARCH_ARCH= x64
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|14.20.1|${NODE_VER}|g' ${WRKSRC}/package.json
+ ${RM} \
+ ${WRKSRC}/bin/*.orig \
+ ${WRKSRC}/bin/*.bak \
+ ${WRKSRC}/package.json.bak
+ ${RM} -r ${WRKSRC}/plugins/reportsDashboards/.chromium
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${WWWDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/config/opensearch_dashboards.yml ${STAGEDIR}${ETCDIR}/opensearch_dashboards.yml.sample
+ (cd ${WRKSRC} && \
+ ${COPYTREE_SHARE} "data node_modules package.json plugins src" ${STAGEDIR}${WWWDIR} && \
+ ${COPYTREE_BIN} bin ${STAGEDIR}${WWWDIR})
+
+post-install:
+ ${ECHO} "@sample ${ETCDIR}/opensearch_dashboards.yml.sample" >> ${TMPPLIST}
+ ${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \
+ ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
+ ${ECHO} "@dir(www,www) ${WWWDIR}/data" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/legacy" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/fixed" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/dynamic" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/fixed" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/dynamic" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/observabilityDashboards/server/adaptors/integrations/__test__" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/observabilityDashboards/server/adaptors/integrations/repository/__test__" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Alerts/components/AlertFlyout" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/CreateDetector/components/ConfigureAlerts/components/AlertCondition" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/AlertTriggerView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/DetectorBasicDetailsView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/DetectorRulesView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/FieldMappingsView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateAlertConditions" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateDetectorBasicDetails" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateDetectorRules" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/components/UpdateFieldMappings" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/AlertTriggersView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/DetectorDetails" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/DetectorDetailsView" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/Detectors" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Detectors/containers/EditFieldMappings" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/DeleteModal" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/RuleEditor/components" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityAnalyticsDashboards/test/mocks/Rules/components/RulesTable" >> ${TMPPLIST}
+ ${ECHO} "@dir ${WWWDIR}/plugins/securityDashboards/server/multitenancy/test" >> ${TMPPLIST}
+
+.include <bsd.port.post.mk>
diff --git a/textproc/opensearch-dashboards219/distinfo b/textproc/opensearch-dashboards219/distinfo
new file mode 100644
index 000000000000..28a08b40f649
--- /dev/null
+++ b/textproc/opensearch-dashboards219/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1746944520
+SHA256 (opensearch-dashboards-2.19.1-linux-arm64.tar.gz) = b73be280109669a412de8e620dc1090c02850f3675bb89e56ff6d1031dd1847c
+SIZE (opensearch-dashboards-2.19.1-linux-arm64.tar.gz) = 348067725
+SHA256 (opensearch-dashboards-2.19.1-linux-x64.tar.gz) = 3981a0bde67bf81b7c32541dff3965b0f7d341a0af0951b73767eab6ccf56261
+SIZE (opensearch-dashboards-2.19.1-linux-x64.tar.gz) = 348191923
diff --git a/textproc/opensearch-dashboards219/files/opensearch-dashboards.in b/textproc/opensearch-dashboards219/files/opensearch-dashboards.in
new file mode 100644
index 000000000000..7043fa9301a9
--- /dev/null
+++ b/textproc/opensearch-dashboards219/files/opensearch-dashboards.in
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+# PROVIDE: opensearch_dashboards
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name=opensearch_dashboards
+rcvar=opensearch_dashboards_enable
+
+load_rc_config $name
+
+: ${opensearch_dashboards_enable:="NO"}
+: ${opensearch_dashboards_config:="%%ETCDIR%%/opensearch_dashboards.yml"}
+: ${opensearch_dashboards_user:="www"}
+: ${opensearch_dashboards_group:="www"}
+: ${opensearch_dashboards_log:="/var/log/opensearch_dashboards.log"}
+: ${opensearch_dashboards_syslog_output_enable:="NO"}
+
+start_precmd="opensearch_dashboards_start_precmd"
+reload_cmd="opensearch_dashboards_reload_cmd"
+extra_commands="reload"
+
+if checkyesno opensearch_dashboards_syslog_output_enable; then
+ if [ -n "${opensearch_dashboards_syslog_output_tag}" ]; then
+ opensearch_dashboards_syslog_output_flags="-T ${opensearch_dashboards_syslog_output_tag}"
+ else
+ opensearch_dashboards_syslog_output_flags="-T ${name}"
+ fi
+ if [ -n "${opensearch_dashboards_syslog_output_priority}" ]; then
+ opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -s ${opensearch_dashboards_syslog_output_priority}"
+ fi
+ if [ -n "${opensearch_dashboards_syslog_output_facility}" ]; then
+ opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -l ${opensearch_dashboards_syslog_output_facility}"
+ fi
+fi
+
+NODE="%%LOCALBASE%%/bin/node"
+
+required_files="${opensearch_dashboards_config}"
+pidfile="/var/run/${name}.pid"
+
+command="/usr/sbin/daemon"
+command_args="-f ${opensearch_dashboards_syslog_output_flags} -P ${pidfile} -t ${name} \
+ /usr/bin/env NODE_ENV=production ${opensearch_dashboards_env} \
+ ${NODE} %%WWWDIR%%/src/cli/dist serve \
+ --config ${opensearch_dashboards_config} --log-file ${opensearch_dashboards_log} \
+ ${opensearch_dashboards_args}"
+
+opensearch_dashboards_start_precmd()
+{
+ if [ ! -e "${pidfile}" ]; then
+ install -m 0600 -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} /dev/null ${pidfile}
+ fi
+ if [ ! -f ${opensearch_dashboards_log} ]; then
+ install -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} -m 640 /dev/null ${opensearch_dashboards_log}
+ fi
+ if [ ! -d %%WWWDIR%%/optimize ]; then
+ install -d -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} %%WWWDIR%%/optimize
+ else
+ # We may have installed a plugin as root which will cause files in here
+ # to be owned by root:wheel. Fix with a chown.
+ chown -R ${opensearch_dashboards_user}:${opensearch_dashboards_group} %%WWWDIR%%/optimize
+ fi
+}
+
+opensearch_dashboards_reload_cmd()
+{
+ if [ -z "$rc_pid" ]; then
+ _run_rc_notrunning
+ return 1
+ else
+ pkill -HUP -P ${rc_pid}
+ fi
+}
+
+run_rc_command "$1"
diff --git a/textproc/opensearch-dashboards219/files/pkg-deinstall.in b/textproc/opensearch-dashboards219/files/pkg-deinstall.in
new file mode 100644
index 000000000000..0699ab559805
--- /dev/null
+++ b/textproc/opensearch-dashboards219/files/pkg-deinstall.in
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+case "$2" in
+POST-DEINSTALL)
+ if [ -d %%WWWDIR%%/optimize ]; then
+ /usr/bin/find %%WWWDIR%%/optimize/ -delete
+ fi
+
+ cat <<EOMSG
+
+If %%PORTNAME%%%%PKGNAMESUFFIX%% is being deleted permanently, and you do not wish to keep any
+data that was in the cluster, then you may wish to delete the
+%%WWWDIR%% directory. This can be done by with the command:
+
+ # rm -rf %%WWWDIR%%
+
+Please ignore this if %%PORTNAME%%%%PKGNAMESUFFIX%% is being upgraded
+EOMSG
+ ;;
+esac
diff --git a/textproc/opensearch-dashboards219/pkg-descr b/textproc/opensearch-dashboards219/pkg-descr
new file mode 100644
index 000000000000..2669760829b1
--- /dev/null
+++ b/textproc/opensearch-dashboards219/pkg-descr
@@ -0,0 +1,3 @@
+OpenSearch Dashboards is the default visualization tool for data in OpenSearch.
+It also serves as a user interface for many of the OpenSearch plugins,
+including security, alerting, Index State Management, SQL, and more.
diff --git a/textproc/opensearch210/Makefile b/textproc/opensearch210/Makefile
index d9b0568d14ac..5b5b2e3a7672 100644
--- a/textproc/opensearch210/Makefile
+++ b/textproc/opensearch210/Makefile
@@ -1,5 +1,5 @@
DISTVERSION= 2.10.0
-PORTREVISION= 1
+PORTREVISION= 2
PKGNAMESUFFIX= 210
@@ -9,6 +9,6 @@ CONFLICTS= opensearch13 opensearch
DISTINFO_FILE= ${.CURDIR}/distinfo
-MASTERDIR= ${.CURDIR}/../../textproc/opensearch
+MASTERDIR= ${.CURDIR}/../../textproc/opensearch216
.include "${MASTERDIR}/Makefile"
diff --git a/textproc/opensearch213/Makefile b/textproc/opensearch213/Makefile
index 1f23028e3513..7c2585e9d767 100644
--- a/textproc/opensearch213/Makefile
+++ b/textproc/opensearch213/Makefile
@@ -1,13 +1,15 @@
DISTVERSION= 2.13.0
+PORTREVISION= 1
+
PKGNAMESUFFIX= 213
COMMENT= Full-text search engine for Java
-CONFLICTS= opensearch13 opensearch210
+CONFLICTS= opensearch opensearch13 opensearch210
DISTINFO_FILE= ${.CURDIR}/distinfo
-MASTERDIR= ${.CURDIR}/../../textproc/opensearch
+MASTERDIR= ${.CURDIR}/../../textproc/opensearch216
.include "${MASTERDIR}/Makefile"
diff --git a/textproc/opensearch216/Makefile b/textproc/opensearch216/Makefile
index 7eb143452e6d..15e15d8627e7 100644
--- a/textproc/opensearch216/Makefile
+++ b/textproc/opensearch216/Makefile
@@ -1,15 +1,154 @@
-DISTVERSION= 2.16.0
+PORTNAME= opensearch
+DISTVERSION?= 2.16.0
+PORTREVISION?= 0
+DISTVERSIONSUFFIX= -linux-x64
+CATEGORIES= textproc java devel
+MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
+PKGNAMESUFFIX?= 216
-PORTREVISION= 0
+MAINTAINER= opensearch@FreeBSD.org
+COMMENT?= Full-text search engine for Java
+WWW= https://opensearch.org
-PKGNAMESUFFIX= 216
+LICENSE= APACHE20
-COMMENT= Full-text search engine for Java
+BUILD_DEPENDS= jna>0:devel/jna
+RUN_DEPENDS= bash>0:shells/bash \
+ jna>0:devel/jna
-CONFLICTS= opensearch opensearch13 opensearch210 opensearch213
+CONFLICTS?= opensearch opensearch13 opensearch210 opensearch213
-DISTINFO_FILE= ${.CURDIR}/distinfo
+USES= cpe java shebangfix
+JAVA_VERSION= 17+
+USE_RC_SUBR= ${PORTNAME}
-MASTERDIR= ${.CURDIR}/../../textproc/opensearch
+SHEBANG_FILES= bin/opensearch bin/opensearch-cli \
+ bin/opensearch-env bin/opensearch-env-from-file \
+ bin/opensearch-keystore bin/opensearch-node \
+ bin/opensearch-plugin bin/opensearch-shard \
+ plugins/opensearch-security/tools/audit_config_migrater.sh \
+ plugins/opensearch-security/tools/hash.sh \
+ plugins/opensearch-security/tools/install_demo_configuration.sh \
+ plugins/opensearch-security/tools/securityadmin.sh
-.include "${MASTERDIR}/Makefile"
+NO_BUILD= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+OPTIONS_DEFINE= PLUGINS
+OPTIONS_DEFAULT=PLUGINS
+
+.include <bsd.port.options.mk>
+
+CONFIG_FILES= opensearch.yml jvm.options log4j2.properties
+
+PLUGINS_CONFIG_FILES?= \
+ opensearch-notifications-core/notifications-core.yml \
+ opensearch-notifications/notifications.yml \
+ opensearch-observability/observability.yml
+.if ${PKGNAMESUFFIX} == "210" || ${PKGNAMESUFFIX} == "213" || ${PKGNAMESUFFIX} == "216"
+PLUGINS_CONFIG_FILES+= \
+ opensearch-performance-analyzer/agent-stats-metadata \
+ opensearch-performance-analyzer/log4j2.xml \
+ opensearch-performance-analyzer/opensearch_security.policy \
+ opensearch-performance-analyzer/performance-analyzer.properties \
+ opensearch-performance-analyzer/plugin-stats-metadata \
+ opensearch-performance-analyzer/rca.conf \
+ opensearch-performance-analyzer/rca_idle_cluster_manager.conf \
+ opensearch-performance-analyzer/rca_cluster_manager.conf \
+ opensearch-performance-analyzer/supervisord.conf
+.endif
+PLUGINS_CONFIG_FILES+= \
+ opensearch-reports-scheduler/reports-scheduler.yml \
+ opensearch-security/action_groups.yml \
+ opensearch-security/allowlist.yml \
+ opensearch-security/audit.yml \
+ opensearch-security/config.yml \
+ opensearch-security/internal_users.yml \
+ opensearch-security/nodes_dn.yml \
+ opensearch-security/roles.yml \
+ opensearch-security/roles_mapping.yml \
+ opensearch-security/tenants.yml \
+ opensearch-security/whitelist.yml
+
+# Upstream provide some *.example files. These are also copied as sample filse
+# but we do not register them as @sample to avoid installing filse that needs
+# to be tuned a site specific way.
+PLUGINS_SAMPLE_CONFIG_FILES= \
+ opensearch-security/opensearch.yml
+
+BINS= opensearch opensearch-cli opensearch-env \
+ opensearch-env-from-file opensearch-keystore \
+ opensearch-node opensearch-plugin \
+ opensearch-shard
+
+SEARCHUSER?= opensearch
+SEARCHGROUP?= ${SEARCHUSER}
+USERS= ${SEARCHUSER}
+GROUPS= ${SEARCHGROUP}
+
+SUB_FILES= pkg-message
+SUB_LIST= ETCDIR=${ETCDIR} \
+ JAVA_HOME=${JAVA_HOME}
+
+post-patch:
+ ${RM} ${WRKSRC}/lib/jna-*.jar
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/opensearch
+.for f in ${CONFIG_FILES}
+ ${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
+.endfor
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/bin
+.for f in ${BINS}
+ ${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${STAGEDIR}${PREFIX}/lib/opensearch/bin
+.endfor
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/extensions
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/lib
+ (cd ${WRKSRC}/ && ${COPYTREE_SHARE} "lib modules" ${STAGEDIR}${PREFIX}/lib/opensearch/)
+ ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/opensearch
+ ${INSTALL} -lrs ${STAGEDIR}${ETCDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/config
+ ${LN} -s ${JAVASHAREDIR}/classes/jna.jar ${STAGEDIR}${PREFIX}/lib/opensearch/lib/jna.jar
+
+do-install-PLUGINS-on:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/opensearch-notifications-core \
+ ${STAGEDIR}${ETCDIR}/opensearch-notifications \
+ ${STAGEDIR}${ETCDIR}/opensearch-observability \
+ ${STAGEDIR}${ETCDIR}/opensearch-reports-scheduler \
+ ${STAGEDIR}${ETCDIR}/opensearch-security
+.if ${PKGNAMESUFFIX} == "210" || ${PKGNAMESUFFIX} == "213" || ${PKGNAMESUFFIX} == "216"
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/opensearch-performance-analyzer
+.endif
+
+.for f in ${PLUGINS_CONFIG_FILES}
+ ${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
+ ${ECHO} "@sample(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
+.endfor
+.for f in ${PLUGINS_SAMPLE_CONFIG_FILES}
+ ${INSTALL} ${WRKSRC}/config/${f}.example ${STAGEDIR}${ETCDIR}/${f}.sample
+ ${ECHO} "@(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
+.endfor
+ (cd ${WRKSRC}/ && ${COPYTREE_SHARE} "plugins" ${STAGEDIR}${PREFIX}/lib/opensearch/)
+ (cd ${WRKSRC}/plugins/opensearch-security/tools && ${COPYTREE_BIN} "*.sh" ${STAGEDIR}${PREFIX}/lib/opensearch/plugins/opensearch-security/tools)
+
+post-install:
+.for f in ${CONFIG_FILES}
+ ${ECHO} "@sample(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
+.endfor
+ ${FIND} -s ${STAGEDIR}${PREFIX}/lib/opensearch -not -type d | ${SORT} | \
+ ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
+ ${ECHO} "@dir lib/opensearch/extensions" >> ${TMPPLIST}
+ ${ECHO} "@dir libexec/opensearch" >> ${TMPPLIST}
+.if ${PORT_OPTIONS:MPLUGINS}
+ ${ECHO} "@dir lib/opensearch/plugins" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-notifications-core" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-notifications" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-observability" >> ${TMPPLIST}
+.if ${PKGNAMESUFFIX} == "210" || ${PKGNAMESUFFIX} == "213" || ${PKGNAMESUFFIX} == "216"
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-performance-analyzer" >> ${TMPPLIST}
+.endif
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-reports-scheduler" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-security" >> ${TMPPLIST}
+.endif
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/" >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/textproc/opensearch216/distinfo b/textproc/opensearch216/distinfo
index c7a79225e5da..ed6d901db148 100644
--- a/textproc/opensearch216/distinfo
+++ b/textproc/opensearch216/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736652867
+TIMESTAMP = 1746824840
SHA256 (opensearch-2.16.0-linux-x64.tar.gz) = ed0bb23499d38a0e3bd88f8b975b215a643662858500ac05630e292be06f65b2
SIZE (opensearch-2.16.0-linux-x64.tar.gz) = 904196816
diff --git a/textproc/opensearch216/files/opensearch.in b/textproc/opensearch216/files/opensearch.in
new file mode 100644
index 000000000000..71334ce1ee01
--- /dev/null
+++ b/textproc/opensearch216/files/opensearch.in
@@ -0,0 +1,115 @@
+#!/bin/sh
+
+# PROVIDE: opensearch
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf to enable opensearch:
+#
+# opensearch_enable="YES"
+#
+# opensearch_user (username): Set to opensearch by default.
+# Set it to required username.
+# opensearch_group (group): Set to opensearch by default.
+# Set it to required group.
+# opensearch_config (path): Set to %%PREFIX%%/etc/opensearch/opensearch.yml by default.
+# Set it to the config file location.
+# opensearch_java_home (path): Set to %%JAVA_HOME%% by default.
+# Set it to the root of the JDK to use.
+#
+. /etc/rc.subr
+
+name=opensearch
+rcvar=opensearch_enable
+
+load_rc_config ${name}
+
+: ${opensearch_enable:=NO}
+: ${opensearch_user=opensearch}
+: ${opensearch_group=opensearch}
+: ${opensearch_config=%%PREFIX%%/etc/opensearch}
+: ${opensearch_login_class=root}
+: ${opensearch_java_home="%%JAVA_HOME%%"}
+
+required_files="${opensearch_config}/opensearch.yml"
+_pidprefix=/var/run/opensearch/opensearch
+pidfile=${_pidprefix}.pid
+procname=${opensearch_java_home}/bin/java
+
+extra_commands="console status"
+console_cmd=opensearch_console
+start_precmd=opensearch_precmd
+command=%%PREFIX%%/lib/opensearch/bin/opensearch
+command_args="-d --pidfile=${pidfile}"
+
+export OPENSEARCH_PATH_CONF=${opensearch_config}
+export JAVA_HOME=${opensearch_java_home}
+
+opensearch_precmd()
+{
+ /usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 ${pidfile%/*}
+ /usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 /var/db/opensearch
+ /usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 /var/log/opensearch
+}
+
+opensearch_console()
+{
+ command_args=""
+ run_rc_command "start"
+}
+
+if [ -n "$2" ]; then
+ profile="$2"
+ if [ "x${opensearch_profiles}" != "x" ]; then
+ eval opensearch_config="\${opensearch_${profile}_config:-}"
+ if [ "x${opensearch_config}" = "x" ]; then
+ echo "You must define a configuration (opensearch_${profile}_config)"
+ exit 1
+ fi
+ export OPENSEARCH_PATH_CONF=${opensearch_config}
+ required_files="${opensearch_config}/opensearch.yml"
+ required_files="${opensearch_config}/jvm.options"
+ eval opensearch_enable="\${opensearch_${profile}_enable:-${opensearch_enable}}"
+ pidfile="${_pidprefix}.${profile}.pid"
+ command_args="-d --pidfile=${pidfile}"
+ echo "===> opensearch profile: ${profile}"
+ else
+ echo "$0: extra argument ignored"
+ fi
+else
+ if [ "x${opensearch_profiles}" != "x" -a "x$1" != "x" ]; then
+ for profile in ${opensearch_profiles}; do
+ eval _enable="\${opensearch_${profile}_enable}"
+ case "x${_enable:-${opensearch_enable}}" in
+ x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
+ continue
+ ;;
+ x[Yy][Ee][Ss])
+ ;;
+ *)
+ if test -z "$_enable"; then
+ _var=opensearch_enable
+ else
+ _var=opensearch_"${profile}"_enable
+ fi
+ echo "Bad value" \
+ "'${_enable:-${opensearch_enable}}'" \
+ "for ${_var}. " \
+ "Profile ${profile} skipped."
+ continue
+ ;;
+ esac
+ %%PREFIX%%/etc/rc.d/opensearch $1 ${profile}
+ retcode="$?"
+ if [ "0${retcode}" -ne 0 ]; then
+ failed="${profile} (${retcode}) ${failed:-}"
+ else
+ success="${profile} ${success:-}"
+ fi
+ done
+ exit 0
+ fi
+fi
+
+run_rc_command "$1"
diff --git a/textproc/opensearch216/files/patch-config_jvm.options b/textproc/opensearch216/files/patch-config_jvm.options
new file mode 100644
index 000000000000..f6276944b6db
--- /dev/null
+++ b/textproc/opensearch216/files/patch-config_jvm.options
@@ -0,0 +1,23 @@
+--- config/jvm.options.orig 2021-07-30 14:01:34 UTC
++++ config/jvm.options
+@@ -61,17 +61,17 @@
+ -XX:HeapDumpPath=data
+
+ # specify an alternative path for JVM fatal error logs
+--XX:ErrorFile=logs/hs_err_pid%p.log
++-XX:ErrorFile=/hs_err_pid%p.log
+
+ ## JDK 8 GC logging
+ 8:-XX:+PrintGCDetails
+ 8:-XX:+PrintGCDateStamps
+ 8:-XX:+PrintTenuringDistribution
+ 8:-XX:+PrintGCApplicationStoppedTime
+-8:-Xloggc:logs/gc.log
++8:-Xloggc:${OPENSEARCH_TMPDIR}/gc.log
+ 8:-XX:+UseGCLogFileRotation
+ 8:-XX:NumberOfGCLogFiles=32
+ 8:-XX:GCLogFileSize=64m
+
+ # JDK 9+ GC logging
+-9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m
++9-:-Xlog:gc*,gc+age=trace,safepoint:file=${OPENSEARCH_TMPDIR}/gc.log:utctime,pid,tags:filecount=32,filesize=64m
diff --git a/textproc/opensearch216/files/patch-config_opensearch.yml b/textproc/opensearch216/files/patch-config_opensearch.yml
new file mode 100644
index 000000000000..f5aa3ed1a80e
--- /dev/null
+++ b/textproc/opensearch216/files/patch-config_opensearch.yml
@@ -0,0 +1,15 @@
+--- config/opensearch.yml.orig 2021-07-02 23:22:08 UTC
++++ config/opensearch.yml
+@@ -31,10 +31,12 @@
+ # Path to directory where to store the data (separate multiple locations by comma):
+ #
+ #path.data: /path/to/data
++path.data: /var/db/opensearch
+ #
+ # Path to log files:
+ #
+ #path.logs: /path/to/logs
++path.logs: /var/log/opensearch
+ #
+ # ----------------------------------- Memory -----------------------------------
+ #
diff --git a/textproc/opensearch216/files/pkg-message.in b/textproc/opensearch216/files/pkg-message.in
new file mode 100644
index 000000000000..c08de567504c
--- /dev/null
+++ b/textproc/opensearch216/files/pkg-message.in
@@ -0,0 +1,27 @@
+[
+{ type: install
+ message: <<EOM
+Opensearch was installed
+
+Please see %%ETCDIR%% for a sample version of
+opensearch.yml.
+
+OpenSearch requires memory locking of large amounts of RAM.
+You may need to set:
+
+sysctl security.bsd.unprivileged_mlock=1
+
+When running within a jail, it's highly advisable to set:
+
+enforce_statfs = 1
+
+for the jail running opensearch instance.
+
+If OpenSearch was built with the PLUGINS option enabled (default) it will not
+start until the security plugin is properly configured. Please refer to the
+OpenSearch documentation for setting-up TLS:
+
+https://opensearch.org/docs/security-plugin/configuration/tls
+EOM
+}
+]
diff --git a/textproc/opensearch216/pkg-descr b/textproc/opensearch216/pkg-descr
new file mode 100644
index 000000000000..8d97bcb3176a
--- /dev/null
+++ b/textproc/opensearch216/pkg-descr
@@ -0,0 +1,2 @@
+OpenSearch is a fork of Elasticsearch which aims to be a Distributed,
+RESTful, Search Engine built on top of Apache Lucene.
diff --git a/textproc/opensearch219/Makefile b/textproc/opensearch219/Makefile
new file mode 100644
index 000000000000..5212d5e9fb69
--- /dev/null
+++ b/textproc/opensearch219/Makefile
@@ -0,0 +1,154 @@
+PORTNAME= opensearch
+DISTVERSION= 2.19.1
+PORTREVISION= 0
+DISTVERSIONSUFFIX= -linux-${OPENSEARCH_ARCH}
+CATEGORIES= textproc java devel
+MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
+PKGNAMESUFFIX= 219
+
+MAINTAINER= opensearch@FreeBSD.org
+COMMENT?= Full-text search engine for Java
+WWW= https://opensearch.org
+
+LICENSE= APACHE20
+
+ONLY_FOR_ARCHS= aarch64 amd64
+
+BUILD_DEPENDS= jna>0:devel/jna
+RUN_DEPENDS= bash>0:shells/bash \
+ jna>0:devel/jna
+
+CONFLICTS= opensearch opensearch13 opensearch210 opensearch213 opensearch216
+
+USES= cpe java shebangfix
+JAVA_VERSION= 17+
+USE_RC_SUBR= ${PORTNAME}
+
+SHEBANG_FILES= bin/opensearch bin/opensearch-cli \
+ bin/opensearch-env bin/opensearch-env-from-file \
+ bin/opensearch-keystore bin/opensearch-node \
+ bin/opensearch-plugin bin/opensearch-shard \
+ plugins/opensearch-security/tools/audit_config_migrater.sh \
+ plugins/opensearch-security/tools/hash.sh \
+ plugins/opensearch-security/tools/install_demo_configuration.sh \
+ plugins/opensearch-security/tools/securityadmin.sh
+
+NO_BUILD= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+OPTIONS_DEFINE= PLUGINS
+OPTIONS_DEFAULT=PLUGINS
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == "aarch64"
+OPENSEARCH_ARCH= arm64
+.else
+OPENSEARCH_ARCH= x64
+.endif
+
+CONFIG_FILES= opensearch.yml jvm.options log4j2.properties
+
+PLUGINS_CONFIG_FILES?= \
+ opensearch-notifications-core/notifications-core.yml \
+ opensearch-notifications/notifications.yml \
+ opensearch-observability/observability.yml \
+ opensearch-performance-analyzer/agent-stats-metadata \
+ opensearch-performance-analyzer/log4j2.xml \
+ opensearch-performance-analyzer/opensearch_security.policy \
+ opensearch-performance-analyzer/performance-analyzer.properties \
+ opensearch-performance-analyzer/plugin-stats-metadata \
+ opensearch-performance-analyzer/rca.conf \
+ opensearch-performance-analyzer/rca_idle_cluster_manager.conf \
+ opensearch-performance-analyzer/rca_cluster_manager.conf \
+ opensearch-performance-analyzer/supervisord.conf \
+ opensearch-reports-scheduler/reports-scheduler.yml \
+ opensearch-security/action_groups.yml \
+ opensearch-security/allowlist.yml \
+ opensearch-security/audit.yml \
+ opensearch-security/config.yml \
+ opensearch-security/internal_users.yml \
+ opensearch-security/nodes_dn.yml \
+ opensearch-security/roles.yml \
+ opensearch-security/roles_mapping.yml \
+ opensearch-security/tenants.yml \
+ opensearch-security/whitelist.yml
+
+# Upstream provide some *.example files. These are also copied as sample filse
+# but we do not register them as @sample to avoid installing filse that needs
+# to be tuned a site specific way.
+PLUGINS_SAMPLE_CONFIG_FILES= \
+ opensearch-security/opensearch.yml
+
+BINS= opensearch opensearch-cli opensearch-env \
+ opensearch-env-from-file opensearch-keystore \
+ opensearch-node opensearch-plugin \
+ opensearch-shard
+
+SEARCHUSER?= opensearch
+SEARCHGROUP?= ${SEARCHUSER}
+USERS= ${SEARCHUSER}
+GROUPS= ${SEARCHGROUP}
+
+SUB_FILES= pkg-message
+SUB_LIST= ETCDIR=${ETCDIR} \
+ JAVA_HOME=${JAVA_HOME}
+
+post-patch:
+ ${RM} ${WRKSRC}/lib/jna-*.jar
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/opensearch
+.for f in ${CONFIG_FILES}
+ ${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
+.endfor
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/bin
+.for f in ${BINS}
+ ${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${STAGEDIR}${PREFIX}/lib/opensearch/bin
+.endfor
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/extensions
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/lib
+ (cd ${WRKSRC}/ && ${COPYTREE_SHARE} "lib modules" ${STAGEDIR}${PREFIX}/lib/opensearch/)
+ ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/opensearch
+ ${INSTALL} -lrs ${STAGEDIR}${ETCDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/config
+ ${LN} -s ${JAVASHAREDIR}/classes/jna.jar ${STAGEDIR}${PREFIX}/lib/opensearch/lib/jna.jar
+
+do-install-PLUGINS-on:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}/opensearch-notifications-core \
+ ${STAGEDIR}${ETCDIR}/opensearch-notifications \
+ ${STAGEDIR}${ETCDIR}/opensearch-observability \
+ ${STAGEDIR}${ETCDIR}/opensearch-reports-scheduler \
+ ${STAGEDIR}${ETCDIR}/opensearch-security \
+ ${STAGEDIR}${ETCDIR}/opensearch-performance-analyzer
+
+.for f in ${PLUGINS_CONFIG_FILES}
+ ${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
+ ${ECHO} "@sample(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
+.endfor
+.for f in ${PLUGINS_SAMPLE_CONFIG_FILES}
+ ${INSTALL} ${WRKSRC}/config/${f}.example ${STAGEDIR}${ETCDIR}/${f}.sample
+ ${ECHO} "@(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
+.endfor
+ (cd ${WRKSRC}/ && ${COPYTREE_SHARE} "plugins" ${STAGEDIR}${PREFIX}/lib/opensearch/)
+ (cd ${WRKSRC}/plugins/opensearch-security/tools && ${COPYTREE_BIN} "*.sh" ${STAGEDIR}${PREFIX}/lib/opensearch/plugins/opensearch-security/tools)
+
+post-install:
+.for f in ${CONFIG_FILES}
+ ${ECHO} "@sample(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
+.endfor
+ ${FIND} -s ${STAGEDIR}${PREFIX}/lib/opensearch -not -type d | ${SORT} | \
+ ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
+ ${ECHO} "@dir lib/opensearch/extensions" >> ${TMPPLIST}
+ ${ECHO} "@dir libexec/opensearch" >> ${TMPPLIST}
+.if ${PORT_OPTIONS:MPLUGINS}
+ ${ECHO} "@dir lib/opensearch/plugins" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-notifications-core" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-notifications" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-observability" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-performance-analyzer" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-reports-scheduler" >> ${TMPPLIST}
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-security" >> ${TMPPLIST}
+.endif
+ ${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/" >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/textproc/opensearch219/distinfo b/textproc/opensearch219/distinfo
new file mode 100644
index 000000000000..42a039f9eea0
--- /dev/null
+++ b/textproc/opensearch219/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1746943739
+SHA256 (opensearch-2.19.1-linux-arm64.tar.gz) = fc25c886a7f45c5c94699b217dcbb87528c2c25adf67797247a4e07fadc7326f
+SIZE (opensearch-2.19.1-linux-arm64.tar.gz) = 715801679
+SHA256 (opensearch-2.19.1-linux-x64.tar.gz) = b243aaa7d8dcebb87881f70f71613903c36dda077fd90ee11ea377412d6d569f
+SIZE (opensearch-2.19.1-linux-x64.tar.gz) = 964414604
diff --git a/textproc/opensearch219/files/opensearch.in b/textproc/opensearch219/files/opensearch.in
new file mode 100644
index 000000000000..71334ce1ee01
--- /dev/null
+++ b/textproc/opensearch219/files/opensearch.in
@@ -0,0 +1,115 @@
+#!/bin/sh
+
+# PROVIDE: opensearch
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf to enable opensearch:
+#
+# opensearch_enable="YES"
+#
+# opensearch_user (username): Set to opensearch by default.
+# Set it to required username.
+# opensearch_group (group): Set to opensearch by default.
+# Set it to required group.
+# opensearch_config (path): Set to %%PREFIX%%/etc/opensearch/opensearch.yml by default.
+# Set it to the config file location.
+# opensearch_java_home (path): Set to %%JAVA_HOME%% by default.
+# Set it to the root of the JDK to use.
+#
+. /etc/rc.subr
+
+name=opensearch
+rcvar=opensearch_enable
+
+load_rc_config ${name}
+
+: ${opensearch_enable:=NO}
+: ${opensearch_user=opensearch}
+: ${opensearch_group=opensearch}
+: ${opensearch_config=%%PREFIX%%/etc/opensearch}
+: ${opensearch_login_class=root}
+: ${opensearch_java_home="%%JAVA_HOME%%"}
+
+required_files="${opensearch_config}/opensearch.yml"
+_pidprefix=/var/run/opensearch/opensearch
+pidfile=${_pidprefix}.pid
+procname=${opensearch_java_home}/bin/java
+
+extra_commands="console status"
+console_cmd=opensearch_console
+start_precmd=opensearch_precmd
+command=%%PREFIX%%/lib/opensearch/bin/opensearch
+command_args="-d --pidfile=${pidfile}"
+
+export OPENSEARCH_PATH_CONF=${opensearch_config}
+export JAVA_HOME=${opensearch_java_home}
+
+opensearch_precmd()
+{
+ /usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 ${pidfile%/*}
+ /usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 /var/db/opensearch
+ /usr/bin/install -d -o ${opensearch_user} -g ${opensearch_group} -m 755 /var/log/opensearch
+}
+
+opensearch_console()
+{
+ command_args=""
+ run_rc_command "start"
+}
+
+if [ -n "$2" ]; then
+ profile="$2"
+ if [ "x${opensearch_profiles}" != "x" ]; then
+ eval opensearch_config="\${opensearch_${profile}_config:-}"
+ if [ "x${opensearch_config}" = "x" ]; then
+ echo "You must define a configuration (opensearch_${profile}_config)"
+ exit 1
+ fi
+ export OPENSEARCH_PATH_CONF=${opensearch_config}
+ required_files="${opensearch_config}/opensearch.yml"
+ required_files="${opensearch_config}/jvm.options"
+ eval opensearch_enable="\${opensearch_${profile}_enable:-${opensearch_enable}}"
+ pidfile="${_pidprefix}.${profile}.pid"
+ command_args="-d --pidfile=${pidfile}"
+ echo "===> opensearch profile: ${profile}"
+ else
+ echo "$0: extra argument ignored"
+ fi
+else
+ if [ "x${opensearch_profiles}" != "x" -a "x$1" != "x" ]; then
+ for profile in ${opensearch_profiles}; do
+ eval _enable="\${opensearch_${profile}_enable}"
+ case "x${_enable:-${opensearch_enable}}" in
+ x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
+ continue
+ ;;
+ x[Yy][Ee][Ss])
+ ;;
+ *)
+ if test -z "$_enable"; then
+ _var=opensearch_enable
+ else
+ _var=opensearch_"${profile}"_enable
+ fi
+ echo "Bad value" \
+ "'${_enable:-${opensearch_enable}}'" \
+ "for ${_var}. " \
+ "Profile ${profile} skipped."
+ continue
+ ;;
+ esac
+ %%PREFIX%%/etc/rc.d/opensearch $1 ${profile}
+ retcode="$?"
+ if [ "0${retcode}" -ne 0 ]; then
+ failed="${profile} (${retcode}) ${failed:-}"
+ else
+ success="${profile} ${success:-}"
+ fi
+ done
+ exit 0
+ fi
+fi
+
+run_rc_command "$1"
diff --git a/textproc/opensearch219/files/patch-config_jvm.options b/textproc/opensearch219/files/patch-config_jvm.options
new file mode 100644
index 000000000000..f6276944b6db
--- /dev/null
+++ b/textproc/opensearch219/files/patch-config_jvm.options
@@ -0,0 +1,23 @@
+--- config/jvm.options.orig 2021-07-30 14:01:34 UTC
++++ config/jvm.options
+@@ -61,17 +61,17 @@
+ -XX:HeapDumpPath=data
+
+ # specify an alternative path for JVM fatal error logs
+--XX:ErrorFile=logs/hs_err_pid%p.log
++-XX:ErrorFile=/hs_err_pid%p.log
+
+ ## JDK 8 GC logging
+ 8:-XX:+PrintGCDetails
+ 8:-XX:+PrintGCDateStamps
+ 8:-XX:+PrintTenuringDistribution
+ 8:-XX:+PrintGCApplicationStoppedTime
+-8:-Xloggc:logs/gc.log
++8:-Xloggc:${OPENSEARCH_TMPDIR}/gc.log
+ 8:-XX:+UseGCLogFileRotation
+ 8:-XX:NumberOfGCLogFiles=32
+ 8:-XX:GCLogFileSize=64m
+
+ # JDK 9+ GC logging
+-9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m
++9-:-Xlog:gc*,gc+age=trace,safepoint:file=${OPENSEARCH_TMPDIR}/gc.log:utctime,pid,tags:filecount=32,filesize=64m
diff --git a/textproc/opensearch219/files/patch-config_opensearch.yml b/textproc/opensearch219/files/patch-config_opensearch.yml
new file mode 100644
index 000000000000..f5aa3ed1a80e
--- /dev/null
+++ b/textproc/opensearch219/files/patch-config_opensearch.yml
@@ -0,0 +1,15 @@
+--- config/opensearch.yml.orig 2021-07-02 23:22:08 UTC
++++ config/opensearch.yml
+@@ -31,10 +31,12 @@
+ # Path to directory where to store the data (separate multiple locations by comma):
+ #
+ #path.data: /path/to/data
++path.data: /var/db/opensearch
+ #
+ # Path to log files:
+ #
+ #path.logs: /path/to/logs
++path.logs: /var/log/opensearch
+ #
+ # ----------------------------------- Memory -----------------------------------
+ #
diff --git a/textproc/opensearch219/files/pkg-message.in b/textproc/opensearch219/files/pkg-message.in
new file mode 100644
index 000000000000..c08de567504c
--- /dev/null
+++ b/textproc/opensearch219/files/pkg-message.in
@@ -0,0 +1,27 @@
+[
+{ type: install
+ message: <<EOM
+Opensearch was installed
+
+Please see %%ETCDIR%% for a sample version of
+opensearch.yml.
+
+OpenSearch requires memory locking of large amounts of RAM.
+You may need to set:
+
+sysctl security.bsd.unprivileged_mlock=1
+
+When running within a jail, it's highly advisable to set:
+
+enforce_statfs = 1
+
+for the jail running opensearch instance.
+
+If OpenSearch was built with the PLUGINS option enabled (default) it will not
+start until the security plugin is properly configured. Please refer to the
+OpenSearch documentation for setting-up TLS:
+
+https://opensearch.org/docs/security-plugin/configuration/tls
+EOM
+}
+]
diff --git a/textproc/opensearch219/pkg-descr b/textproc/opensearch219/pkg-descr
new file mode 100644
index 000000000000..8d97bcb3176a
--- /dev/null
+++ b/textproc/opensearch219/pkg-descr
@@ -0,0 +1,2 @@
+OpenSearch is a fork of Elasticsearch which aims to be a Distributed,
+RESTful, Search Engine built on top of Apache Lucene.
diff --git a/textproc/p5-Apache-Solr/Makefile b/textproc/p5-Apache-Solr/Makefile
index eb9b163e589a..59aa5cd7f6a0 100644
--- a/textproc/p5-Apache-Solr/Makefile
+++ b/textproc/p5-Apache-Solr/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Apache-Solr
-PORTVERSION= 1.10
+PORTVERSION= 1.11
CATEGORIES= textproc www perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/textproc/p5-Apache-Solr/distinfo b/textproc/p5-Apache-Solr/distinfo
index ee873a34a3df..4329846b1de7 100644
--- a/textproc/p5-Apache-Solr/distinfo
+++ b/textproc/p5-Apache-Solr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745761523
-SHA256 (Apache-Solr-1.10.tar.gz) = 32555d5991294cb69e1b00ca1ba861c68e2135221d6a485314ff15310b55f56b
-SIZE (Apache-Solr-1.10.tar.gz) = 47357
+TIMESTAMP = 1746863270
+SHA256 (Apache-Solr-1.11.tar.gz) = fe096f8dd757ccc68d82327c5a649a9166174119cd28d559ac380c5da2c4f0a1
+SIZE (Apache-Solr-1.11.tar.gz) = 47395
diff --git a/textproc/p5-Perl-MinimumVersion/Makefile b/textproc/p5-Perl-MinimumVersion/Makefile
index 6f7f1db767af..ad033cb9c6de 100644
--- a/textproc/p5-Perl-MinimumVersion/Makefile
+++ b/textproc/p5-Perl-MinimumVersion/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Perl-MinimumVersion
-PORTVERSION= 1.40
+PORTVERSION= 1.44
CATEGORIES= textproc perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -18,7 +18,8 @@ RUN_DEPENDS= p5-File-Find-Rule>=0:devel/p5-File-Find-Rule \
p5-PPIx-Regexp>=0.033:textproc/p5-PPIx-Regexp \
p5-PPIx-Utils>=0:textproc/p5-PPIx-Utils \
p5-Params-Util>=0.25:devel/p5-Params-Util
-TEST_DEPENDS= p5-Test-Script>=0:devel/p5-Test-Script
+TEST_DEPENDS= p5-Test-Script>=0:devel/p5-Test-Script \
+ p5-Safe-Isa>=0:devel/p5-Safe-Isa
USES= perl5
USE_PERL5= configure
diff --git a/textproc/p5-Perl-MinimumVersion/distinfo b/textproc/p5-Perl-MinimumVersion/distinfo
index 403a38838371..1622b8431743 100644
--- a/textproc/p5-Perl-MinimumVersion/distinfo
+++ b/textproc/p5-Perl-MinimumVersion/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1622214124
-SHA256 (Perl-MinimumVersion-1.40.tar.gz) = 7589a578cb60d70ca4755c395b3592b440a0cd6a1b074e4eceac93b031a1be90
-SIZE (Perl-MinimumVersion-1.40.tar.gz) = 37601
+TIMESTAMP = 1746863412
+SHA256 (Perl-MinimumVersion-1.44.tar.gz) = ffa9c8a2f099660a81361eb8bac56a335793b3e160fa5b1d97078b83142ce8cb
+SIZE (Perl-MinimumVersion-1.44.tar.gz) = 36595
diff --git a/textproc/quarto/Makefile b/textproc/quarto/Makefile
index 9b479ec01002..4dd9c0563dd4 100644
--- a/textproc/quarto/Makefile
+++ b/textproc/quarto/Makefile
@@ -20,7 +20,7 @@ RUN_DEPENDS= bash:shells/bash \
typst:textproc/typst \
deno-dom>0:www/deno-dom \
tex-xetex>0:print/tex-xetex \
- ${LOCALBASE}/lib/ruby/gems/3.2/gems/dartsass-1.49.8/exe/linux/sass:textproc/rubygem-dartsass \
+ rubygem-dartsass>0:textproc/rubygem-dartsass \
${PYTHON_PKGNAMEPREFIX}jupyter>0:devel/py-jupyter@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pipenv>0:devel/py-pipenv@${PY_FLAVOR} \
${JULIA_RUN_DEPENS} \
diff --git a/textproc/ruby-rdtool/Makefile b/textproc/ruby-rdtool/Makefile
index 6481d9ff2410..a2270400683b 100644
--- a/textproc/ruby-rdtool/Makefile
+++ b/textproc/ruby-rdtool/Makefile
@@ -9,12 +9,13 @@ MAINTAINER= ruby@FreeBSD.org
COMMENT= RD to HTML/man/etc. converter (RD is to Ruby as POD is to Perl)
WWW= https://github.com/uwabami/rdtool
+BROKEN= hook /wrkdirs/usr/ports/textproc/ruby-rdtool/work/rdtool-0.6.38/lib/rd/pre-setup.rb failed: undefined method 'exists?' for module FileTest
+
BUILD_DEPENDS= racc:devel/rubygem-racc
USES= ruby:setup
USE_GITHUB= yes
GH_ACCOUNT= uwabami
-BROKEN_RUBY32= yes
RUBY_MODNAME= rd
diff --git a/textproc/saxon-he/Makefile b/textproc/saxon-he/Makefile
index 3203ae221d69..a1e8773de518 100644
--- a/textproc/saxon-he/Makefile
+++ b/textproc/saxon-he/Makefile
@@ -1,5 +1,5 @@
PORTNAME= saxon-he
-DISTVERSION= 12-5
+DISTVERSION= 12-6
CATEGORIES= textproc java
MASTER_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/releases/download/SaxonHE${DISTVERSION}/
DISTNAME= SaxonHE${DISTVERSION}J
@@ -22,12 +22,12 @@ NO_ARCH= yes
NO_BUILD= yes
JARFILES= ${JARFILES1} ${JARFILES2}
-JARFILES1= saxon-he-12.5.jar \
- saxon-he-test-12.5.jar \
- saxon-he-xqj-12.5.jar
+JARFILES1= saxon-he-${PORTVERSION}.jar \
+ saxon-he-test-${PORTVERSION}.jar \
+ saxon-he-xqj-${PORTVERSION}.jar
JARFILES2= jline-2.14.6.jar \
- xmlresolver-5.2.2.jar \
- xmlresolver-5.2.2-data.jar
+ xmlresolver-5.3.1.jar \
+ xmlresolver-5.3.1-data.jar
PLIST_FILES= ${JARFILES:S,^,%%JAVAJARDIR%%/,}
do-install:
diff --git a/textproc/saxon-he/distinfo b/textproc/saxon-he/distinfo
index 20503f86e3e3..038367d9de9b 100644
--- a/textproc/saxon-he/distinfo
+++ b/textproc/saxon-he/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735753758
-SHA256 (SaxonHE12-5J.zip) = 35a46728792bd4cec2fc262d48777b4c79b5cdeef03d2981e3a64ecb3a19f716
-SIZE (SaxonHE12-5J.zip) = 6957606
+TIMESTAMP = 1746715463
+SHA256 (SaxonHE12-6J.zip) = cbb6657da061c155476ad9e43a3564a4cc928d4951ebeed2eafe5a0aa74e2aee
+SIZE (SaxonHE12-6J.zip) = 7248220
diff --git a/textproc/snowballstemmer/Makefile b/textproc/snowballstemmer/Makefile
index 92e3a6c9bc21..8f1405e8eda8 100644
--- a/textproc/snowballstemmer/Makefile
+++ b/textproc/snowballstemmer/Makefile
@@ -1,5 +1,5 @@
PORTNAME= snowballstemmer
-PORTVERSION= 2.2.0
+PORTVERSION= 3.0.1
DISTVERSIONPREFIX= v
CATEGORIES= textproc
@@ -22,16 +22,16 @@ GH_PROJECT= snowball
PLIST_FILES= bin/stemwords \
include/libstemmer.h \
lib/libstemmer.so \
- lib/libstemmer.so.0 \
- lib/libstemmer.so.0.0.0
+ lib/libstemmer.so.3 \
+ lib/libstemmer.so.3.0.1
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/stemwords ${STAGEDIR}${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/include/libstemmer.h ${STAGEDIR}${PREFIX}/include
- ${INSTALL_LIB} ${WRKSRC}/libstemmer.so.0.0.0 ${STAGEDIR}${PREFIX}/lib
- ${RLN} ${STAGEDIR}${PREFIX}/lib/libstemmer.so.0.0.0 \
- ${STAGEDIR}${PREFIX}/lib/libstemmer.so.0
- ${RLN} ${STAGEDIR}${PREFIX}/lib/libstemmer.so.0.0.0 \
+ ${INSTALL_LIB} ${WRKSRC}/libstemmer.so.3.0.1 ${STAGEDIR}${PREFIX}/lib
+ ${RLN} ${STAGEDIR}${PREFIX}/lib/libstemmer.so.3.0.1 \
+ ${STAGEDIR}${PREFIX}/lib/libstemmer.so.3
+ ${RLN} ${STAGEDIR}${PREFIX}/lib/libstemmer.so.3.0.1 \
${STAGEDIR}${PREFIX}/lib/libstemmer.so
.include <bsd.port.mk>
diff --git a/textproc/snowballstemmer/distinfo b/textproc/snowballstemmer/distinfo
index 1e1563842b1f..3c5e00a03127 100644
--- a/textproc/snowballstemmer/distinfo
+++ b/textproc/snowballstemmer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1636647222
-SHA256 (snowballstem-snowball-v2.2.0_GH0.tar.gz) = 425cdb5fba13a01db59a1713780f0662e984204f402d3dae1525bda9e6d30f1a
-SIZE (snowballstem-snowball-v2.2.0_GH0.tar.gz) = 223846
+TIMESTAMP = 1746862404
+SHA256 (snowballstem-snowball-v3.0.1_GH0.tar.gz) = 80ac10ce40dc4fcfbfed8d085c457b5613da0e86a73611a3d5527d044a142d60
+SIZE (snowballstem-snowball-v3.0.1_GH0.tar.gz) = 256065
diff --git a/textproc/snowballstemmer/files/patch-GNUmakefile b/textproc/snowballstemmer/files/patch-GNUmakefile
index 9dfc0acdd5c4..1921ee4b804d 100644
--- a/textproc/snowballstemmer/files/patch-GNUmakefile
+++ b/textproc/snowballstemmer/files/patch-GNUmakefile
@@ -1,12 +1,12 @@
---- GNUmakefile.orig 2021-11-10 02:42:18 UTC
+--- GNUmakefile.orig 2025-05-09 03:10:41 UTC
+++ GNUmakefile
-@@ -170,12 +170,12 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o)
+@@ -190,12 +190,12 @@ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.clas
JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
--CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
+-CFLAGS=-g -O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations -Wshadow $(WERROR)
-CPPFLAGS=
-+CFLAGS+=-fPIC -O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
++CFLAGS+=-fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations -Wshadow $(WERROR)
+CPPFLAGS+=
INCLUDES=-Iinclude
@@ -16,13 +16,13 @@
algorithms.mk: libstemmer/mkalgorithms.pl libstemmer/modules.txt
libstemmer/mkalgorithms.pl algorithms.mk libstemmer/modules.txt
-@@ -225,6 +225,9 @@ libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_
+@@ -256,6 +256,9 @@ libstemmer.a: libstemmer/libstemmer.o $(RUNTIME_OBJECT
+
libstemmer.a: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
$(AR) -cru $@ $^
-
++
+libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
-+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^
-+
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.3,-version-script,libstemmer/symbol.map -o $@.3.0.1 $^
+
examples/%.o: examples/%.c
$(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) -c -o $@ $<
-