Bug 205022

Summary: [PATCH] benchmarks/fio: Depend on flex and bison from ports on 9
Product: Ports & Packages Reporter: Raphael Kubo da Costa <rakuco>
Component: Individual Port(s)Assignee: Baptiste Daroussin <bapt>
Status: Closed FIXED    
Severity: Affects Only Me Keywords: patch
Priority: --- Flags: bugzilla: maintainer-feedback? (bapt)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Proposed patch none

Description Raphael Kubo da Costa freebsd_committer freebsd_triage 2015-12-04 17:59:33 UTC
Created attachment 163849 [details]
Proposed patch

According to portsmon, benchmarks/fio's build is currently broken on 9 after the update to 2.2.11:

  lex: can't open lex.yy.c

with a verbose build it's possible to see that this is because base's flex on 9 is too old and does not support "-o foo", it requires "-ofoo".

Depending on flex from ports to fix the build is not enough, as then the yacc call fails:

  /usr/bin/yacc -o y.tab.c -l -d -b y exp/expression-parser.y
  yacc: e - line 68 of "exp/expression-parser.y", syntax error
  %parse-param { long long *result }
  ^
  Makefile:312: recipe for target 'y.tab.c' failed

Fix it by depending on both textproc/flex and devel/bison when the versions in base are too old.
Comment 1 Baptiste Daroussin freebsd_committer freebsd_triage 2015-12-04 19:54:58 UTC
Approved, thanks!
Comment 2 commit-hook freebsd_committer freebsd_triage 2015-12-05 01:09:24 UTC
A commit references this bug:

Author: rakuco
Date: Sat Dec  5 01:08:22 UTC 2015
New revision: 403016
URL: https://svnweb.freebsd.org/changeset/ports/403016

Log:
  Depend on flex and bison from ports on 9.

  According to portsmon, benchmarks/fio's build is currently broken on 9 after
  the update to 2.2.11:

    lex: can't open lex.yy.c

  with a verbose build it's possible to see that this is because base's flex
  on 9 is too old and does not support "-o foo", it requires "-ofoo".

  Depending on flex from ports to fix the build is not enough, as then the
  yacc call fails:

    /usr/bin/yacc -o y.tab.c -l -d -b y exp/expression-parser.y
    yacc: e - line 68 of "exp/expression-parser.y", syntax error
    %parse-param { long long *result }
    ^
    Makefile:312: recipe for target 'y.tab.c' failed

  Fix it by depending on both textproc/flex and devel/bison when the versions
  in base are too old.

  PR:		205022
  Approved by:	bapt (maintainer)

Changes:
  head/benchmarks/fio/Makefile