2023-08-16 22:26:55 +00:00
|
|
|
BROKEN-aarch64 = Failed to reserve memory for new V8 Isolate
|
|
|
|
|
|
|
|
USE_WXNEEDED = Yes
|
|
|
|
USE_NOBTCFI = Yes
|
|
|
|
|
|
|
|
ONLY_FOR_ARCHS = amd64 aarch64 i386
|
|
|
|
|
|
|
|
DPB_PROPERTIES = parallel parallel2
|
|
|
|
.if ${MACHINE_ARCH} == "i386"
|
|
|
|
DPB_PROPERTIES += lonesome
|
|
|
|
.endif
|
|
|
|
|
|
|
|
COMMENT = Chromium-based web engine for Qt5
|
|
|
|
|
|
|
|
# Many parts are copied from www/chromium port, so keep in sync
|
|
|
|
DISTNAME = qtwebengine-everywhere-opensource-src-${QT5_WEBENGINE_VERSION}
|
|
|
|
QT5NAME = QtWebEngine
|
2023-09-25 17:42:59 +00:00
|
|
|
REVISION = 5
|
2023-08-16 22:26:55 +00:00
|
|
|
|
|
|
|
CATEGORIES = www
|
|
|
|
|
|
|
|
SHARED_LIBS += Qt5WebEngine 2.0 # 5.15
|
|
|
|
SHARED_LIBS += Qt5WebEngineCore 2.0 # 5.15
|
|
|
|
SHARED_LIBS += Qt5WebEngineWidgets 2.0 # 5.15
|
2023-09-25 17:42:59 +00:00
|
|
|
|
|
|
|
# XXX libQt5Pdf.so.1.0: undefined symbol FPDF_InitLibrary
|
|
|
|
# libQt5Pdf needs to link explicitly against libQt5WebEngineCore?
|
|
|
|
#SHARED_LIBS += Qt5Pdf 1.0 # 5.15
|
|
|
|
#SHARED_LIBS += Qt5PdfWidgets 1.0 # 5.15
|
2023-08-16 22:26:55 +00:00
|
|
|
|
|
|
|
WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5Designer Qt5Gui Qt5Network
|
|
|
|
WANTLIB += Qt5Positioning Qt5PrintSupport Qt5Qml Qt5QmlModels
|
|
|
|
WANTLIB += Qt5Quick Qt5QuickWidgets Qt5WebChannel Qt5Widgets Qt5Xml
|
|
|
|
WANTLIB += X11 X11-xcb Xcomposite Xdamage Xext Xfixes Xi Xrandr
|
|
|
|
WANTLIB += Xrender Xtst c cbor crypto cups dbus-1 drm event execinfo
|
|
|
|
WANTLIB += expat fido2 fontconfig freetype gbm glib-2.0 graphite2
|
|
|
|
WANTLIB += harfbuzz harfbuzz-subset intl jpeg kvm lcms2 m minizip
|
|
|
|
WANTLIB += nspr4 nss3 nssutil3 opus pcre2-8 plc4 plds4 png sharpyuv
|
|
|
|
WANTLIB += smime3 snappy sndio usbhid util vpx webp webpdemux
|
|
|
|
WANTLIB += webpmux xcb xkbcommon xml2 xslt z
|
|
|
|
|
|
|
|
# BSD-like, patents
|
|
|
|
PERMIT_PACKAGE = Yes
|
|
|
|
|
|
|
|
MODULES = lang/python \
|
|
|
|
devel/qmake
|
|
|
|
|
|
|
|
MODPY_RUNDEP = No
|
|
|
|
|
|
|
|
RUN_DEPENDS = fonts/noto/fonts \
|
|
|
|
graphics/libexif \
|
|
|
|
x11/gtk+3,-cups
|
|
|
|
|
|
|
|
BUILD_DEPENDS = archivers/bzip2 \
|
|
|
|
devel/bison \
|
|
|
|
devel/gperf \
|
|
|
|
devel/ninja \
|
|
|
|
lang/node \
|
|
|
|
shells/bash \
|
|
|
|
sysutils/flock \
|
|
|
|
sysutils/pciutils \
|
|
|
|
x11/gnome/libgnome-keyring \
|
|
|
|
x11/gtk+3 \
|
|
|
|
x11/py-xcbgen
|
|
|
|
|
|
|
|
LIB_DEPENDS = archivers/minizip \
|
|
|
|
archivers/snappy \
|
|
|
|
audio/opus \
|
|
|
|
devel/harfbuzz \
|
|
|
|
graphics/lcms2 \
|
|
|
|
graphics/libwebp \
|
|
|
|
multimedia/libvpx \
|
|
|
|
print/cups,-libs \
|
|
|
|
security/nss \
|
|
|
|
textproc/libxslt \
|
|
|
|
x11/qt5/qtdeclarative \
|
|
|
|
x11/qt5/qtlocation \
|
|
|
|
x11/qt5/qttools \
|
|
|
|
x11/qt5/qtwebchannel \
|
|
|
|
x11/xkbcommon
|
|
|
|
|
|
|
|
# These libraries are used from the system and the build infrastructure
|
|
|
|
# removes them from the bundled third_party directory and replaces them
|
|
|
|
# with hooks to use them from the system.
|
|
|
|
GN_SYSTEM_LIBS = libevent libxslt
|
|
|
|
|
|
|
|
DEBUGFLAG = -g0
|
|
|
|
|
|
|
|
CONFIGURE_ENV = NINJAFLAGS="-j${MAKE_JOBS}" \
|
|
|
|
NINJA_PATH="${LOCALBASE}/bin/ninja" \
|
|
|
|
PATH=${WRKSRC}/bin:${LOCALBASE}/bin:${PATH}
|
|
|
|
|
|
|
|
MAKE_ENV += CC="${CC}" CXX="${CXX}" \
|
|
|
|
C_INCLUDE_PATH="${LOCALBASE}/include:${X11BASE}/include" \
|
|
|
|
CPLUS_INCLUDE_PATH="${LOCALBASE}/include:${X11BASE}/include" \
|
|
|
|
LIBRARY_PATH="${LOCALBASE}/lib:${X11BASE}/lib" \
|
|
|
|
${CONFIGURE_ENV}
|
|
|
|
|
|
|
|
.if ${MACHINE_ARCH} == "aarch64"
|
|
|
|
PKG_ARGS += -Dswiftshader=0
|
|
|
|
.else
|
|
|
|
PKG_ARGS += -Dswiftshader=1
|
|
|
|
.endif
|
|
|
|
|
|
|
|
SUBST_VARS += WRKSRC WRKDIR DEBUGFLAG WRKBUILD
|
|
|
|
|
|
|
|
MODQMAKE_RECURSIVE = No
|
|
|
|
|
|
|
|
CHROMESRC = ${WRKDIST}/src/3rdparty/chromium
|
|
|
|
|
|
|
|
pre-configure:
|
|
|
|
@ln -sf ${MODPY_BIN} ${WRKDIR}/bin/python
|
|
|
|
.for _arch in x64 ia32 arm64
|
|
|
|
. for _dir in avcodec avformat avutil
|
|
|
|
@cp -pR ${CHROMESRC}/third_party/ffmpeg/chromium/config/Chrome/linux/${_arch}/lib${_dir} \
|
|
|
|
${CHROMESRC}/third_party/ffmpeg/chromium/config/Chrome/openbsd/${_arch}/lib${_dir}
|
|
|
|
. endfor
|
|
|
|
.endfor
|
|
|
|
@mkdir -p ${CHROMESRC}/media/audio/sndio ${CHROMESRC}/media/audio/openbsd
|
|
|
|
@cp ${FILESDIR}/hid_{service,connection}_fido.{cc,h} ${CHROMESRC}/services/device/hid
|
|
|
|
@cp ${FILESDIR}/sndio_{out,in}put.{cc,h} ${CHROMESRC}/media/audio/sndio
|
|
|
|
@cp ${FILESDIR}/audio_manager_openbsd.{cc,h} ${CHROMESRC}/media/audio/openbsd
|
|
|
|
@cp ${FILESDIR}/openbsd.pri ${WRKDIST}/src/buildtools/config/openbsd.pri
|
|
|
|
@cp ${FILESDIR}/openbsd.pri ${WRKDIST}/src/core/config/openbsd.pri
|
|
|
|
@mkdir -p ${CHROMESRC}/third_party/node/openbsd/node-openbsd/bin
|
|
|
|
@ln -sf ${TRUEPREFIX}/bin/node ${CHROMESRC}/third_party/node/openbsd/node-openbsd/bin/node
|
|
|
|
# Rerun syncqt.pl -- otherwise the resulting package misses some forwarding headers
|
|
|
|
@cd ${WRKSRC} && /usr/local/lib/qt5/bin/syncqt.pl -version ${QT5_VERSION}
|
|
|
|
# Regenerate build and perlasm files (force json to not overwrite our local gn patches)
|
|
|
|
@cd ${CHROMESRC}/third_party/boringssl && ${MODPY_BIN} src/util/generate_build_files.py json
|
|
|
|
@cd ${WRKSRC} && env -i ${MAKE_ENV} ${CHROMESRC}/build/linux/unbundle/replace_gn_files.py \
|
|
|
|
--system-libraries ${GN_SYSTEM_LIBS}
|
|
|
|
|
|
|
|
pre-build:
|
|
|
|
${SUBST_CMD} ${CHROMESRC}/build/gn_run_binary.py \
|
2023-09-17 04:05:06 +00:00
|
|
|
${WRKSRC}/src/3rdparty/chromium/third_party/pdfium/core/fxge/fx_ge_linux.cpp \
|
2023-08-16 22:26:55 +00:00
|
|
|
${CHROMESRC}/v8/tools/run.py \
|
|
|
|
${CHROMESRC}/tools/protoc_wrapper/protoc_wrapper.py
|
|
|
|
|
|
|
|
.include <bsd.port.mk>
|