Tuesday, September 25, 2018

Re: NEW: devel/samurai

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/samurai/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Makefile
--- Makefile 10 Sep 2018 19:29:52 -0000 1.1.1.1
+++ Makefile 26 Sep 2018 00:56:44 -0000
@@ -4,6 +4,7 @@ COMMENT = ninja-compatible build tool wr

V = 0.4
DISTNAME = samurai-$V
+REVISION = 0
CATEGORIES = devel

MAINTAINER = Brian Callahan <bcallah@openbsd.org>
Index: patches/patch-parse_c
===================================================================
RCS file: patches/patch-parse_c
diff -N patches/patch-parse_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-parse_c 26 Sep 2018 00:56:44 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Demote an errx to a warnx; this is what ninja does.
+
+Index: parse.c
+--- parse.c.orig
++++ parse.c
+@@ -108,7 +108,7 @@ parseedge(struct environment *env)
+ canonpath(s);
+ *n = mknode(s);
+ if ((*n)->gen)
+- errx(1, "multiple rules generate '%s'", (*n)->path->s);
++ warnx("multiple rules generate '%s'", (*n)->path->s);
+ (*n)->gen = e;
+ }
+
On 09/19/18 13:04, Stuart Henderson wrote:
> On 2018/09/11 10:22, Stuart Henderson wrote:
>> On 2018/09/10 18:13, Brian Callahan wrote:
>>> Sorry for the noise--meant to send the diff version of this.
>> I think that makes sense for now and doesn't change anything for the
>> default case so doesn't need a bulk. OK sthen@.
>>
>> (Later I think it would be better to move setting CMAKE_MAKE_PROGRAM
>> down to the "either ninja or samurai" section, but that should go
>> through bulk build first.)
>>
> BTW bulk results are in. Most ninja users are OK with samurai except for these.
>
> First block are all "multiple rules generate X" where X is the file/target mentioned:
>
> devel/doxygen 'generated_src/configvalues.h'
> devel/doxygen-gui 'generated_src/configvalues.h'
> editors/kile-kde4 'doc/index.cache.bz2'
> graphics/digikam-kde4 '/usr/obj/ports/digikam-4.13.0/digikam-4.13.0/core/cmake/templates/Info.plist.cmake.in'
> graphics/krita 'cmake_object_order_depends_target_KisMaskGeneratorBenchmark'
> net/libproxy 'test'
> x11/kde4/pim 'kleopatra/libkleopatraclient/core/moc_command_p.cpp'
> x11/kde4/pimlibs '/usr/obj/ports/kdepimlibs-4.14.10/kdepimlibs-4.14.10/akonadi/contact/actions/contactactionssettings.kcfg.cmake'
> x11/kde4/workspace '/usr/obj/ports/kde-workspace-4.11.21/kde-workspace-4.11.21/kinfocenter/Modules/base/config-infocenter.h.cmake'

For these, ninja still notices this multiple rules issue but treats it
as a warning. Samurai treats it as an error. This diff should clear all
these up. Can send this upstream too.

> Also:
>
> www/webkitgtk4 ImportError: No module named jsmin

Not sure about this one...

~Brian

> Hard to say if it changes timings at all, but as a bulk builder I find
> diffable logs and fewer transient errors due to random build ordering
> quite appealing ...
>

No comments:

Post a Comment