lang/phantomjs: Fix build on 9.3 and 11.0

- Take maintainership (maintainer timeouts previously)
- Remove no-op patch
- Remove work related to GCC build profiles as we enforce clang
- Add patch to fix building with clang in 11.0
- Add hack to enforce CC and CXX for 9.3

Partway through the build the compiler was switching from clang++ to c++
which is GCC in base system. This was causing build failures.

MFH:		2016Q3
This commit is contained in:
Mark Felder 2016-09-17 14:37:36 +00:00
parent 817329d3d0
commit 04fdb95cc8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=422327
3 changed files with 43 additions and 17 deletions

View file

@ -2,12 +2,12 @@
PORTNAME= phantomjs
PORTVERSION= 2.0.0
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= lang
MASTER_SITES= https://bitbucket.org/ariya/phantomjs/downloads/
DISTNAME= ${PORTNAME}-${PORTVERSION}-source
MAINTAINER= kuriyama@FreeBSD.org
MAINTAINER= feld@FreeBSD.org
COMMENT= Minimalistic, headless, WebKit-based, JavaScript-driven tool
LICENSE= BSD3CLAUSE
@ -29,16 +29,19 @@ PLIST_FILES= bin/phantomjs
#PATCH_DEBUG= yes
NO_CCACHE= yes
USE_XORG= x11
# Hack for FreeBSD 9. Without it mysteriously switches from
# clang++ to c++ which ends in build failure.
CC=clang
CXX=clang++
# NOTE:
# build.sh --qtwebkit=system requires Qt 5.3.x. We cannot use it.
# qmake.conf detection is in src/qt/qtbase/configure script.
SPEC= ${WRKSRC}/src/qt/qtbase/mkspecs
post-extract:
cd ${SPEC} && ${CP} -r freebsd-g++46 freebsd-g++48
cd ${SPEC} && ${CP} -r freebsd-g++46 freebsd-g++49
cd ${SPEC} && ${REINPLACE_CMD} -e 's|46|48|' freebsd-g++48/qmake.conf
cd ${SPEC} && ${REINPLACE_CMD} -e 's|46|49|' freebsd-g++49/qmake.conf
${MKDIR} ${SPEC}/freebsd-clang
cd ${SPEC} && ${SED} -e 's|\.\./\.\./|../|g' unsupported/freebsd-clang/qmake.conf > freebsd-clang/qmake.conf
cd ${SPEC} && ${SED} -e 's|\.\./\.\./|../|g' unsupported/freebsd-clang/qplatformdefs.h > freebsd-clang/qplatformdefs.h

View file

@ -1,11 +0,0 @@
--- src/qt/qtbase/mkspecs/freebsd-g++/qmake.conf.orig 2015-01-24 11:19:52.000000000 +0900
+++ src/qt/qtbase/mkspecs/freebsd-g++/qmake.conf 2015-09-02 10:38:29.496373596 +0900
@@ -33,4 +33,8 @@
include(../common/unix.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
+#QMAKE_CC = $(CC)
+#QMAKE_CXX = $(CXX)
+#QMAKE_LINK_SHLIB = $(CXX)
+#QMAKE_LINK = $(CXX)
load(qt_config)

View file

@ -0,0 +1,34 @@
--- src/qt/qtbase/src/tools/qlalr/lalr.cpp.orig 2015-01-24 02:19:52 UTC
+++ src/qt/qtbase/src/tools/qlalr/lalr.cpp
@@ -246,11 +246,11 @@ void Grammar::buildExtendedGrammar ()
non_terminals.insert (accept_symbol);
}
-struct _Nullable: public std::unary_function<Name, bool>
+struct Nullable: public std::unary_function<Name, bool>
{
Automaton *_M_automaton;
- _Nullable (Automaton *aut):
+ Nullable (Automaton *aut):
_M_automaton (aut) {}
bool operator () (Name name) const
@@ -308,7 +308,7 @@ void Automaton::buildNullables ()
for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule)
{
- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this)));
+ NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (Nullable (this)));
if (nn == rule->rhs.end ())
changed |= nullables.insert (rule->lhs).second;
@@ -643,7 +643,7 @@ void Automaton::buildIncludesDigraph ()
if (! _M_grammar->isNonTerminal (*A))
continue;
- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this)));
+ NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (Nullable (this)));
if (first_not_nullable != rule->rhs.end ())
continue;