337 lines
10 KiB
Makefile
337 lines
10 KiB
Makefile
# $OpenBSD: Makefile,v 1.86 2008/05/31 15:54:38 naddy Exp $
|
|
# $FreeBSD: Makefile,v 1.33 1999/02/27 03:09:57 andreas Exp $
|
|
|
|
COMMENT-main= C++ X11 GUI toolkit
|
|
COMMENT-examples= examples and tutorial for qt3
|
|
COMMENT-html= off-line html documentation for qt3
|
|
COMMENT-postgresql= PostgresSQL plugin for qt3
|
|
COMMENT-mysql= MySQL plugin for qt3
|
|
COMMENT-sqlite2= sqlite2 plugin for qt3
|
|
|
|
PKGNAME= qt3-${VERSION}
|
|
PKGNAME-mysql= qt3-mysql-${VERSION}p0
|
|
PKGNAME-postgresql= qt3-postgresql-${VERSION}p0
|
|
PKGNAME-examples= qt3-examples-${VERSION}
|
|
PKGNAME-main= qt3-mt-${VERSION}p1
|
|
FULLPKGNAME-html= qt3-html-${VERSION}
|
|
PKGNAME-sqlite2= qt3-sqlite2-${VERSION}p0
|
|
SHARED_LIBS= qt-mt 32.0 \
|
|
qui 2.0 \
|
|
qui-mt 2.0
|
|
|
|
# note that qui-mt is a `false' library, just a link to qui.
|
|
|
|
# XXX be sure to update the qt3.port.mk version after a qt bump.
|
|
QT_PLUGINS= plugins-${LIBqt-mt_VERSION:R}
|
|
|
|
|
|
VERSION= 3.8
|
|
DISTNAME= qt-x11-free-3.${VERSION}
|
|
CATEGORIES= x11
|
|
MASTER_SITES= ftp://ftp.troll.no/qt/source/
|
|
|
|
# Old official site
|
|
#MASTER_SITES0= http://freedesktop.org/~daisuke/
|
|
MASTER_SITES0= ftp://gd.tuwien.ac.at/opsys/linux/gentoo/distfiles/
|
|
|
|
|
|
PATCHFILES= qt-x11-immodule-unified-qt3.3.8-20070321-gentoo.diff.bz2:0
|
|
PATCH_DIST_STRIP= -p1
|
|
|
|
pre-configure:
|
|
cd ${WRKDIST} && /bin/sh ./make-symlinks.sh
|
|
|
|
HOMEPAGE= http://www.trolltech.com/qt/
|
|
|
|
MAINTAINER= Marc Espie <espie@openbsd.org>
|
|
|
|
FLAVORS=debug
|
|
|
|
PSEUDO_FLAVORS= no_mysql no_postgresql no_sqlite2 no_examples
|
|
FLAVOR?=
|
|
|
|
# GPL/QPL
|
|
PERMIT_PACKAGE_CDROM= Yes
|
|
PERMIT_PACKAGE_FTP= Yes
|
|
PERMIT_DISTFILES_CDROM= Yes
|
|
PERMIT_DISTFILES_FTP= Yes
|
|
|
|
USE_X11= Yes
|
|
MAKE_ENV= QTDIR="${WRKDIST}" EXTRA_SAMPLES="${EXTRA_SAMPLES}" \
|
|
SYS_CXX="${CXX}" SYS_CXXFLAGS="${CXXFLAGS}" \
|
|
LD_LIBRARY_PATH="${WRKDIST}/lib"
|
|
|
|
# For qsettings to write its setup
|
|
PORTHOME= ${WRKDIST}
|
|
|
|
MAKE_FLAGS= DESIGNER_SUBDIR=dummy \
|
|
LIBqt-mt_VERSION=$(LIBqt-mt_VERSION) \
|
|
LIBqui_VERSION=$(LIBqui_VERSION)
|
|
|
|
CONFIGURE_STYLE= simple
|
|
CONFIGURE_ARGS= -qt-gif -system-libmng -system-libpng -system-libjpeg -system-zlib \
|
|
-qt-imgfmt-mng -qt-imgfmt-png -qt-imgfmt-jpeg -sm -no-g++-exceptions \
|
|
-v -stl -xrender -xft -fast \
|
|
-no-sql-odbc \
|
|
-tablet \
|
|
-xinerama \
|
|
-cups \
|
|
-inputmethod \
|
|
-I${LOCALBASE}/include/libpng \
|
|
-I${X11BASE}/include/freetype2 \
|
|
-I${LOCALBASE}/include \
|
|
-L${WRKSRC}/lib \
|
|
-L${LOCALBASE}/lib
|
|
|
|
MULTI_PACKAGES+=-main -html
|
|
|
|
.if ${FLAVOR:L:Mdebug}
|
|
CONFIGURE_ARGS+=-debug
|
|
PKGDEBUG=-debug
|
|
.else
|
|
PKGDEBUG=
|
|
.endif
|
|
|
|
CONFIGURE_ARGS+=-thread
|
|
|
|
|
|
.if !${FLAVOR:L:Mdebug} && !${FLAVOR:L:Mno_examples}
|
|
MULTI_PACKAGES+= -examples
|
|
.else
|
|
ALL_TARGET=sub-src sub-tools
|
|
.endif
|
|
|
|
# This is needed to find plugins
|
|
CONFIGURE_ARGS+= -prefix ${QT_LIBDIR}
|
|
CONFIGURE_ARGS+= -plugindir ${QT_PLUGINSDIR}
|
|
|
|
CONFIGURE_ENV= QTDIR="${WRKSRC}"
|
|
|
|
LIB_DEPENDS=
|
|
BUILD_DEPENDS=::print/cups
|
|
|
|
.if !empty(FLAVOR:L:Mno_mysql)
|
|
CONFIGURE_ARGS+=-no-sql-mysql
|
|
.else
|
|
MULTI_PACKAGES+= -mysql
|
|
CONFIGURE_ARGS+= -I${LOCALBASE}/include/mysql -L${LOCALBASE}/lib/mysql \
|
|
-plugin-sql-mysql
|
|
.endif
|
|
|
|
|
|
.if !empty(FLAVOR:L:Mno_postgresql)
|
|
CONFIGURE_ARGS+=-no-sql-psql
|
|
.else
|
|
MULTI_PACKAGES+= -postgresql
|
|
BUILD_DEPENDS+=::databases/postgresql,-server
|
|
CONFIGURE_ARGS+= -I${LOCALBASE}/include/postgresql \
|
|
-I${LOCALBASE}/include/postgresql/server \
|
|
-L${LOCALBASE}/lib \
|
|
-I${LOCALBASE}/include -plugin-sql-psql
|
|
.endif
|
|
.if !empty(FLAVOR:L:Mno_sqlite2)
|
|
CONFIGURE_ARGS+=-no-sql-sqlite
|
|
.else
|
|
MULTI_PACKAGES+= -sqlite2
|
|
CONFIGURE_ARGS+= -plugin-sql-sqlite
|
|
.endif
|
|
|
|
|
|
LIB_DEPENDS= png.>=2::graphics/png \
|
|
mng.>=1::graphics/libmng
|
|
WANTLIB= GL GLU ICE SM X11.>=10 Xcursor Xext Xft Xi Xinerama \
|
|
Xmu \
|
|
Xrandr Xrender fontconfig freetype jpeg lcms m z
|
|
|
|
|
|
WANTLIB-main= ${WANTLIB} pthread stdc++ c
|
|
|
|
|
|
LIB_DEPENDS-mysql= ${LIB_DEPENDS} \
|
|
qt-mt.>=3::${BUILD_PKGPATH} \
|
|
mysqlclient::databases/mysql
|
|
|
|
|
|
LIB_DEPENDS-postgresql= ${LIB_DEPENDS} \
|
|
qt-mt.>=3::${BUILD_PKGPATH} \
|
|
pq.>=2:postgresql-client-*:databases/postgresql
|
|
|
|
LIB_DEPENDS-sqlite2= ${LIB_DEPENDS} \
|
|
qt-mt.>=3::${BUILD_PKGPATH} \
|
|
sqlite::databases/sqlite
|
|
|
|
LIB_DEPENDS-examples= ${LIB_DEPENDS} \
|
|
qt-mt.>=3::${BUILD_PKGPATH}
|
|
WANTLIB-examples= ${WANTLIB} pthread stdc++ c
|
|
|
|
|
|
LIB_DEPENDS-html=
|
|
WANTLIB-html=
|
|
PKG_ARCH-html= *
|
|
|
|
|
|
QT_INCDIR= ${PREFIX}/include/X11/qt3
|
|
TRUEDIR= ${TRUEPREFIX}/lib/qt3
|
|
QT_LIBDIR= ${PREFIX}/lib/qt3
|
|
QT_MANDIR= ${QT_LIBDIR}/man
|
|
QT_EXAMPLES= ${QT_LIBDIR}/examples
|
|
QT_TUTORIAL= ${QT_LIBDIR}/tutorial
|
|
QT_DOC= ${PREFIX}/share/doc/qt3
|
|
QT_PLUGINSDIR= ${QT_LIBDIR}/${QT_PLUGINS}
|
|
QT_BINDIR= ${QT_LIBDIR}/bin
|
|
|
|
# for manpages in MESSAGE
|
|
SUBST_VARS= QT_LIBDIR QT_DOC QT_PLUGINS
|
|
|
|
DOCS= FAQ LICENSE.GPL README README-QT.TXT \
|
|
changes-3* \
|
|
README.immodule changes.immodule
|
|
|
|
VMEM_WARNING= Yes
|
|
NO_REGRESS= Yes
|
|
|
|
PROGRAMS3=designer findtr moc qt20fix qtrename140 uic
|
|
PROGRAMS=assistant linguist lrelease lupdate qm2ts qmake qtconfig
|
|
|
|
post-configure:
|
|
perl -pi.bak -e 's,-L(\Q${WRKDIST}\E|\Q$$(LOCALBASE)\E)/lib,,' ${WRKDIST}/lib/qt-mt.pc
|
|
.if !${FLAVOR:L:Mdebug}
|
|
@cd ${WRKSRC} && cp -R examples examples-src
|
|
@find ${WRKSRC}/examples-src -name '*.orig' |xargs rm -f
|
|
@find ${WRKSRC}/examples-src -name '.moc' |xargs rm -rf
|
|
@find ${WRKSRC}/examples-src -name '.obj' |xargs rm -rf
|
|
@cd ${WRKSRC} && cp -R tutorial tutorial-src
|
|
@find ${WRKSRC}/tutorial-src -name '*.orig' |xargs rm -f
|
|
@find ${WRKSRC}/tutorial-src -name '.moc' |xargs rm -rf
|
|
@find ${WRKSRC}/tutorial-src -name '.obj' |xargs rm -rf
|
|
|
|
pre-install:
|
|
${INSTALL_DATA_DIR} ${QT_EXAMPLES}
|
|
${INSTALL_DATA_DIR} ${QT_TUTORIAL}
|
|
# examples
|
|
cp -R ${WRKSRC}/examples-src/* ${QT_EXAMPLES}
|
|
@cd ${WRKSRC}/examples; for i in *; do \
|
|
if [ -x $$i/$$i ]; then \
|
|
${INSTALL_PROGRAM} $$i/$$i ${QT_EXAMPLES}/$$i; \
|
|
fi; done
|
|
@if [ -x ${WRKSRC}/examples/overlay_x11/overlayrubber ]; then \
|
|
${INSTALL_PROGRAM} ${WRKSRC}/examples/overlay_x11/overlayrubber \
|
|
${QT_EXAMPLES}/overlay_x11/overlayrubber; \
|
|
fi
|
|
cp -R ${WRKSRC}/tutorial-src/* ${QT_TUTORIAL}
|
|
@cd ${WRKSRC}/tutorial; for i in *; do \
|
|
if [ -x $$i/$$i ]; then \
|
|
${INSTALL_PROGRAM} $$i/$$i ${QT_TUTORIAL}/$$i; \
|
|
fi; done
|
|
.else
|
|
|
|
post-patch:
|
|
@rm -rf ${WRKSRC}/examples
|
|
@rm -rf ${WRKSRC}/tutorial
|
|
|
|
.endif
|
|
|
|
do-install:
|
|
${INSTALL_DATA_DIR} ${PREFIX}/lib/pkgconfig
|
|
${INSTALL_DATA} ${WRKDIST}/lib/qt-mt.pc ${PREFIX}/lib/pkgconfig
|
|
${INSTALL_DATA_DIR} ${QT_INCDIR}
|
|
${INSTALL_MAN_DIR} ${QT_MANDIR}/man1
|
|
${INSTALL_MAN_DIR} ${QT_MANDIR}/man3
|
|
${INSTALL_DATA_DIR} ${QT_DOC}/html
|
|
# includes
|
|
${INSTALL_DATA_DIR} ${QT_INCDIR}/private
|
|
${INSTALL_DATA} ${WRKSRC}/include/*.h ${QT_INCDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/include/private/*.h ${QT_INCDIR}/private
|
|
${INSTALL_DATA_DIR} ${QT_BINDIR} ${QT_PLUGINSDIR}
|
|
# documentation
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/man1/lrelease.1 ${QT_MANDIR}/man1
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/man1/lupdate.1 ${QT_MANDIR}/man1
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/man1/moc.1 ${QT_MANDIR}/man1/moc3.1
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/man1/uic.1 ${QT_MANDIR}/man1/uic3.1
|
|
${INSTALL_MAN} ${WRKSRC}/tools/linguist/qm2ts/qm2ts.1 ${QT_MANDIR}/man1
|
|
@for i in ${WRKSRC}/doc/man/man3/*; do \
|
|
j=$${i%qt}; \
|
|
sed -e 's,\.3qt,\.3,g' <$$i >$$j && \
|
|
${INSTALL_MAN} $$j ${QT_MANDIR}/man3; \
|
|
done
|
|
cd ${WRKSRC}; ${INSTALL_DATA} ${DOCS} ${QT_DOC}
|
|
cp -R ${WRKSRC}/doc/html/* ${QT_DOC}/html
|
|
cp -R ${WRKSRC}/mkspecs ${QT_LIBDIR}/mkspecs
|
|
# libraries
|
|
@if [ -f ${WRKBUILD}/lib/libqt-mt.a ]; then \
|
|
${INSTALL_DATA} ${WRKBUILD}/lib/libqt-mt.a ${PREFIX}/lib/qt3; \
|
|
fi
|
|
@if [ -f ${WRKBUILD}/lib/libqt-mt.so.$(LIBqt-mt_VERSION) ]; then \
|
|
${INSTALL_DATA} ${WRKBUILD}/lib/libqt-mt.so.$(LIBqt-mt_VERSION) ${PREFIX}/lib/qt3; \
|
|
ln -sf qt3/libqt-mt.so.$(LIBqt-mt_VERSION) ${PREFIX}/lib; \
|
|
fi
|
|
@if [ -f ${WRKBUILD}/lib/libqui.a ]; then \
|
|
${INSTALL_DATA} ${WRKBUILD}/lib/libqui.a ${PREFIX}/lib/qt3; \
|
|
fi
|
|
@if [ -f ${WRKBUILD}/lib/libqui.so.$(LIBqui_VERSION) ]; then \
|
|
${INSTALL_DATA} ${WRKBUILD}/lib/libqui.so.$(LIBqui_VERSION) ${PREFIX}/lib/qt3; \
|
|
ln -sf qt3/libqui.so.$(LIBqui_VERSION) ${PREFIX}/lib; \
|
|
fi
|
|
@${INSTALL_DATA} ${WRKBUILD}/lib/libeditor.a ${PREFIX}/lib/qt3
|
|
@${INSTALL_DATA} ${WRKBUILD}/lib/libdesignercore.a ${PREFIX}/lib/qt3
|
|
@${INSTALL_DATA} ${WRKBUILD}/lib/libqassistantclient.a ${PREFIX}/lib/qt3
|
|
.for p in ${PROGRAMS3}
|
|
${INSTALL_PROGRAM} ${WRKBUILD}/bin/$p ${QT_BINDIR}/$p
|
|
@ln -sf ${TRUEPREFIX}/lib/qt3/bin/$p ${PREFIX}/bin/$p3
|
|
.endfor
|
|
.for p in ${PROGRAMS}
|
|
${INSTALL_PROGRAM} ${WRKBUILD}/bin/$p ${QT_BINDIR}/$p
|
|
@ln -sf ${TRUEPREFIX}/lib/qt3/bin/$p ${PREFIX}/bin/$p
|
|
.endfor
|
|
# plugins
|
|
${INSTALL_DATA_DIR} ${QT_PLUGINSDIR}/designer \
|
|
${QT_PLUGINSDIR}/sqldrivers ${QT_PLUGINSDIR}/styles \
|
|
${QT_PLUGINSDIR}/inputmethods
|
|
|
|
.if empty(FLAVOR:L:Mno_postgresql)
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/sqldrivers/libqsqlpsql.so \
|
|
${QT_PLUGINSDIR}/sqldrivers
|
|
.endif
|
|
.if empty(FLAVOR:L:Mno_mysql)
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/sqldrivers/libqsqlmysql.so \
|
|
${QT_PLUGINSDIR}/sqldrivers
|
|
.endif
|
|
.if empty(FLAVOR:L:Mno_sqlite2)
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/sqldrivers/libqsqlite.so \
|
|
${QT_PLUGINSDIR}/sqldrivers
|
|
.endif
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/designer/libwizards.so \
|
|
${QT_PLUGINSDIR}/designer
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/designer/libcppeditor.so \
|
|
${QT_PLUGINSDIR}/designer
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/designer/libdlgplugin.so \
|
|
${QT_PLUGINSDIR}/designer
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/designer/librcplugin.so \
|
|
${QT_PLUGINSDIR}/designer
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/inputmethods/libqimsw-multi.so \
|
|
${QT_PLUGINSDIR}/inputmethods
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/inputmethods/libqimsw-none.so \
|
|
${QT_PLUGINSDIR}/inputmethods
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/inputmethods/libqsimple.so \
|
|
${QT_PLUGINSDIR}/inputmethods
|
|
${INSTALL_DATA} ${WRKBUILD}/plugins/inputmethods/libqxim.so \
|
|
${QT_PLUGINSDIR}/inputmethods
|
|
# compatibility transition
|
|
.for p in ${PROGRAMS}
|
|
cd ${PREFIX}/bin && ln -sf $p $p-mt
|
|
. endfor
|
|
.for p in ${PROGRAMS3}
|
|
cd ${PREFIX}/bin && ln -sf $p3 $p3-mt
|
|
.endfor
|
|
cd ${PREFIX}/lib && ln -sf libqui.so.$(LIBqui_VERSION) libqui-mt.so.$(LIBqui_VERSION)
|
|
cd ${PREFIX}/lib/qt3 && ln -sf libqui.so.$(LIBqui_VERSION) libqui-mt.so.$(LIBqui_VERSION)
|
|
# links for qtdir
|
|
cd ${PREFIX}/lib/qt3 && ln -sf . lib
|
|
cd ${PREFIX}/lib/qt3 && ln -sf ../../include/X11/qt3 include
|
|
# fix for qmake
|
|
sed -e s,${WRKDIST},${PREFIX}/lib/qt3, <${WRKBUILD}/.qmake.cache >${WRKBUILD}/mogrified.cache
|
|
${INSTALL_DATA} ${WRKBUILD}/mogrified.cache ${PREFIX}/lib/qt3/.qmake.cache
|
|
cd ${PREFIX}/lib/qt3 && ln -sf ../../share/doc/qt3 doc
|
|
|
|
.include <bsd.port.mk>
|