130 lines
3.9 KiB
Makefile
130 lines
3.9 KiB
Makefile
# $OpenBSD: Makefile,v 1.22 2018/07/15 08:36:39 espie Exp $
|
|
|
|
USE_WXNEEDED = Yes
|
|
|
|
ONLY_FOR_ARCHS = ${CXX11_ARCHS}
|
|
BROKEN-powerpc = relocation truncated to fit: R_PPC_PLTREL24 against symbol... (executable too big)
|
|
# nojunk: qmake include parser is bogus, c.f. x11/qt4
|
|
DPB_PROPERTIES = nojunk parallel
|
|
|
|
COMMENT = headless WebKit scriptable with a JavaScript API
|
|
|
|
MASTER_SITES= ${MASTER_SITE_FREEBSD}
|
|
DISTNAME = phantomjs-2.1.1
|
|
REVISION = 5
|
|
DISTFILES = ariya-${DISTNAME}_GH0.tar.gz \
|
|
Vitallium-phantomjs-3rdparty-win-19051aa_GH0.tar.gz \
|
|
Vitallium-qtbase-b5cc008_GH0.tar.gz \
|
|
Vitallium-qtwebkit-e7b7433_GH0.tar.gz
|
|
|
|
CATEGORIES = www
|
|
HOMEPAGE = http://phantomjs.org/
|
|
MAINTAINER = Francisco de Borja Lopez Rio <borja@codigo23.net>
|
|
|
|
# BSD, but statically linked to patched LGPL'ed qt5 and webkit
|
|
PERMIT_PACKAGE_CDROM = Yes
|
|
|
|
COMPILER = base-clang ports-gcc
|
|
MODULES = lang/python lang/ruby
|
|
|
|
WANTLIB += ${COMPILER_LIBCXX} X11 Xau Xdmcp c crypto \
|
|
execinfo expat fontconfig glib-2.0 freetype \
|
|
graphite2 harfbuzz iconv icudata icui18n icuuc \
|
|
intl lzma m pcre proxy pthread \
|
|
sqlite3 ssl webp xml2 xcb xslt z
|
|
|
|
MODPY_RUNDEP = No
|
|
MODRUBY_RUNDEP = No
|
|
|
|
# MODGCC4_CPPLIBDEP will be empty unless gcc4.port.mk is pulled in (i.e.
|
|
# empty on a base=clang arch)
|
|
LIB_DEPENDS = ${MODGCC4_CPPLIBDEP} \
|
|
databases/sqlite3 \
|
|
devel/glib2 \
|
|
devel/harfbuzz \
|
|
devel/libexecinfo \
|
|
devel/pcre \
|
|
graphics/graphite2 \
|
|
graphics/libwebp \
|
|
net/libproxy \
|
|
textproc/icu4c \
|
|
textproc/libxml \
|
|
textproc/libxslt
|
|
|
|
BUILD_DEPENDS = devel/bison \
|
|
devel/gperf \
|
|
devel/libsoup \
|
|
multimedia/gstreamer1/core \
|
|
multimedia/gstreamer1/plugins-base \
|
|
x11/xkbcommon
|
|
|
|
QT5_CONFIGURE_ARGS = -c++11 \
|
|
-no-journald \
|
|
-rpath \
|
|
-system-harfbuzz \
|
|
-system-sqlite \
|
|
-system-xcb \
|
|
-verbose \
|
|
-I${X11BASE}/include \
|
|
-R${X11BASE}/lib \
|
|
-L${X11BASE}/lib
|
|
|
|
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
|
|
# AVX: Sandy Bridge/Haswell, but not all models. AMD Bulldozer/Jaguar.
|
|
# SSE4.2: Nehalem, Silvermont Atom, AMD Bulldozer/Jaguar.
|
|
# SSE4.1: Core 2 (Penryn), Nehalem, Silvermont Atom, AMD Bulldozer/Jaguar.
|
|
# SSSE3: Core 2 Duo, Atom, AMD Bulldozer/Bobcat.
|
|
# SSE3: missing on very early 64-bit AMD.
|
|
QT5_CONFIGURE_ARGS += -no-sse4.1 -no-sse4.2 -no-avx -no-avx2
|
|
QT5_CONFIGURE_ARGS += -no-ssse3 -no-sse3
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} == "i386"
|
|
QT5_CONFIGURE_ARGS += -no-sse2
|
|
.endif
|
|
|
|
.include <bsd.port.arch.mk>
|
|
|
|
post-extract:
|
|
rmdir ${WRKSRC}/src/qt/{3rdparty,qtbase,qtwebkit}
|
|
mv ${WRKDIR}/phantomjs-3rdparty-win-19051aa ${WRKSRC}/src/qt/3rdparty
|
|
mv ${WRKDIR}/qtbase-b5cc008 ${WRKSRC}/src/qt/qtbase && \
|
|
mv ${WRKDIR}/qtwebkit-e7b7433 ${WRKSRC}/src/qt/qtwebkit
|
|
mkdir ${WRKSRC}/src/qt/qtbase/.git ${WRKSRC}/src/qt/qtwebkit/.git
|
|
rm ${WRKSRC}/src/qt/qtwebkit/Source/WebCore/DerivedSources.cpp
|
|
find ${WRKSRC} -name \*.orig -print0 | xargs -0 rm -f
|
|
|
|
post-patch:
|
|
@gccbasedir=`ecpp -print-search-dirs | awk '/^install:/{print $$2}'`; \
|
|
perl ${PORTSDIR}/infrastructure/bin/pkg_subst \
|
|
-D OPENBSD_INCDIR_PREPEND="$${gccbasedir}include" \
|
|
${WRKSRC}/src/qt/qtbase/mkspecs/openbsd-g++/qmake.conf
|
|
|
|
MAKE_ENV += OSTYPE=openbsd \
|
|
CC=cc CXX=c++ LINK_C=cc LINK=c++ \
|
|
PYTHON=${MODPY_BIN} RUBY=${RUBY} \
|
|
MAKE=make \
|
|
MAKEFLAGS="-j ${MAKE_JOBS} PYTHON=${MODPY_BIN} RUBY=${RUBY}" \
|
|
EXTRA_CPPFLAGS="-DLOCALBASE=\\\"${LOCALBASE}\\\" -DX11BASE=\\\"${X11BASE}\\\"" \
|
|
|
|
pre-build:
|
|
ln -sf ${MODPY_BIN} ${WRKDIR}/bin/python
|
|
ln -sf ${RUBY} ${WRKDIR}/bin/ruby
|
|
|
|
do-build:
|
|
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
|
|
QT5_CONFIGURE_ARGS="${QT5_CONFIGURE_ARGS}" \
|
|
${MODPY_BIN} build.py --confirm
|
|
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/bin/phantomjs ${PREFIX}/bin/phantomjs
|
|
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/phantomjs
|
|
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/phantomjs
|
|
${INSTALL_DATA} ${WRKSRC}/examples/* ${PREFIX}/share/examples/phantomjs
|
|
${INSTALL_DATA} ${WRKSRC}/LICENSE.BSD ${PREFIX}/share/doc/phantomjs
|
|
|
|
do-test:
|
|
cd ${WRKSRC}/test && ${MODPY_BIN} run-tests.py
|
|
|
|
.include <bsd.port.mk>
|