Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/sleuthkit/Makefile,v
diff -u -r1.35 Makefile
--- Makefile	22 May 2026 08:28:37 -0000	1.35
+++ Makefile	19 Sep 2026 08:09:17 -0000
@@ -1,22 +1,79 @@
-COMMENT=		forensic toolkit based on TCT
+COMMENT-main =		forensic toolkit based on TCT
+COMMENT-java =		Java bindings for TCT
+
+VERSION =		4.15.0
+DISTNAME=		sleuthkit-${VERSION}
+PKGNAME-main =		${DISTNAME}
+PKGNAME-java =		sleuthkit-java-${VERSION}
 
-DISTNAME=		sleuthkit-4.15.0
 
 CATEGORIES=		sysutils security
 
 SHARED_LIBS +=		tsk 4.0
+SHARED_LIBS +=		tsk_jni 0.0
 
 HOMEPAGE =		https://www.sleuthkit.org/
 MAINTAINER =		Sebastian Reitenbach <sebastia@openbsd.org>
 
+MULTI_PACKAGES =        -main -java
+PSEUDO_FLAVORS =        no_java
+FLAVOR ?=
+
 # CPLv1 & IBM & GPLv2 & Apache2 & BSD & MIT
 PERMIT_PACKAGE=	Yes
 
-WANTLIB +=	bfio c m pthread ${COMPILER_LIBCXX} sqlite3 vhdi vmdk z
+WANTLIB +=	bfio m pthread ${COMPILER_LIBCXX} sqlite3 vhdi vmdk z
 WANTLIB +=	afflib aio_compat crypto curl expat nghttp2 nghttp3
 WANTLIB +=	ngtcp2 ngtcp2_crypto_libressl readline ssl ewf vslvm
+WANTLIB-main += ${WANTLIB} c
+WANTLIB-java += ${WANTLIB} tsk
+
+# Define the Maven Central master site shortcut
+SITES.maven =		https://repo1.maven.org/maven2/
+SITES.uco =		${SITES.maven}
+
+# list taken from: bindings/java/ivy.xml
+DISTFILES.maven = \
+	joda-time/joda-time/2.13.1/joda-time-2.13.1.jar \
+	com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar \
+	com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar \
+	org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.jar \
+	commons-validator/commons-validator/1.9.0/commons-validator-1.9.0.jar \
+	com/google/code/gson/gson/2.12.1/gson-2.12.1.jar \
+	junit/junit/4.13.2/junit-4.13.2.jar \
+	io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar \
+	org/postgresql/postgresql/42.7.5/postgresql-42.7.5.jar \
+	com/mchange/c3p0/0.12.0/c3p0-0.12.0.jar \
+	com/mchange/mchange-commons-java/0.4.0/mchange-commons-java-0.4.0.jar \
+	com/zaxxer/SparseBitSet/1.3/SparseBitSet-1.3.jar
+
+# list taken from: case-uco/java/ivy.xml and
+# case-uco/java/nbproject/project.properties
+DISTFILES.uco = \
+	com/google/code/gson/gson/2.8.5/gson-2.8.5.jar \
+	junit/junit/4.12/junit-4.12.jar \
+	org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
+	
 
 SITES =	https://github.com/sleuthkit/sleuthkit/releases/download/${DISTNAME}/
+EXTRACT_ONLY = ${DISTNAME}.tar.gz
+
+.include <bsd.port.arch.mk>
+
+.if ${BUILD_PACKAGES:M-java}
+MODULES +=              java
+MODJAVA_VER =           21
+# not using MODJAVA_BUILD=ant on purpose
+BUILD_DEPENDS +=        devel/apache-ant
+CONFIGURE_ARGS +=	--enable-java
+.else
+# Safe: Java will be detected, if present, but won't be used
+CONFIGURE_ARGS +=	--disable-java
+.endif
+
+
+MODULES =		java
+MODJAVA_VER =   	21
 
 COMPILER =		base-clang ports-gcc
 
@@ -25,26 +82,50 @@
 CONFIGURE_STYLE =	autoreconf
 USE_GMAKE =		Yes
 
-LIB_DEPENDS =		databases/sqlite3 \
+LIB_DEPENDS-main =	databases/sqlite3 \
 			devel/libbfio \
 			sysutils/afflib3 \
 			sysutils/libvhdi \
 			sysutils/libvmdk \
 			sysutils/libvslvm \
 			security/libewf
-RUN_DEPENDS =		converters/p5-DateManip
+LIB_DEPENDS-java =	databases/sqlite-jdbc
+RUN_DEPENDS-main =	converters/p5-DateManip
+RUN_DEPENDS-java =      ${BUILD_PKGPATH},-main=${VERSION}
 
 CONFIGURE_ARGS += 	--mandir='${PREFIX}/man' \
 			--enable-offline \
-			--disable-java
+			PATH=${PATH}:${JAVA_HOME}/bin \
+			CFLAGS="${CFLAGS} -I${JAVA_HOME}/include/openbsd" \
+			CPPFLAGS="${CPPFLAGS} -I${JAVA_HOME}/include/openbsd" \
+			CXXFLAGS="${CXXFLAGS} -I${JAVA_HOME}/include/openbsd"
+
 
 CONFIGURE_ENV =		ac_cv_path_CPPUNIT_CONFIG=no \
 			ac_cv_header_postgresql_libpq_fe_h=no
 
 NO_TEST =		Yes
+SUBST_VARS +=		VERSION
 
 pre-configure:
 	@sed -i 's:%%PREFIX%%:${PREFIX}:' ${WRKSRC}/man/sorter.1
+
+pre-build:
+	mkdir -p ${WRKBUILD}/bindings/java/jni/.libs/
+	ln -sf ${WRKBUILD}/bindings/java/jni/.libs/libtsk_jni.so.0.0 \
+		${WRKBUILD}/bindings/java/jni/.libs/libtsk_jni.so
+	mkdir -p ${WRKBUILD}/bindings/java/lib
+.for jar in ${DISTFILES.maven}
+	cp ${DISTDIR}/${jar} ${WRKBUILD}/bindings/java/lib/
+.endfor
+	cp ${TRUEPREFIX}/share/java/sqlite-jdbc/sqlite-jdbc-*.jar \
+		${WRKBUILD}/bindings/java/lib/
+	
+	mkdir -p ${WRKBUILD}/case-uco/java/lib/
+.for jar in ${DISTFILES.uco}
+	cp ${DISTDIR}/${jar} ${WRKBUILD}/case-uco/java/lib/
+.endfor
+
 
 post-install:
 	mv ${PREFIX}/bin/pstat ${PREFIX}/bin/pstat.sleuthkit
Index: distinfo
===================================================================
RCS file: /cvs/ports/sysutils/sleuthkit/distinfo,v
diff -u -r1.17 distinfo
--- distinfo	22 May 2026 08:28:37 -0000	1.17
+++ distinfo	19 Sep 2026 08:09:17 -0000
@@ -1,2 +1,32 @@
+SHA256 (com/google/code/gson/gson/2.12.1/gson-2.12.1.jar) = 6+4T1ft0d81/HMAQ4MNW34yoBwlxUkjal/eeNcy0++w=
+SHA256 (com/google/code/gson/gson/2.8.5/gson-2.8.5.jar) = IzoBSfw2XJ9u29aDz+JmsZvcdzvpjqva9rPJJLSOfYE=
+SHA256 (com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar) = io+Bz5s1nj9t+mkaHndphcBh7y8iPJssgHU+G0WOgGQ=
+SHA256 (com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar) = uRjJin5E2+lOvZ/j5Azdqttak+anjrYAi0LfI3JB5Tg=
+SHA256 (com/mchange/c3p0/0.12.0/c3p0-0.12.0.jar) = TYWn1GQ6It9+niGhWeAi3kYlMHJ0Q+yD0ZAyHrMFhR0=
+SHA256 (com/mchange/mchange-commons-java/0.4.0/mchange-commons-java-0.4.0.jar) = /YjjhaON93ARd7B241BIqEHcXfERjGsthgu6CMQbwLY=
+SHA256 (com/zaxxer/SparseBitSet/1.3/SparseBitSet-1.3.jar) = 92uFrbDAByGuJnt8/eTaf3HTEhzCFgyfwAwMifjFPIo=
+SHA256 (commons-validator/commons-validator/1.9.0/commons-validator-1.9.0.jar) = w8FHSOLXjbWN+IgIdAcRvWQ7MsRf+nuKc58A+0Z819c=
+SHA256 (io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar) = mZCiA5d49rTMlHkBQcKGiGTqzuBiDGxFlFESGpAc1bU=
+SHA256 (joda-time/joda-time/2.13.1/joda-time-2.13.1.jar) = qb5HtGOQ96bausx8BVtP62+48iJUd6cnCoIzspbiZnc=
+SHA256 (junit/junit/4.12/junit-4.12.jar) = WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=
+SHA256 (junit/junit/4.13.2/junit-4.13.2.jar) = jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=
+SHA256 (org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.jar) = bucx31yOWil2ocoCO2uzIOqNNTn75kyKHVy3ZRJ8M7Q=
+SHA256 (org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar) = Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=
+SHA256 (org/postgresql/postgresql/42.7.5/postgresql-42.7.5.jar) = aQILO9IJhFQ+gXOT8ubAGokO8uN6d90R1thQgYHQeas=
 SHA256 (sleuthkit-4.15.0.tar.gz) = OowefRipuB8+XoqngxOXSs6q/G4FHWNrySzXFoKG7Kk=
+SIZE (com/google/code/gson/gson/2.12.1/gson-2.12.1.jar) = 285943
+SIZE (com/google/code/gson/gson/2.8.5/gson-2.8.5.jar) = 241622
+SIZE (com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar) = 4740
+SIZE (com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar) = 3080298
+SIZE (com/mchange/c3p0/0.12.0/c3p0-0.12.0.jar) = 399517
+SIZE (com/mchange/mchange-commons-java/0.4.0/mchange-commons-java-0.4.0.jar) = 642988
+SIZE (com/zaxxer/SparseBitSet/1.3/SparseBitSet-1.3.jar) = 25843
+SIZE (commons-validator/commons-validator/1.9.0/commons-validator-1.9.0.jar) = 201424
+SIZE (io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar) = 72305
+SIZE (joda-time/joda-time/2.13.1/joda-time-2.13.1.jar) = 638947
+SIZE (junit/junit/4.12/junit-4.12.jar) = 314932
+SIZE (junit/junit/4.13.2/junit-4.13.2.jar) = 384581
+SIZE (org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.jar) = 673587
+SIZE (org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar) = 45024
+SIZE (org/postgresql/postgresql/42.7.5/postgresql-42.7.5.jar) = 1087908
 SIZE (sleuthkit-4.15.0.tar.gz) = 4951534
Index: patches/patch-bindings_java_build-unix_xml
===================================================================
RCS file: patches/patch-bindings_java_build-unix_xml
diff -N patches/patch-bindings_java_build-unix_xml
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-bindings_java_build-unix_xml	19 Sep 2026 08:09:17 -0000
@@ -0,0 +1,36 @@
+Index: bindings/java/build-unix.xml
+--- bindings/java/build-unix.xml.orig
++++ bindings/java/build-unix.xml
+@@ -31,7 +31,7 @@
+ 	</target>
+ 
+ 	<target name="check-native-build-unix" depends="testTSKLibs" if="tsk_so.present">
+-		<uptodate property="native-up-to-date" srcfile="${jni.build.dir}/.libs/libtsk_jni.so" targetfile="${amd64}/linux/libtsk_jni.so"/>
++		<uptodate property="native-up-to-date" srcfile="${jni.build.dir}/.libs/libtsk_jni.so" targetfile="${amd64}/unix/libtsk_jni.so"/>
+ 	</target>
+ 
+ 	<target name="testTSKLibs">
+@@ -84,17 +84,17 @@
+ 		<property name="zlib.so" location="${lib.z.path}/libz.so"/>
+ 		<property name="libewf.so" location="${lib.ewf.path}/libewf.so"/>
+ 		<!-- x86_64 -->
+-		<copy file="${jni.so}" tofile="${x86_64}/linux/libtsk_jni.so" overwrite="true"/>
++		<copy file="${jni.so}" tofile="${x86_64}/openbsd/libtsk_jni.so" overwrite="true"/>
+ 		<!-- amd64 -->
+-		<copy file="${jni.so}" tofile="${amd64}/linux/libtsk_jni.so" overwrite="true"/>
++		<copy file="${jni.so}" tofile="${amd64}/openbsd/libtsk_jni.so" overwrite="true"/>
+ 		<!-- x86 -->
+-		<copy file="${jni.so}" tofile="${x86}/linux/libtsk_jni.so" overwrite="true"/>
++		<copy file="${jni.so}" tofile="${x86}/openbsd/libtsk_jni.so" overwrite="true"/>
+ 		<!-- i386 -->
+-		<copy file="${jni.so}" tofile="${i386}/linux/libtsk_jni.so" overwrite="true"/>
++		<copy file="${jni.so}" tofile="${i386}/openbsd/libtsk_jni.so" overwrite="true"/>
+ 		<!-- i586 -->
+-		<copy file="${jni.so}" tofile="${i586}/linux/libtsk_jni.so" overwrite="true"/>
++		<copy file="${jni.so}" tofile="${i586}/openbsd/libtsk_jni.so" overwrite="true"/>
+ 		<!-- i686 -->
+-		<copy file="${jni.so}" tofile="${i686}/linux/libtsk_jni.so" overwrite="true"/>
++		<copy file="${jni.so}" tofile="${i686}/openbsd/libtsk_jni.so" overwrite="true"/>
+ 	</target>
+ 
+ 	<target name="copyLibs" depends="copyLinuxLibs,copyMacLibs"/>
Index: patches/patch-bindings_java_build_xml
===================================================================
RCS file: patches/patch-bindings_java_build_xml
diff -N patches/patch-bindings_java_build_xml
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-bindings_java_build_xml	19 Sep 2026 08:09:17 -0000
@@ -0,0 +1,42 @@
+Index: bindings/java/build.xml
+--- bindings/java/build.xml.orig
++++ bindings/java/build.xml
+@@ -14,7 +14,7 @@
+ <property name="VERSION" value="4.15.0"/>
+ 
+ 	<!-- set global properties for this build -->
+-	<property name="default-jar-location" location="/usr/share/java"/>
++	<property name="default-jar-location" location="/usr/local/share/java"/>
+ 	<property name="src" location="src/org/sleuthkit/datamodel"/>
+ 	<property name="sample" location="src/org/sleuthkit/datamodel/Examples"/>
+ 	<property name="build" location="build/"/>
+@@ -46,23 +46,23 @@
+ 		<mkdir dir="${amd64}"/>
+ 		<mkdir dir="${amd64}/win"/>
+ 		<mkdir dir="${amd64}/mac"/>
+-		<mkdir dir="${amd64}/linux"/>
++		<mkdir dir="${amd64}/openbsd"/>
+ 		<mkdir dir="${x86}"/>
+ 		<mkdir dir="${x86}/win"/>
+-		<mkdir dir="${x86}/linux"/>
++		<mkdir dir="${x86}/openbsd"/>
+ 		<mkdir dir="${x86_64}"/>
+ 		<mkdir dir="${x86_64}/win"/>
+ 		<mkdir dir="${x86_64}/mac"/>
+-		<mkdir dir="${x86_64}/linux"/>
++		<mkdir dir="${x86_64}/openbsd"/>
+ 		<mkdir dir="${i386}"/>
+ 		<mkdir dir="${i386}/win"/>
+-		<mkdir dir="${i386}/linux"/>
++		<mkdir dir="${i386}/openbsd"/>
+ 		<mkdir dir="${i586}"/>
+ 		<mkdir dir="${i586}/win"/>
+-		<mkdir dir="${i586}/linux"/>
++		<mkdir dir="${i586}/openbsd"/>
+ 		<mkdir dir="${i686}"/>
+ 		<mkdir dir="${i686}/win"/>
+-		<mkdir dir="${i686}/linux"/>
++		<mkdir dir="${i686}/openbsd"/>
+ 	</target>
+ 
+ 	<!-- set classpath for dependencies-->
Index: patches/patch-bindings_java_src_org_sleuthkit_datamodel_LibraryUtils_java
===================================================================
RCS file: patches/patch-bindings_java_src_org_sleuthkit_datamodel_LibraryUtils_java
diff -N patches/patch-bindings_java_src_org_sleuthkit_datamodel_LibraryUtils_java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-bindings_java_src_org_sleuthkit_datamodel_LibraryUtils_java	19 Sep 2026 08:09:17 -0000
@@ -0,0 +1,36 @@
+Index: bindings/java/src/org/sleuthkit/datamodel/LibraryUtils.java
+--- bindings/java/src/org/sleuthkit/datamodel/LibraryUtils.java.orig
++++ bindings/java/src/org/sleuthkit/datamodel/LibraryUtils.java
+@@ -94,11 +94,12 @@ public class LibraryUtils {
+ 			os = "win"; //NON-NLS
+ 		} else if (LibraryUtils.isMac()) {
+ 			os = "mac"; //NON-NLS
+-		} else if (LibraryUtils.isLinux()) {
+-			os = "linux"; //NON-NLS
++		} else if (LibraryUtils.isOpenbsd()) {
++			os = "openbsd"; //NON-NLS
+ 		}
+ 		// os.arch represents the architecture of the JVM, not the os
+ 		String arch = System.getProperty("os.arch");
++		System.out.println("os/arch: " + os + "/" + arch); //NON-NLS
+ 		return arch.toLowerCase() + "/" + os.toLowerCase();
+ 	}
+ 
+@@ -127,6 +128,17 @@ public class LibraryUtils {
+ 	 */
+ 	private static boolean isLinux() {
+ 		return System.getProperty("os.name").equals("Linux"); //NON-NLS
++	}
++
++	/**
++	 * Is the platform OpenBSD?
++	 *
++	 * @return
++	 */
++	private static boolean isOpenbsd() {
++		String osName = System.getProperty("os.name");
++		System.out.println("Checking OS Name: " + osName); //NON-NLS
++		return System.getProperty("os.name").equals("OpenBSD"); //NON-NLS
+ 	}
+ 
+ 	/**
Index: pkg/DESCR
===================================================================
RCS file: pkg/DESCR
diff -N pkg/DESCR
--- pkg/DESCR	18 Feb 2026 21:26:40 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-The Sleuth Kit (previously known as TASK) is the only open
-source forensic toolkit for a complete analysis of Microsoft
-and UNIX file systems.
-It enables investigators to identify and recover evidence from
-images acquired during incident response or from live systems.
-
-Some of its features:
-
-* Analyzes images generated by the open source 'dd' utility,
-  found on all UNIX systems and available for Windows systems.
-* Supports the NTFS, FAT, FFS, and EXT2FS file systems. Images
-  of a different endian ordering than the analysis system can
-  be used.
-* The tools are organized in a layered approach, where the names
-  in each layer start with the same letter to help the user identify
-  the function of the tool. The layers include File System, File
-  Name (directory entries and NTFS index trees), Meta-Data (UNIX
-  inodes and NTFS MFT entries), and Content (blocks and clusters).
-* Identifies deleted files by name and location.
-* Identifies the status of content units (blocks and clusters)
-  and meta-data structures.
-* Maps the relationship of objects across different layers.
Index: pkg/DESCR-java
===================================================================
RCS file: pkg/DESCR-java
diff -N pkg/DESCR-java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pkg/DESCR-java	19 Sep 2026 08:09:17 -0000
@@ -0,0 +1,24 @@
+The Sleuth Kit (previously known as TASK) is the only open
+source forensic toolkit for a complete analysis of Microsoft
+and UNIX file systems.
+It enables investigators to identify and recover evidence from
+images acquired during incident response or from live systems.
+
+Some of its features:
+
+* Analyzes images generated by the open source 'dd' utility,
+  found on all UNIX systems and available for Windows systems.
+* Supports the NTFS, FAT, FFS, and EXT2FS file systems. Images
+  of a different endian ordering than the analysis system can
+  be used.
+* The tools are organized in a layered approach, where the names
+  in each layer start with the same letter to help the user identify
+  the function of the tool. The layers include File System, File
+  Name (directory entries and NTFS index trees), Meta-Data (UNIX
+  inodes and NTFS MFT entries), and Content (blocks and clusters).
+* Identifies deleted files by name and location.
+* Identifies the status of content units (blocks and clusters)
+  and meta-data structures.
+* Maps the relationship of objects across different layers.
+
+This package contains Java bindings for The Sleuth Kit.
Index: pkg/DESCR-main
===================================================================
RCS file: pkg/DESCR-main
diff -N pkg/DESCR-main
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pkg/DESCR-main	19 Sep 2026 08:09:17 -0000
@@ -0,0 +1,22 @@
+The Sleuth Kit (previously known as TASK) is the only open
+source forensic toolkit for a complete analysis of Microsoft
+and UNIX file systems.
+It enables investigators to identify and recover evidence from
+images acquired during incident response or from live systems.
+
+Some of its features:
+
+* Analyzes images generated by the open source 'dd' utility,
+  found on all UNIX systems and available for Windows systems.
+* Supports the NTFS, FAT, FFS, and EXT2FS file systems. Images
+  of a different endian ordering than the analysis system can
+  be used.
+* The tools are organized in a layered approach, where the names
+  in each layer start with the same letter to help the user identify
+  the function of the tool. The layers include File System, File
+  Name (directory entries and NTFS index trees), Meta-Data (UNIX
+  inodes and NTFS MFT entries), and Content (blocks and clusters).
+* Identifies deleted files by name and location.
+* Identifies the status of content units (blocks and clusters)
+  and meta-data structures.
+* Maps the relationship of objects across different layers.
Index: pkg/PLIST
===================================================================
RCS file: pkg/PLIST
diff -N pkg/PLIST
--- pkg/PLIST	18 Feb 2026 21:26:40 -0000	1.12
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,147 +0,0 @@
-@conflict ja-jvim-*
-@conflict freeze-*
-@bin bin/blkcalc
-@bin bin/blkcat
-@bin bin/blkls
-@bin bin/blkstat
-@comment bin/disk_sreset
-@comment bin/disk_stat
-@bin bin/fcat
-@bin bin/ffind
-@bin bin/fiwalk
-@bin bin/fls
-@bin bin/fsstat
-@bin bin/hfind
-@bin bin/icat
-@bin bin/ifind
-@bin bin/ils
-@bin bin/img_cat
-@bin bin/img_stat
-@bin bin/istat
-@bin bin/jcat
-@bin bin/jls
-@bin bin/jpeg_extract
-bin/mactime
-@bin bin/mmcat
-@bin bin/mmls
-@bin bin/mmstat
-@bin bin/pstat.sleuthkit
-@bin bin/sigfind
-bin/sorter
-@bin bin/srch_strings
-@bin bin/tsk_comparedir
-@bin bin/tsk_gettimes
-@bin bin/tsk_imageinfo
-@bin bin/tsk_loaddb
-@bin bin/tsk_recover
-@bin bin/usnjls
-include/tsk/
-include/tsk/auto/
-include/tsk/auto/guid.h
-include/tsk/auto/tsk_auto.h
-include/tsk/auto/tsk_is_image_supported.h
-include/tsk/base/
-include/tsk/base/tsk_base.h
-include/tsk/base/tsk_os.h
-include/tsk/fs/
-include/tsk/fs/apfs_compat.hpp
-include/tsk/fs/apfs_fs.h
-include/tsk/fs/apfs_fs.hpp
-include/tsk/fs/decmpfs.h
-include/tsk/fs/encryptionHelper.h
-include/tsk/fs/tsk_apfs.h
-include/tsk/fs/tsk_apfs.hpp
-include/tsk/fs/tsk_exfatfs.h
-include/tsk/fs/tsk_ext2fs.h
-include/tsk/fs/tsk_fatfs.h
-include/tsk/fs/tsk_fatxxfs.h
-include/tsk/fs/tsk_ffs.h
-include/tsk/fs/tsk_fs.h
-include/tsk/fs/tsk_hfs.h
-include/tsk/fs/tsk_iso9660.h
-include/tsk/fs/tsk_logical_fs.h
-include/tsk/fs/tsk_ntfs.h
-include/tsk/fs/tsk_yaffs.h
-include/tsk/hashdb/
-include/tsk/hashdb/tsk_hashdb.h
-include/tsk/img/
-include/tsk/img/logical_img.h
-include/tsk/img/pool.hpp
-include/tsk/img/tsk_img.h
-include/tsk/libtsk.h
-include/tsk/pool/
-include/tsk/pool/apfs_pool_compat.hpp
-include/tsk/pool/lvm_pool_compat.hpp
-include/tsk/pool/pool_compat.hpp
-include/tsk/pool/tsk_apfs.h
-include/tsk/pool/tsk_apfs.hpp
-include/tsk/pool/tsk_pool.h
-include/tsk/pool/tsk_pool.hpp
-include/tsk/tsk_incs.h
-include/tsk/util/
-include/tsk/util/Bitlocker/
-include/tsk/util/Bitlocker/BitlockerParser.h
-include/tsk/util/Bitlocker/BitlockerUtils.h
-include/tsk/util/Bitlocker/DataTypes.h
-include/tsk/util/Bitlocker/MetadataEntry.h
-include/tsk/util/Bitlocker/MetadataUtils.h
-include/tsk/util/Bitlocker/MetadataValue.h
-include/tsk/util/Bitlocker/MetadataValueAesCcmEncryptedKey.h
-include/tsk/util/Bitlocker/MetadataValueKey.h
-include/tsk/util/Bitlocker/MetadataValueOffsetAndSize.h
-include/tsk/util/Bitlocker/MetadataValueStretchKey.h
-include/tsk/util/Bitlocker/MetadataValueUnicode.h
-include/tsk/util/Bitlocker/MetadataValueVolumeMasterKey.h
-include/tsk/util/crypto.hpp
-include/tsk/util/detect_encryption.h
-include/tsk/util/file_system_utils.h
-include/tsk/util/lw_shared_ptr.hpp
-include/tsk/util/span.hpp
-include/tsk/vs/
-include/tsk/vs/tsk_bsd.h
-include/tsk/vs/tsk_dos.h
-include/tsk/vs/tsk_gpt.h
-include/tsk/vs/tsk_mac.h
-include/tsk/vs/tsk_sun.h
-include/tsk/vs/tsk_vs.h
-@static-lib lib/libtsk.a
-lib/libtsk.la
-@lib lib/libtsk.so.${LIBtsk_VERSION}
-lib/pkgconfig/tsk.pc
-@man man/man1/blkcalc.1
-@man man/man1/blkcat.1
-@man man/man1/blkls.1
-@man man/man1/blkstat.1
-@man man/man1/fcat.1
-@man man/man1/ffind.1
-@man man/man1/fls.1
-@man man/man1/fsstat.1
-@man man/man1/hfind.1
-@man man/man1/icat.1
-@man man/man1/ifind.1
-@man man/man1/ils.1
-@man man/man1/img_cat.1
-@man man/man1/img_stat.1
-@man man/man1/istat.1
-@man man/man1/jcat.1
-@man man/man1/jls.1
-@man man/man1/mactime.1
-@man man/man1/mmcat.1
-@man man/man1/mmls.1
-@man man/man1/mmstat.1
-@man man/man1/sigfind.1
-@man man/man1/sorter.1
-@man man/man1/tsk_comparedir.1
-@man man/man1/tsk_gettimes.1
-@man man/man1/tsk_loaddb.1
-@man man/man1/tsk_recover.1
-@man man/man1/usnjls.1
-share/tsk/
-share/tsk/sorter/
-share/tsk/sorter/default.sort
-share/tsk/sorter/freebsd.sort
-share/tsk/sorter/images.sort
-share/tsk/sorter/linux.sort
-share/tsk/sorter/openbsd.sort
-share/tsk/sorter/solaris.sort
-share/tsk/sorter/windows.sort
Index: pkg/PLIST-java
===================================================================
RCS file: pkg/PLIST-java
diff -N pkg/PLIST-java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pkg/PLIST-java	19 Sep 2026 08:09:17 -0000
@@ -0,0 +1,6 @@
+@static-lib lib/libtsk_jni.a
+lib/libtsk_jni.la
+@lib lib/libtsk_jni.so.${LIBtsk_jni_VERSION}
+share/java/
+share/java/sleuthkit-${VERSION}.jar
+share/java/sleuthkit-caseuco-${VERSION}.jar
Index: pkg/PLIST-main
===================================================================
RCS file: pkg/PLIST-main
diff -N pkg/PLIST-main
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pkg/PLIST-main	19 Sep 2026 08:09:17 -0000
@@ -0,0 +1,143 @@
+@bin bin/blkcalc
+@bin bin/blkcat
+@bin bin/blkls
+@bin bin/blkstat
+@bin bin/fcat
+@bin bin/ffind
+@bin bin/fiwalk
+@bin bin/fls
+@bin bin/fsstat
+@bin bin/hfind
+@bin bin/icat
+@bin bin/ifind
+@bin bin/ils
+@bin bin/img_cat
+@bin bin/img_stat
+@bin bin/istat
+@bin bin/jcat
+@bin bin/jls
+@bin bin/jpeg_extract
+bin/mactime
+@bin bin/mmcat
+@bin bin/mmls
+@bin bin/mmstat
+@bin bin/pstat.sleuthkit
+@bin bin/sigfind
+bin/sorter
+@bin bin/srch_strings
+@bin bin/tsk_comparedir
+@bin bin/tsk_gettimes
+@bin bin/tsk_imageinfo
+@bin bin/tsk_loaddb
+@bin bin/tsk_recover
+@bin bin/usnjls
+include/tsk/
+include/tsk/auto/
+include/tsk/auto/guid.h
+include/tsk/auto/tsk_auto.h
+include/tsk/auto/tsk_is_image_supported.h
+include/tsk/base/
+include/tsk/base/tsk_base.h
+include/tsk/base/tsk_os.h
+include/tsk/fs/
+include/tsk/fs/apfs_compat.hpp
+include/tsk/fs/apfs_fs.h
+include/tsk/fs/apfs_fs.hpp
+include/tsk/fs/decmpfs.h
+include/tsk/fs/encryptionHelper.h
+include/tsk/fs/tsk_apfs.h
+include/tsk/fs/tsk_apfs.hpp
+include/tsk/fs/tsk_exfatfs.h
+include/tsk/fs/tsk_ext2fs.h
+include/tsk/fs/tsk_fatfs.h
+include/tsk/fs/tsk_fatxxfs.h
+include/tsk/fs/tsk_ffs.h
+include/tsk/fs/tsk_fs.h
+include/tsk/fs/tsk_hfs.h
+include/tsk/fs/tsk_iso9660.h
+include/tsk/fs/tsk_logical_fs.h
+include/tsk/fs/tsk_ntfs.h
+include/tsk/fs/tsk_yaffs.h
+include/tsk/hashdb/
+include/tsk/hashdb/tsk_hashdb.h
+include/tsk/img/
+include/tsk/img/logical_img.h
+include/tsk/img/pool.hpp
+include/tsk/img/tsk_img.h
+include/tsk/libtsk.h
+include/tsk/pool/
+include/tsk/pool/apfs_pool_compat.hpp
+include/tsk/pool/lvm_pool_compat.hpp
+include/tsk/pool/pool_compat.hpp
+include/tsk/pool/tsk_apfs.h
+include/tsk/pool/tsk_apfs.hpp
+include/tsk/pool/tsk_pool.h
+include/tsk/pool/tsk_pool.hpp
+include/tsk/tsk_incs.h
+include/tsk/util/
+include/tsk/util/Bitlocker/
+include/tsk/util/Bitlocker/BitlockerParser.h
+include/tsk/util/Bitlocker/BitlockerUtils.h
+include/tsk/util/Bitlocker/DataTypes.h
+include/tsk/util/Bitlocker/MetadataEntry.h
+include/tsk/util/Bitlocker/MetadataUtils.h
+include/tsk/util/Bitlocker/MetadataValue.h
+include/tsk/util/Bitlocker/MetadataValueAesCcmEncryptedKey.h
+include/tsk/util/Bitlocker/MetadataValueKey.h
+include/tsk/util/Bitlocker/MetadataValueOffsetAndSize.h
+include/tsk/util/Bitlocker/MetadataValueStretchKey.h
+include/tsk/util/Bitlocker/MetadataValueUnicode.h
+include/tsk/util/Bitlocker/MetadataValueVolumeMasterKey.h
+include/tsk/util/crypto.hpp
+include/tsk/util/detect_encryption.h
+include/tsk/util/file_system_utils.h
+include/tsk/util/lw_shared_ptr.hpp
+include/tsk/util/span.hpp
+include/tsk/vs/
+include/tsk/vs/tsk_bsd.h
+include/tsk/vs/tsk_dos.h
+include/tsk/vs/tsk_gpt.h
+include/tsk/vs/tsk_mac.h
+include/tsk/vs/tsk_sun.h
+include/tsk/vs/tsk_vs.h
+@static-lib lib/libtsk.a
+lib/libtsk.la
+@lib lib/libtsk.so.${LIBtsk_VERSION}
+lib/pkgconfig/tsk.pc
+@man man/man1/blkcalc.1
+@man man/man1/blkcat.1
+@man man/man1/blkls.1
+@man man/man1/blkstat.1
+@man man/man1/fcat.1
+@man man/man1/ffind.1
+@man man/man1/fls.1
+@man man/man1/fsstat.1
+@man man/man1/hfind.1
+@man man/man1/icat.1
+@man man/man1/ifind.1
+@man man/man1/ils.1
+@man man/man1/img_cat.1
+@man man/man1/img_stat.1
+@man man/man1/istat.1
+@man man/man1/jcat.1
+@man man/man1/jls.1
+@man man/man1/mactime.1
+@man man/man1/mmcat.1
+@man man/man1/mmls.1
+@man man/man1/mmstat.1
+@man man/man1/sigfind.1
+@man man/man1/sorter.1
+@man man/man1/tsk_comparedir.1
+@man man/man1/tsk_gettimes.1
+@man man/man1/tsk_loaddb.1
+@man man/man1/tsk_recover.1
+@man man/man1/usnjls.1
+share/tsk/
+share/tsk/sorter/
+share/tsk/sorter/default.sort
+share/tsk/sorter/freebsd.sort
+share/tsk/sorter/images.sort
+share/tsk/sorter/linux.sort
+share/tsk/sorter/openbsd.sort
+share/tsk/sorter/solaris.sort
+share/tsk/sorter/windows.sort
