you can get tests to run with these (and this also needs SEPARATE_BUILD = No otherwise when it builds the .t binaries, it puts them in the build dir, and there's nothing setup to replace the MacOS binaries present in the test dir in the tar).
TEST_DEPENDS = ${MODPY_RUN_DEPENDS} USE_NINJA = No > +# Hack to get rid of empty CMakeFiles directories on 1.5.0. Check to see > +# if this is still necessary next release. > +pre-install: > + rmdir ${WRKBUILD}/doc/man1/CMakeFiles > + rmdir ${WRKBUILD}/doc/man7/CMakeFiles I'd go for a tweak to simplify a little and put the comment where make will display it on-screen when run, so it's immediately obvious what's going on if things change in a future update. so here's a diff with those added, a quick change to the comment about out-of-source builds (the PR was committed upstream, but it doesn't cover the files which just contain .so manpage links; timew-day, timew-week, timew-month). builds and all regression tests pass; I don't use this myself so not tested runtime Index: Makefile =================================================================== RCS file: /cvs/ports/productivity/timewarrior/Makefile,v retrieving revision 1.5 diff -u -p -r1.5 Makefile --- Makefile 11 Mar 2022 19:51:47 -0000 1.5 +++ Makefile 3 Aug 2023 16:37:27 -0000 @@ -1,35 +1,46 @@ -COMMENT = command line tracking time tool +COMMENT = command line tracking time tool -VERSION = 1.1.1 -DISTNAME = timew-${VERSION} -PKGNAME = timewarrior-${VERSION} -CATEGORIES = productivity -REVISION = 0 +VERSION = 1.5.0 +DISTNAME = timew-${VERSION} +PKGNAME = timewarrior-${VERSION} +CATEGORIES = productivity -HOMEPAGE = https://timewarrior.net/ +HOMEPAGE = https://timewarrior.net/ # MIT -PERMIT_PACKAGE = Yes +PERMIT_PACKAGE = Yes WANTLIB += c m ${COMPILER_LIBCXX} -MASTER_SITES = https://taskwarrior.org/download/ +MASTER_SITES = https://github.com/GothenburgBitFactory/timewarrior/releases/download/v${VERSION}/ COMPILER = base-clang ports-gcc MODULES = devel/cmake \ lang/python -MODPY_VERSION = ${MODPY_DEFAULT_VERSION_2} MODPY_RUNDEP = No MODPY_BUILDDEP = No MODPY_ADJ_FILES = ext/totals.py +BUILD_DEPENDS = textproc/asciidoctor + CONFIGURE_STYLE = cmake CONFIGURE_ARGS += -DTIMEW_DOCDIR=share/doc/timewarrior -CONFIGURE_ARGS += -DTIMEW_RCDIR=share/doc/timewarrior/rc -CONFIGURE_ARGS += -DTIMEW_MAN1DIR=man/man1 +CONFIGURE_ARGS += -DTIMEW_MANDIR=man + +# test infrastructure only works with cmake make backend +# self-depend added to avoid failure in help.t test which checks +# that the (correct version's) manual is displayed +USE_NINJA = No +TEST_DEPENDS = ${MODPY_RUN_DEPENDS} \ + timewarrior-=${VERSION}:${BUILD_PKGPATH} + +# tests and manpage creation fail with out-of-source-tree builds +# upstream commit dd330aa0db61 partially fixes manpages but not tests +SEPARATE_BUILD = No -NO_TEST = Yes +post-install: + rmdir ${PREFIX}/man/man{1,7}/CMakeFiles{/*,} # empty dirs present in 1.5.0 .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/productivity/timewarrior/distinfo,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 distinfo --- distinfo 17 May 2018 23:22:21 -0000 1.1.1.1 +++ distinfo 3 Aug 2023 16:37:27 -0000 @@ -1,2 +1,2 @@ -SHA256 (timew-1.1.1.tar.gz) = H32aYuVfxaMSZDNlTMsf19LRNfBvBWl/hxiXydt3zMk= -SIZE (timew-1.1.1.tar.gz) = 166484 +SHA256 (timew-1.5.0.tar.gz) = UefCx3KDe71tVtqNFlBsS23oZEFm4LUjStNq5qcN1PY= +SIZE (timew-1.5.0.tar.gz) = 4148590 Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/productivity/timewarrior/pkg/PLIST,v retrieving revision 1.2 diff -u -p -r1.2 PLIST --- pkg/PLIST 11 Mar 2022 19:51:47 -0000 1.2 +++ pkg/PLIST 3 Aug 2023 16:37:27 -0000 @@ -1,12 +1,49 @@ @bin bin/timew +@man man/man1/timew-annotate.1 +@man man/man1/timew-cancel.1 +@man man/man1/timew-chart.1 +@man man/man1/timew-config.1 +@man man/man1/timew-continue.1 +@man man/man1/timew-day.1 +@man man/man1/timew-delete.1 +@man man/man1/timew-diagnostics.1 +@man man/man1/timew-export.1 +@man man/man1/timew-extensions.1 +@man man/man1/timew-fill.1 +@man man/man1/timew-gaps.1 +@man man/man1/timew-get.1 +@man man/man1/timew-help.1 +@man man/man1/timew-join.1 +@man man/man1/timew-lengthen.1 +@man man/man1/timew-modify.1 +@man man/man1/timew-month.1 +@man man/man1/timew-move.1 +@man man/man1/timew-report.1 +@man man/man1/timew-resize.1 +@man man/man1/timew-shorten.1 +@man man/man1/timew-show.1 +@man man/man1/timew-split.1 +@man man/man1/timew-start.1 +@man man/man1/timew-stop.1 +@man man/man1/timew-summary.1 +@man man/man1/timew-tag.1 +@man man/man1/timew-tags.1 +@man man/man1/timew-track.1 +@man man/man1/timew-undo.1 +@man man/man1/timew-untag.1 +@man man/man1/timew-week.1 @man man/man1/timew.1 +@man man/man7/timew-config.7 +@man man/man7/timew-dates.7 +@man man/man7/timew-dom.7 +@man man/man7/timew-durations.7 +@man man/man7/timew-hints.7 +@man man/man7/timew-ranges.7 share/doc/timewarrior/ share/doc/timewarrior/AUTHORS -share/doc/timewarrior/COPYING share/doc/timewarrior/ChangeLog share/doc/timewarrior/INSTALL share/doc/timewarrior/LICENSE -share/doc/timewarrior/NEWS share/doc/timewarrior/README.md share/doc/timewarrior/doc/ share/doc/timewarrior/doc/holidays/