Hi,

> http://build-failures.rhaalovely.net/sparc64/2019-08-18/multimedia/mkvtoolnix%2Cno_x11.log
(no full macppc bulk report available for now)

What happens behind the scene (--trace didn't help):

- $WRKSRC/rake.d/config.rb loads the 'build-config' file, that says that
  "COMPILER_VERSION = 8.3.0" (fine)
- $WRKSRC/Rakefile does various compiler version checks to determine
  proper build flags to use
- Compiler versions are checked in $WRKSRC/rake.d/helpers.rb using
  Ruby's check_version() function, that seems to not like version
  numbers with letters at the start, as we can see in the log.
  The compiler version itself comes from the c() function...
- ...that is defined in $WRKSRC/rake.d/config.rb, where the line 24 is
  interesting:

var   = (ENV[idx_s].nil? ? $config[idx.to_sym] : ENV[idx_s]).to_s 

It appears that this 'gcc4' is coming from our default MAKE_ENV:

$ make show=MAKE_ENV
[...] COMPILER_VERSION="gcc4" [...] 
(on amd64, it returns COMPILER_VERSION="clang")

It did not break on amd64, because with clang, upstream uses the same
compilation flags for all versions, so there is no version comparison
done.

As such, i've overridden bsd.port.mk's COMPILER_VERSION, letting 
upstream's build system doing its job. I decided to go for it for all 
archs, as this may prevent possible future breakage on base-clang archs.

I did not bump REVISION because this version never built on ports-gcc
archs and it causes no change on base-clang ones.

This builds, and tests pass with flying colors, on amd64 and macppc [0].

Comments/feedback are welcome :)

Charlène.


[0] https://bin.charlenew.xyz/mkvtoolnix.log.gz


Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/mkvtoolnix/Makefile,v
retrieving revision 1.92
diff -u -p -u -p -r1.92 Makefile
--- Makefile    12 Jul 2019 20:47:57 -0000      1.92
+++ Makefile    21 Aug 2019 19:02:57 -0000
@@ -29,6 +29,11 @@ MODRUBY_RUNDEP=      No
 # C++11 / C++14
 COMPILER =     base-clang ports-gcc
 
+# Override bsd.port.mk's COMPILER_VERSION because 'gcc4' is incorrect
+# with ports-gcc and not recognised as a version number by Ruby's
+# check_version(), and is just 'clang' with base-clang.
+COMPILER_VERSION=
+
 BUILD_DEPENDS= devel/gettext,-tools \
                devel/gtest \
                textproc/docbook \

Reply via email to