Massive PORTS_REVISION bump after making gcc-9.1 default

Gerald Pfeifer gerald at pfeifer.com
Sun Jul 28 18:56:49 UTC 2019


On Sun, 28 Jul 2019, Kevin Oberman wrote:
> The description of the commit states:
> 
> This includes ports
>  - with USE_GCC=yes or USE_GCC=any,
>  - with USES=fortran,
>  - using Mk/bsd.octave.mk which in turn features USES=fortran, and
>  - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
>    c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
> plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
> 
> This would appear to me like it did catch a great many ports which are 
> not build with or any anything to do will gcc, though I am not sure. 

These ports may not use GCC on your system, or even the majority of 
systems, but there are systems and situations where they do, and bumping 
PORTREVISION is a global binary decision for each port considered.

> E.g. I thought that USES=compiler:c11 and similar were asking for 
> c11 semantics from whatever compiler was used but

Let's look at your example.  ports/Mk/Uses/compiler.mk has the following
on USES=compiler:c11:

  .if ${_COMPILER_ARGS:Mc11}
  .if !${COMPILER_FEATURES:Mc11}
  .if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) || 
    (${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2
  USE_GCC=        yes
  CHOSEN_COMPILER_TYPE=   gcc
  .elif ${COMPILER_TYPE} == gcc

That is, if a user has set a preference for GCC or for non x86/x86-64
platforms, GCC is used.

And if there is one legitimate configuration on the planet where a 
PORTREVISION bump is required, we have to perform it in our repository.

(This is not saying I may not have made a mistake somewhere, but in
general those bumps do appear necessary.)

Gerald


More information about the freebsd-ports mailing list