Hi,

There have been some out of list discussion about it.

COMPILER_VERSION is unused in ports and we have PROPERTIES for the
same purpose. jca@ proposed to remove COMPILER_VERSION from MAKE_ENV
and test bulk the change. The issue being i can't do a (required) full
bulk myself.

Meanwhile mkvtoolnix still doesn't build for a trivial reason, and if
no one is willing to test bulk the MAKE_ENV change, i think we should
at least unset COMPILER_VERSION for that port.

Opinions? 

Charlène.

On Wed, 21 Aug 2019 21:09:33 +0200
Charlene Wendling wrote:

> 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