Bug 197858

Summary: Fix devel/p5-EV build with clang 3.6.0
Product: Ports & Packages Reporter: Dimitry Andric <dim>
Component: Individual Port(s)Assignee: Po-Chuan Hsieh <sunpoet>
Status: Closed FIXED    
Severity: Affects Many People CC: sunpoet, vovkasm
Priority: --- Flags: bugzilla: maintainer-feedback? (vovkasm)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 197395    
Attachments:
Description Flags
Fix devel/p5-EV build with clang 3.6.0
none
Alternative fix for devel/p5-EV build with clang 3.6.0 none

Description Dimitry Andric freebsd_committer freebsd_triage 2015-02-20 20:33:13 UTC
Created attachment 153234 [details]
Fix devel/p5-EV build with clang 3.6.0

During the exp-run in bug 197395, it was found that devel/p5-EV gives errors with clang 3.6.0:

http://package18.nyi.freebsd.org/data/headamd64PR197395-default/2015-02-11_23h04m51s/logs/errors/p5-EV-4.15_1,1.log

These are caused by the embedded copy of libev, which does not handle C11 _Noreturn keywords properly.

Fixing the embedded copy of libev is rather a lot of churn, so to work around this, use USE_CSTD=c99 for this port.
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2015-02-20 20:33:13 UTC
Maintainer CC'd
Comment 2 Vladimir Timofeev 2015-02-20 21:21:15 UTC
I'am agree with forcing C99 standard as a temporary workaround.

Note that this bug has been reported to the libev mailing list: http://lists.schmorp.de/pipermail/libev/2015q1/002480.html

Also this bug has been fixed already in upstream (libev) CVS: http://cvs.schmorp.de/libev/ev.c?r1=1.473&r2=1.474

So I think this workaround can be removed in next update of p5-EV.
Comment 3 Dimitry Andric freebsd_committer freebsd_triage 2015-02-20 21:36:05 UTC
Created attachment 153249 [details]
Alternative fix for devel/p5-EV build with clang 3.6.0

Here is an alternative fix, a minimal version of the upstream commit for libev (which contains much more changes than needed for this port).
Comment 4 Vladimir Timofeev 2015-02-23 05:12:42 UTC
(In reply to Dimitry Andric from comment #3)

Yes, alternative fix looks better for me, because it will automatically remind to remove itself when port will be updated to new version.
Comment 5 Po-Chuan Hsieh freebsd_committer freebsd_triage 2015-02-23 07:06:42 UTC
(In reply to Vladimir Timofeev from comment #4)

May I take this as your approval? Thanks!
Comment 6 Vladimir Timofeev 2015-02-23 09:57:43 UTC
(In reply to Sunpoet Po-Chuan Hsieh from comment #5)

Yes. Second fix essentially approved. Thanks!
Comment 7 commit-hook freebsd_committer freebsd_triage 2015-02-23 16:22:44 UTC
A commit references this bug:

Author: sunpoet
Date: Mon Feb 23 16:22:02 UTC 2015
New revision: 379694
URL: https://svnweb.freebsd.org/changeset/ports/379694

Log:
  - Fix build with Clang 3.6.0
  - While I'm here, add LICENSE

  PR:		197858
  Submitted by:	dim
  Approved by:	Vladimir Timofeev <vovkasm@gmail.com> (maintainer)

Changes:
  head/devel/p5-EV/Makefile
  head/devel/p5-EV/files/
  head/devel/p5-EV/files/patch-libev__ev.c
Comment 8 Po-Chuan Hsieh freebsd_committer freebsd_triage 2015-02-23 16:25:06 UTC
Committed. Thanks!