Bug 196161 - graphics/devil: patch to remove GCC-requirement
Summary: graphics/devil: patch to remove GCC-requirement
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Dmitry Marakasov
: 205305 (view as bug list)
Depends on:
Reported: 2014-12-20 17:46 UTC by Mikhail T.
Modified: 2016-03-24 21:40 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (amdmi3)

Remove USE_GCC knob from Makefile, add patch-clang into files/ (10.72 KB, patch)
2014-12-20 17:46 UTC, Mikhail T.
no flags Details | Diff
Add more patches from SF (34.92 KB, patch)
2016-01-11 05:56 UTC, Mikhail Teterin
mi: maintainer-approval? (amdmi3)
Details | Diff
Improve CXXFLAGS workaround (1.94 KB, patch)
2016-03-10 12:38 UTC, Jan Beich
jbeich: maintainer-approval? (amdmi3)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail T. 2014-12-20 17:46:25 UTC
Created attachment 150813 [details]
Remove USE_GCC knob from Makefile, add patch-clang into files/

The port currently insists on GCC without a really good reason.

The attached patch makes the necessary fixes for the compile to succeed.

On a related not, the upstream code has a suit of self-tests -- it may be worth the trouble to hook those up to the "regression-test" target. The attached patch does not do that.
Comment 1 Bugzilla Automation freebsd_committer 2014-12-20 17:46:25 UTC
Auto-assigned to maintainer amdmi3@FreeBSD.org
Comment 2 Dmitry Marakasov freebsd_committer 2014-12-29 04:14:49 UTC
I'll deal with this after holidays, probably around Jan 7th.

Meanwhile, it would be nice if you submit these changes upstream:

Comment 3 Mark Linimon freebsd_committer freebsd_triage 2015-12-14 07:17:25 UTC
*** Bug 205305 has been marked as a duplicate of this bug. ***
Comment 4 fcsk.aim 2016-01-10 22:07:57 UTC
Comment 5 Mikhail Teterin freebsd_committer 2016-01-11 05:56:51 UTC
Created attachment 165389 [details]
Add more patches from SF

This update would incorporate all patches submitted over the last 6 years to the upstream through SourceForge.

One of them fixes the upstream's configure to allow ILUT to be built with X11 disabled.

The bundled rudimentary collection of self-tests is now reachable as the "regression-test" target (a.k.a. test- and check-target).

I'd also like to turn Squish and Allegro back on -- even if only as options defaulting to off, but this update does not do that.
Comment 6 fcsk.aim 2016-03-01 00:21:49 UTC
Up :D
Comment 7 Mikhail Teterin freebsd_committer 2016-03-01 00:23:46 UTC
(In reply to fcsk.aim from comment #6)
> Up :D

Could you confirm, that my latest patch works for you?
Comment 8 fcsk.aim 2016-03-01 00:39:52 UTC
(In reply to Mikhail Teterin from comment #7)
I use pkg. And as i can saw there's no changes :D
Comment 9 commit-hook freebsd_committer 2016-03-01 00:50:15 UTC
A commit references this bug:

Author: mi
Date: Tue Mar  1 00:49:29 UTC 2016
New revision: 409837
URL: https://svnweb.freebsd.org/changeset/ports/409837

  Make buildable with clang. While here, add patches submitted upstream
  by others. Also make use of the author's own self-test suit.

  PR:		196161
  Approved by:	maintainer timeout

Comment 10 Dmitry Marakasov freebsd_committer 2016-03-04 19:14:49 UTC
This does not build on current. If that's not fixed soon I'll have to revert the change.
Comment 11 Mikhail T. 2016-03-05 03:49:28 UTC
Please, post or provide a link to a build log showing the failure you are referring to. Thank you.
Comment 12 Dmitry Marakasov freebsd_committer 2016-03-08 15:04:21 UTC
Sorry, but it's your responsibility to check that the port builds before committing, especially if you're committing to others' ports. You can build it in poudriere yourself. Or you can check pkg-fallout@.
Comment 13 Jan Beich freebsd_committer 2016-03-10 12:38:00 UTC
Created attachment 167960 [details]
Improve CXXFLAGS workaround

clang37 and clang38 no longer allow -fgnu89-inline as part of CXXFLAGS. As devil engages in unsafe practice of populating from CFLAGS as is let's strip incompatible flags using GNU Make syntax. This leaves only -mgoo from GENERAL_CFLAGS as @IL_CFLAGS@ expands to an empty string.

    error: invalid argument '-fgnu89-inline' not allowed with 'C++/ObjC++'

Comment 14 Jan Beich freebsd_committer 2016-03-10 17:13:16 UTC
Comment on attachment 167960 [details]
Improve CXXFLAGS workaround

My build on 93i386, 93amd64, 101i386, 102amd64, head-i386 with default options went fine. Would it be acceptable to land the fix by stretching the timeout blanket (reset approval flag)?

Mikhail, can you forward my change upstream to get feedback, maybe as part of bug212 like patch-clang? I don't have a SF account (signup issue via Tor), and CMakeLists.txt in the tree only supports Windows build.
Comment 15 commit-hook freebsd_committer 2016-03-11 12:36:30 UTC
A commit references this bug:

Author: amdmi3
Date: Fri Mar 11 12:36:19 UTC 2016
New revision: 410826
URL: https://svnweb.freebsd.org/changeset/ports/410826

  - Fix build on 11.x [1]
  - Switch to USES=localbase
  - Switch to options helpers
  - Fix testing

  PR:		196161
  Submitted by:	jbeich [1]