On Thu, 3 Aug 2023 17:37 +0100, Stuart Henderson wrote: > 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
Thank you. I have zero experience with C++ and so I know very little about its build systems. > > +# 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. I like this solution, I didn't think to do it like that. > 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 Runtime works for me so far. The timewarrior line in TEST_DEPENDS causes `make test` to fail for me with this: ===> timewarrior-1.5.0 depends on: timewarrior-=1.5.0 - default timewarrior-1.1.1p0 does not match *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2294 '/usr/obj/ports/timewarrior-1.5.0/.dep-timewarrior--1.5.0-productivity-timewarrior,') *** Error 2 in /usr/ports/mystuff/productivity/timewarrior (/usr/ports/infrastructure/mk/bsd.port.mk:2612 'test': @lock=timewarrior-1.5.0; ...) I'm gathering that this will probably work after commit based on the error? I tested without that line and with timewarrior uninstalled, and it fails on help.t as you mentioned in the comment. I didn't quite understand how `timewarrior-=${VERSION}:${BUILD_PKGPATH}` works. I did see the explanation for `:old_string=new_string` in make(1), but I don't get what -= does in this context. Can you help me understand? Thank you for the help + input, Stuart. I appreciate it. :) > > 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/ >