Page MenuHomeFreeBSD

games/eduke32: update to r6180, add patch to build with Clang and option to build with GCC
ClosedPublic

Authored by ultima on Jun 18 2017, 1:20 AM.

Details

Summary
  • Updated to 20170614 (r6180)
  • Added non-default option GCC

PR\: 220039
Sumitted by\: Piotr Kubaj <pkubaj@anongoth.pl> (maintainer)
Reviewed by\: lifanov (mentor), matthew (mentor)
Approved by\: lifanov (mentor), matthew (mentor)
Differential Revision\: https://reviews.freebsd.org/DXXXXX

Test Plan

portlint:
WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy.
0 fatal errors and 1 warning found.

poudriere:
103i386
103amd64
110i386
110amd64
12i386
12amd64

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

ultima created this revision.Jun 18 2017, 1:20 AM
ultima edited the summary of this revision. (Show Details)Jun 18 2017, 1:20 AM
ultima edited the summary of this revision. (Show Details)
ultima edited the summary of this revision. (Show Details)
mat added inline comments.Jun 18 2017, 1:38 PM
games/eduke32/Makefile
54 ↗(On Diff #29766)

GCC_USE= gcc=yes

55 ↗(On Diff #29766)

lang/gcc does not provide libstdc++, it does not provide anything, it is a metaport, so, this feels strange, the framework should warn you this is bad.
Also, USE_GCC already sets a build and run-time depends on gcc.

ultima updated this revision to Diff 29782.Jun 18 2017, 3:00 PM

Retested with poudriere +gcc option, success.

lifanov edited edge metadata.Jun 18 2017, 4:39 PM

What's the purpose of the GCC option? The ports framework already allows the user to override the default compiler.

What's the purpose of the GCC option? The ports framework already allows the user to override the default compiler.

That is a great point I didn't even consider. I'll pass your query to the maintainer and reply back.

What's the purpose of the GCC option? The ports framework already allows the user to override the default compiler.

Actually it must be for ease of use. To set a different compiler in make.conf option, it would override for all ports unless adding something like
.if !empty(.CURDIR:M/usr/ports/games/eduke32/*) && exists(/usr/local/bin/gcc47)
CC=gcc47
CXX=g++47
CPP=cpp47
.endif

The option make it a simple tick.

What's the purpose of the GCC option? The ports framework already allows the user to override the default compiler.

This is the note from maintainer.
The port right now requires GCC to build. This patch makes it possible to build with Clang and also adds an option to build with GCC, for increased performance (building with Clang requires not using LTO). Building with Clang is enabled by default.

lifanov accepted this revision.Jun 19 2017, 1:17 PM

Hmm, it seems to me that we have a consistent way to select GCC, including for specific ports, as you noted earlier.
I personally think that this is not a good idea, but if the maintainer wants to keep this option around, go ahead.

This revision is now accepted and ready to land.Jun 19 2017, 1:17 PM
This revision was automatically updated to reflect the committed changes.