On 2023/08/03 12:24, Ashlen wrote: > 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?
This is in packages-specs(7) and sets the version number of the dependency. I guess you're working on this in a dir other than /usr/ports/productivity/taskwarrior but don't have PORTSDIR and/or PORTSDIR_PATH set to match? > 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/ > > >