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/
> > 
> 

Reply via email to