Thursday, August 03, 2023

Re: update productivity/timewarrior

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

No comments:

Post a Comment