Hi Stuart,
On Wed, Feb 11, 2026 at 9:29 PM Stuart Henderson <[email protected]> wrote: > On 2026/02/11 20:20, Sebastian Reitenbach wrote: > > Hi, > > > > this updates py-tsk to latest, and while there take MAINTAINER. > > Tidy Makefile a bit, and instead of patching setup.py and pre-configure > dance, > > add sleuthkit:path to BUILD_DEPS ... > > > > with tests downloaded from git repo, they all pass. > > > > comments, etc. or even OK welcome. > > > > cheers, > > Sebastian > > If you build the old version, you'll see that with those patches it > didn't build the bundled version of sleuthkit. > it does build the bundled copy. > > With your change, it installs sleuthkit as a library dependency, > then extracts/patches sleuthkit in WRKDIR and symlinks it into > WRKSRC/sleuthkit/sleuthkit-$VERSION, then totally ignores that copy > and the library dependency and goes on to build the bundled version. > This is not optimal. > > Diff below is a cleaner way to build with the bundled lib (at least > it doesn't pretend that it's using the ports one) also fixes running > tests the normal ports way (the comment was wrong, test_data is > there, but it misses some *.py files). > > I think it might be better to bring back the patch and fix things so > that it builds against ports sleuthkit rather than the bundled one, > but I didn't see how to do that. > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/py-tsk/Makefile,v > diff -u -p -r1.24 Makefile > --- Makefile 8 Feb 2026 12:22:41 -0000 1.24 > +++ Makefile 11 Feb 2026 20:24:25 -0000 > @@ -1,39 +1,38 @@ > COMMENT = Python bindings for The Sleuth Kit (libtsk) > > -MODPY_DISTV = 20200117 > +MODPY_DISTV = 20250801 > DISTNAME = pytsk3-${MODPY_DISTV} > PKGNAME = py-tsk-${MODPY_DISTV} > -REVISION = 11 > + > +# download a copy from github archive as well, to fill in the incomplete > +# tests dir from the pypi sdist (this is simpler than fetching the whole > +# port from github as it needs a submodule + autoconf scripts generating) > +DIST_TUPLE = github py4n6 pytsk ${MODPY_DISTV} . > > CATEGORIES = sysutils > > HOMEPAGE = https://github.com/py4n6/pytsk/ > +MAINTAINER = Sebastian Reitenbach <[email protected]> > > # Apache v2 > PERMIT_PACKAGE = Yes > > -MODULES = lang/python > -# so that we get gawk poisoning in the sleuthkit part > -MODULES += gnu > - > -MODPY_PI = Yes > -MODPY_PYBUILD = setuptools > - > -WANTLIB += talloc tsk ${MODPY_WANTLIB} > +WANTLIB += ${COMPILER_LIBCXX} m > > # C++11 > -COMPILER= base-clang ports-gcc > +COMPILER = base-clang ports-gcc > + > +MODULES = lang/python > +MODPY_PYBUILD = setuptools > +MODPY_PI = Yes > > -pre-configure: > - ${SUBST_DATA} ${WRKSRC}/setup.py ${WRKSRC}/setup.py.new > - mv ${WRKSRC}/setup.py.new ${WRKSRC}/setup.py > +# so that we get gawk poisoning in the sleuthkit part > +MODULES += gnu > > -LIB_DEPENDS = sysutils/sleuthkit \ > - devel/libtalloc > -TEST_DEPENDS = sysutils/py-tsk=${MODPY_DISTV} > +post-extract: > + mv ${WRKDIR}/pytsk-${MODPY_DISTV}/tests/* ${WRKSRC}/tests/ > > -# it needs test_data/* in the Github repository > do-test: > - cd ${WRKSRC} && ${MODPY_BIN} run_tests.py > + cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${MODPY_BIN} run_tests.py > > .include <bsd.port.mk> > Index: distinfo > =================================================================== > RCS file: /cvs/ports/sysutils/py-tsk/distinfo,v > diff -u -p -r1.7 distinfo > --- distinfo 17 Mar 2020 20:42:46 -0000 1.7 > +++ distinfo 11 Feb 2026 20:24:25 -0000 > @@ -1,2 +1,4 @@ > -SHA256 (pytsk3-20200117.tar.gz) = > VhdxZKNY6YuqJYKWqi6aUJME3I2rBTq6w0dDWgl42WI= > -SIZE (pytsk3-20200117.tar.gz) = 3060827 > +SHA256 (py4n6-pytsk-20250801.tar.gz) = > EnI+QkAoSxOpChb1EXgxmynM+Gp1NTstKfXjmKsuT9o= > +SHA256 (pytsk3-20250801.tar.gz) = > asypmY1GEMRv231jeULcNU3KWLIn2M7jZi7Jm0qKor0= > +SIZE (py4n6-pytsk-20250801.tar.gz) = 100734 > +SIZE (pytsk3-20250801.tar.gz) = 3327891 > Index: patches/patch-setup_py > =================================================================== > RCS file: patches/patch-setup_py > diff -N patches/patch-setup_py > --- patches/patch-setup_py 11 Mar 2022 19:57:54 -0000 1.3 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,39 +0,0 @@ > -Index: setup.py > ---- setup.py.orig > -+++ setup.py > -@@ -180,7 +180,7 @@ class BuildExtCommand(build_ext): > - # pylint: disable=attribute-defined-outside-init > - self.define = self.configure_source_tree(compiler) > - > -- libtsk_path = os.path.join("sleuthkit", "tsk") > -+ libtsk_path = os.path.join("${LOCALBASE}", "include", "tsk") > - > - if not os.access("pytsk3.c", os.R_OK): > - # Generate the Python binding code (pytsk3.c). > -@@ -390,7 +390,7 @@ class ProjectBuilder(object): > - self._argv = argv > - > - # The path to the sleuthkit/tsk directory. > -- self._libtsk_path = os.path.join("sleuthkit", "tsk") > -+ self._libtsk_path = os.path.join("${LOCALBASE}", "include", "tsk") > - > - # Paths under the sleuthkit/tsk directory which contain files we need > - # to compile. > -@@ -400,13 +400,13 @@ class ProjectBuilder(object): > - # The args for the extension builder. > - self.extension_args = { > - "define_macros": [], > -- "include_dirs": ["talloc", self._libtsk_path, "sleuthkit", "."], > -- "library_dirs": [], > -- "libraries": []} > -+ "include_dirs": [".", os.path.join("${LOCALBASE}", "include")], > -+ "library_dirs": [os.path.join("${LOCALBASE}","lib")], > -+ "libraries": ["tsk", "talloc"]} > - > - # The sources to build. > - self._source_files = [ > -- "class.c", "error.c", "tsk3.c", "pytsk3.c", "talloc/talloc.c"] > -+ "class.c", "error.c", "tsk3.c", "pytsk3.c"] > - > - # Path to the top of the unpacked sleuthkit sources. > - self._sleuthkit_path = "sleuthkit" > Index: pkg/DESCR > =================================================================== > RCS file: /cvs/ports/sysutils/py-tsk/pkg/DESCR,v > diff -u -p -r1.1.1.1 DESCR > --- pkg/DESCR 22 Jan 2017 08:18:04 -0000 1.1.1.1 > +++ pkg/DESCR 11 Feb 2026 20:24:25 -0000 > @@ -1 +1 @@ > - Python bindings for The Sleuth Kit (libtsk). > +Python bindings for The Sleuth Kit (libtsk). > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/sysutils/py-tsk/pkg/PLIST,v > diff -u -p -r1.7 PLIST > --- pkg/PLIST 29 Apr 2025 10:40:03 -0000 1.7 > +++ pkg/PLIST 11 Feb 2026 20:24:25 -0000 > @@ -3,7 +3,5 @@ lib/python${MODPY_VERSION}/site-packages > > > lib/python${MODPY_VERSION}/site-packages/pytsk3-${MODPY_DISTV}.dist-info/METADATA > > > lib/python${MODPY_VERSION}/site-packages/pytsk3-${MODPY_DISTV}.dist-info/RECORD > > > lib/python${MODPY_VERSION}/site-packages/pytsk3-${MODPY_DISTV}.dist-info/WHEEL > > -lib/python${MODPY_VERSION}/site-packages/pytsk3-${MODPY_DISTV}.dist-info/licenses/ > > -lib/python${MODPY_VERSION}/site-packages/pytsk3-${MODPY_DISTV}.dist-info/licenses/LICENSE > > > lib/python${MODPY_VERSION}/site-packages/pytsk3-${MODPY_DISTV}.dist-info/top_level.txt > @so > lib/python${MODPY_VERSION}/site-packages/pytsk3.${MODPY_PYC_MAGIC_TAG}so >
