SSL_CIPHER and SSL_CTX will become opaque in libssl. Add the two accessors SSL_CTX_get_cert_store() and SSL_CIPHER_get_bits() to the qsslsocket symbol wrangling and use them inside the code similar to what was done in wkhtmltopdf. This adds two symbols to QtNetwork, so bump its minor and those of the two remaining dependent libraries. no response from maintainer
285 lines
7.3 KiB
Makefile
285 lines
7.3 KiB
Makefile
# $OpenBSD: Makefile,v 1.166 2021/05/10 15:02:29 tb Exp $
|
|
|
|
ONLY_FOR_ARCHS = ${GCC4_ARCHS} ${CLANG_ARCHS}
|
|
BROKEN-arm = invalid instruction, vmov.u32 r2, r3, s8, s9, related to FELightingNEON.cpp
|
|
|
|
USE_GMAKE = Yes
|
|
COMMENT-debug = C++ GUI toolkit, debug
|
|
COMMENT-main = C++ X11 GUI toolkit
|
|
COMMENT-examples = examples for qt4
|
|
COMMENT-html = off-line html documentation for qt4
|
|
COMMENT-postgresql = PostgresSQL plugin for qt4
|
|
COMMENT-mysql = MySQL plugin for qt4
|
|
COMMENT-sqlite2 = sqlite2 plugin for qt4
|
|
COMMENT-tds = tds plugin for qt4
|
|
|
|
PKGNAME = qt4-${PKGVERSION}
|
|
PKGNAME-mysql = qt4-mysql-${PKGVERSION}
|
|
PKGNAME-postgresql = qt4-postgresql-${PKGVERSION}
|
|
PKGNAME-examples = qt4-examples-${PKGVERSION}
|
|
PKGNAME-sqlite2 = qt4-sqlite2-${PKGVERSION}
|
|
PKGNAME-tds = qt4-tds-${PKGVERSION}
|
|
PKGNAME-main = qt4-${PKGVERSION}
|
|
PKGNAME-debug = qt4-debug-${PKGVERSION}
|
|
FULLPKGNAME-html = qt4-html-${PKGVERSION}
|
|
FULLPKGPATH-html = ${BASE_PKGPATH},-html
|
|
REVISION-main = 25
|
|
REVISION-mysql = 8
|
|
REVISION-postgresql = 7
|
|
REVISION-sqlite2 = 7
|
|
REVISION-tds = 7
|
|
REVISION-debug = 6
|
|
REVISION-examples = 11
|
|
REVISION-html = 4
|
|
|
|
# XXX qmake include parser is bogus
|
|
DPB_PROPERTIES = parallel nojunk
|
|
|
|
SHARED_LIBS = Qt3Support 10.1 \
|
|
QtCore 10.0 \
|
|
QtDesigner 8.0 \
|
|
QtDesignerComponents 8.0 \
|
|
QtGui 11.0 \
|
|
QtNetwork 12.1 \
|
|
QtSql 9.0 \
|
|
QtXml 9.0 \
|
|
QtSvg 8.0 \
|
|
QtTest 9.0 \
|
|
QtDBus 4.0 \
|
|
QtScript 3.0 \
|
|
QtCLucene 2.0 \
|
|
QtHelp 3.1 \
|
|
QtScriptTools 1.0
|
|
|
|
VERSION = 4.8.7
|
|
PKGVERSION = 4.8.7
|
|
DISTNAME = qt-everywhere-opensource-src-${VERSION}
|
|
|
|
CATEGORIES = x11
|
|
MASTER_SITES = https://download.qt.io/archive/qt/4.8/${VERSION}/
|
|
|
|
HOMEPAGE = https://www.qt.io/
|
|
|
|
MAINTAINER = Marc Espie <espie@openbsd.org>
|
|
|
|
FLAVORS = debug
|
|
FLAVOR ?=
|
|
|
|
# GPLv3, or LGPL.
|
|
# (GPLv2 not needed, since LGPL is more free)
|
|
PERMIT_PACKAGE = Yes
|
|
|
|
MAKE_ENV = QTDIR="${WRKDIST}" EXTRA_SAMPLES="${EXTRA_SAMPLES}" \
|
|
SYS_CXX="${CXX}" SYS_CXXFLAGS="${CXXFLAGS}" \
|
|
LD_LIBRARY_PATH="${WRKDIST}/lib"
|
|
|
|
COMPILER = base-clang ports-gcc base-gcc
|
|
|
|
# For qsettings to write its setup
|
|
PORTHOME = ${WRKDIST}
|
|
|
|
CONFIGURE_STYLE = simple
|
|
SEPARATE_BUILD = Yes
|
|
CONFIGURE_ARGS = -system-libpng -system-libjpeg -system-zlib \
|
|
-sm -system-sqlite \
|
|
-v -stl -xrender -fast \
|
|
-no-sql-odbc \
|
|
-xinput \
|
|
-xinerama \
|
|
-iconv \
|
|
-cups \
|
|
-confirm-license \
|
|
-opensource \
|
|
-I${X11BASE}/include/freetype2 \
|
|
-I${X11BASE}/include \
|
|
-L${WRKBUILD}/lib \
|
|
-L${X11BASE}/lib
|
|
|
|
CONFIGURE_ARGS += -prefix ${QT_BASEDIR}
|
|
CONFIGURE_ARGS += -libdir ${QT_BASEDIR}
|
|
CONFIGURE_ARGS += -bindir ${QT_BINDIR}
|
|
CONFIGURE_ARGS += -headerdir ${QT_INCDIR}
|
|
CONFIGURE_ARGS += -docdir ${QT_DOC}
|
|
CONFIGURE_ARGS += -plugindir ${QT_PLUGINSDIR}
|
|
CONFIGURE_ARGS += -datadir ${QT_BASEDIR}
|
|
CONFIGURE_ARGS += -sysconfdir ${SYSCONFDIR}
|
|
CONFIGURE_ARGS += -examplesdir ${QT_BASEDIR}/examples
|
|
CONFIGURE_ARGS += -demosdir ${QT_BASEDIR}/demos
|
|
CONFIGURE_ARGS += -no-separate-debug-info
|
|
|
|
CONFIGURE_ARGS += -I${LOCALBASE}/include/mysql -L${LOCALBASE}/lib/mysql \
|
|
-plugin-sql-mysql
|
|
CONFIGURE_ARGS += -I${LOCALBASE}/include/postgresql \
|
|
-I${LOCALBASE}/include/postgresql/server \
|
|
-plugin-sql-psql
|
|
|
|
CONFIGURE_ARGS += -no-multimedia \
|
|
-no-webkit \
|
|
-no-phonon \
|
|
-no-opengl \
|
|
-no-xmlpatterns \
|
|
-no-declarative
|
|
|
|
# XXX make sure those libraries gets written to libQtGui.la
|
|
QMAKE_LIBS_GUI = freetype SM ICE Xi Xrender Xinerama fontconfig Xext X11
|
|
|
|
CONFIGURE_ENV = LOCALBASE=${LOCALBASE} QTDIR="${WRKSRC}" \
|
|
X11BASE=${X11BASE} QMAKE_LIBS_GUI="${QMAKE_LIBS_GUI:C/^/-l/}"
|
|
.if defined(MAKE_JOBS)
|
|
CONFIGURE_ENV += BOOTSTRAP_MAKE_FLAGS='-j${MAKE_JOBS}'
|
|
.endif
|
|
|
|
BUILD_DEPENDS += x11/dbus
|
|
BUILD_DEPENDS += x11/gtk+2
|
|
BUILD_DEPENDS += databases/postgresql,-server
|
|
|
|
# configure checks for cups support; no LIB/RUN_DEPENDS because libcups
|
|
# is only dlopen()ed if found
|
|
BUILD_DEPENDS += print/cups,-libs
|
|
|
|
MULTI_PACKAGES = -main -examples \
|
|
-html -mysql -postgresql -sqlite2 -tds
|
|
|
|
.if ${FLAVOR:Mdebug}
|
|
CONFIGURE_ARGS += -debug
|
|
MULTI_PACKAGES += -debug
|
|
.else
|
|
CONFIGURE_ARGS +=-release
|
|
.endif
|
|
|
|
LIB_DEPENDS =
|
|
WANTLIB =
|
|
RUN_DEPENDS =
|
|
|
|
commonWANTLIB = c pthread m ${COMPILER_LIBCXX}
|
|
|
|
sqlWANTLIB = m lib/qt4/QtCore>=4 QtSql ${COMPILER_LIBCXX} pthread
|
|
|
|
LIB_DEPENDS-main = ${LIB_DEPENDS} \
|
|
databases/sqlite3 \
|
|
devel/glib2 \
|
|
graphics/jpeg \
|
|
graphics/libmng \
|
|
graphics/png
|
|
WANTLIB-main = ${commonWANTLIB} iconv intl jpeg mng \
|
|
lcms tiff gobject-2.0 \
|
|
gobject-2.0 \
|
|
glib-2.0 gthread-2.0 \
|
|
ICE SM X11>=10 Xext Xi Xinerama \
|
|
Xrender fontconfig freetype png>=2 z \
|
|
sqlite3
|
|
# QtNetwork dlopen()s ssl libs.
|
|
WANTLIB-main += ssl crypto
|
|
|
|
# dlopen'd icui18n in src/corelib/tools/qlocale_icu.cpp
|
|
RUN_DEPENDS-main += textproc/icu4c
|
|
|
|
LIB_DEPENDS-mysql = ${BUILD_PKGPATH} \
|
|
databases/mariadb
|
|
WANTLIB-mysql = ${sqlWANTLIB} mariadb
|
|
|
|
|
|
LIB_DEPENDS-postgresql =${BUILD_PKGPATH} \
|
|
databases/postgresql
|
|
WANTLIB-postgresql = ${sqlWANTLIB} pq
|
|
|
|
|
|
LIB_DEPENDS-sqlite2 = ${BUILD_PKGPATH} \
|
|
databases/sqlite
|
|
WANTLIB-sqlite2 = ${sqlWANTLIB} sqlite
|
|
|
|
|
|
LIB_DEPENDS-tds = ${BUILD_PKGPATH} \
|
|
databases/freetds
|
|
WANTLIB-tds = ${sqlWANTLIB} sybdb
|
|
|
|
LIB_DEPENDS-examples = ${BUILD_PKGPATH}
|
|
WANTLIB-examples = ${commonWANTLIB} lib/qt4/QtDesigner \
|
|
lib/qt4/QtCore lib/qt4/QtGui lib/qt4/QtNetwork \
|
|
lib/qt4/QtSql lib/qt4/QtXml \
|
|
lib/qt4/QtSvg lib/qt4/QtTest \
|
|
lib/qt4/QtDBus lib/qt4/QtHelp \
|
|
lib/qt4/QtScript lib/qt4/QtScriptTools \
|
|
ICE SM X11 Xext Xi Xinerama Xrender fontconfig \
|
|
freetype
|
|
|
|
LIB_DEPENDS-html =
|
|
WANTLIB-html =
|
|
RUN_DEPENDS-html =
|
|
PKG_ARCH-html = *
|
|
|
|
QT_BASEDIR = ${PREFIX}/lib/qt4
|
|
QT_INCDIR = ${PREFIX}/include/X11/qt4
|
|
QT_EXAMPLES = ${QT_BASEDIR}/examples
|
|
QT_DOC = ${PREFIX}/share/doc/qt4
|
|
QT_PLUGINSDIR = ${QT_BASEDIR}/plugins
|
|
QT_BINDIR = ${QT_BASEDIR}/bin
|
|
QT_PKGCFGDIR = ${QT_BASEDIR}/pkgconfig
|
|
|
|
DOCS = README
|
|
|
|
NO_TEST = Yes
|
|
|
|
PROGRAMS4 = assistant designer findtr lconvert linguist \
|
|
lrelease lupdate moc qmake qtconfig uic uic3
|
|
PROGRAMS += pixeltool qdbus qt3to4 qtdemo rcc syncqt
|
|
|
|
|
|
QMAKE = ${WRKBUILD}/bin/qmake
|
|
|
|
MAKE_FLAGS += INSTALL_PROGRAM='${INSTALL_PROGRAM}' \
|
|
INSTALL_FILE='${INSTALL_DATA}'
|
|
.for l v in $(SHARED_LIBS)
|
|
MAKE_FLAGS += LIB$l_VERSION=$v
|
|
.endfor
|
|
|
|
DESTDIRNAME = INSTALL_ROOT
|
|
|
|
.include <bsd.port.arch.mk>
|
|
.if ${PROPERTIES:Mclang}
|
|
CONFIGURE_ARGS += -platform openbsd-clang
|
|
.else
|
|
CONFIGURE_ARGS += -platform openbsd-g++4
|
|
# Using gcc 4.9 default standard with gcc>=6.
|
|
CXXFLAGS += -std=gnu++98
|
|
.endif
|
|
|
|
pre-patch:
|
|
cd ${WRKDIST} && cp -R mkspecs/openbsd-g++ mkspecs/openbsd-g++4
|
|
cd ${WRKDIST} && cp -R mkspecs/openbsd-g++ mkspecs/openbsd-clang
|
|
|
|
post-build:
|
|
.for l v in ${SHARED_LIBS}
|
|
-${SUBST_CMD} ${WRKBUILD}/lib/lib$l.la
|
|
.endfor
|
|
|
|
post-install:
|
|
# extra doc
|
|
cd ${WRKSRC}; ${INSTALL_DATA} ${DOCS} ${QT_DOC}
|
|
# programs
|
|
${INSTALL_PROGRAM_DIR} ${QT_BINDIR}
|
|
${INSTALL_SCRIPT} ${WRKSRC}/bin/{findtr,syncqt} ${QT_BINDIR}
|
|
${INSTALL_PROGRAM} ${WRKBUILD}/bin/qdoc3 ${QT_BINDIR}
|
|
.for p in ${PROGRAMS4}
|
|
@ln -sf ${TRUEPREFIX}/lib/qt4/bin/$p ${PREFIX}/bin/$p4
|
|
.endfor
|
|
@ln -sf assistant ${PREFIX}/lib/qt4/bin/assistant4
|
|
.for p in ${PROGRAMS}
|
|
@ln -sf ${TRUEPREFIX}/lib/qt4/bin/$p ${PREFIX}/bin/$p
|
|
.endfor
|
|
# fix pkgconfig stuff
|
|
@for i in ${QT_PKGCFGDIR}/*.pc; do \
|
|
perl -pi.bak -e 's,-L${WRKBUILD}/lib,,g;' $$i; \
|
|
rm $$i.bak; \
|
|
done
|
|
# this helps qdbuscpp2xml
|
|
cd ${QT_BINDIR} && ln -sf moc moc4
|
|
.for l v in ${SHARED_LIBS}
|
|
-test -f ${PREFIX}/lib/qt4/lib$l.so.$v && \
|
|
ln -sf qt4/lib$l.so.$v ${PREFIX}/lib
|
|
.endfor
|
|
# cleanup
|
|
cd ${PREFIX}/lib/qt4 && ln -sf ../../include/X11/qt4 include
|
|
|
|
.include <bsd.port.mk>
|