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/
>
No comments:
Post a Comment