From b1ab77137ae2195c99daac676e346c988cdcd866 Mon Sep 17 00:00:00 2001 From: Mikhail Teterin Date: Fri, 5 Sep 2003 19:21:30 +0000 Subject: This is first step in an attempt to break the Qt port into pieces. This port installs qmake, which is only needed to build Qt -- not to use it. It should also help futute work on the Qt port, by not requiring the developer to recompile qmake as frequently as at present. This port uses Qt-3.2.1, which is not committed yet. Discussed with: kde@ --- devel/qmake/Makefile | 65 +++++++++++++++ devel/qmake/distinfo | 1 + devel/qmake/files/Makefile.bsd | 43 ++++++++++ devel/qmake/files/qconfig.cpp | 15 ++++ devel/qmake/pkg-descr | 8 ++ devel/qmake/pkg-plist | 180 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 312 insertions(+) create mode 100644 devel/qmake/Makefile create mode 100644 devel/qmake/distinfo create mode 100644 devel/qmake/files/Makefile.bsd create mode 100644 devel/qmake/files/qconfig.cpp create mode 100644 devel/qmake/pkg-descr create mode 100644 devel/qmake/pkg-plist (limited to 'devel/qmake') diff --git a/devel/qmake/Makefile b/devel/qmake/Makefile new file mode 100644 index 000000000000..c5830926c5a0 --- /dev/null +++ b/devel/qmake/Makefile @@ -0,0 +1,65 @@ +# New ports collection makefile for: qmake +# Date created: 2 September 2003 +# Whom: mi@aldan.algebra.com +# +# $FreeBSD$ +# + +PORTNAME= qmake +PORTVERSION= 3.2.1 +CATEGORIES= devel +MASTER_SITES= ftp://ftp.trolltech.com/qt/source/ \ + ftp://ftp.silug.org/pub/qt/ \ + ftp://ftp.bero.org/pub/qt/ \ + ftp://ftp.planetmirror.com.au/pub/trolltech/qt/ +DISTNAME= qt-x11-free-${PORTVERSION} +DIST_SUBDIR= KDE + +MAINTAINER= mi@aldan.algebra.com +COMMENT= The build utility of the Qt project + +USE_REINPLACE= yes +REINPLACE_ARGS= -i "" +WRKSRC= ${WRKDIR}/${DISTNAME}/qmake +MAKEFILE= ${FILESDIR}/Makefile.bsd +#MAKE_ARGS+= -j2 +PLIST_SUB+= _PREFIX="${PREFIX}" +MAKE_ENV+= FILESDIR="${FILESDIR}" + +USE_BZIP2= yes + +EXTRACT_AFTER_ARGS=| ${TAR} -xf - \ + '${DISTNAME}/mkspecs' \ + '${DISTNAME}/src/*/*.h' '${DISTNAME}/qmake' \ + '${DISTNAME}/src/tools' + +.if !defined(NOPORTDOCS) +EXTRACT_AFTER_ARGS+='${DISTNAME}/doc/html/qmake*' +DOCSDIR=${PREFIX}/share/doc/qt +PLIST_SUB+= DOCSDIR='${DOCSDIR}' +post-install: + ${MKDIR} '${DOCSDIR}' + ${CP} -Rp '${WRKSRC:H}/doc/html' '${DOCSDIR}' +.endif + +post-patch: + @${RM} -fr ${WRKSRC}/examples ${WRKSRC}/tutorial + @${REINPLACE_CMD} -e 's,-O2,${CXXFLAGS},' \ + -e 's,gcc,${CC},' \ + -e 's,g++,${CXX},' \ + -e 's,/usr/local,${LOCALBASE},' \ + -e 's,/usr/X11R6,${X11BASE},' \ + -e 's,release,release thread,' \ + -e 's,-pthread,,g' \ + ${WRKSRC}/../mkspecs/freebsd-g++/qmake.conf + @${REINPLACE_CMD} -e 's,@QMAKE_QTOBJS@,,g' ${WRKSRC}/Makefile.unix + +do-configure: + ${SED} -e 's|/usr/local|${PREFIX}|g' \ + < ${FILESDIR}/qconfig.cpp \ + > ${WRKSRC:H}/src/tools/qconfig.cpp + ${ECHO} '/* empty */' > ${WRKSRC}/qconfig.h + ${LN} ${WRKSRC}/qconfig.h ${WRKSRC}/qmodules.h + ${LN} -s . ${WRKDIR}/${DISTNAME}/src/tools/private + +.include diff --git a/devel/qmake/distinfo b/devel/qmake/distinfo new file mode 100644 index 000000000000..e2cdecd987cc --- /dev/null +++ b/devel/qmake/distinfo @@ -0,0 +1 @@ +MD5 (KDE/qt-x11-free-3.2.1.tar.bz2) = 9ae022ffe7603ec34aba150f6cca257a diff --git a/devel/qmake/files/Makefile.bsd b/devel/qmake/files/Makefile.bsd new file mode 100644 index 000000000000..30c96ae66b1c --- /dev/null +++ b/devel/qmake/files/Makefile.bsd @@ -0,0 +1,43 @@ +# $FreeBSD$ + +_OBJS!= ${MAKE} -f Makefile.unix -V OBJS -V QOBJS +# We'd like to avoid using qconfig.cpp, but can't -- see the comment +# next to -DHAVE_CONFIG_CPP below: +#_OBJS:= ${_OBJS:S/qconfig.o//} +SRCS:= ${_OBJS:.o=.cpp} +NOMAN= true # qmake.1 anyone? + +.PATH: ${.CURDIR} ${.CURDIR:H}/src/tools +CXXFLAGS+=-I${.CURDIR:H}/mkspecs/freebsd-g++ + +.for s in tools kernel codecs +CXXFLAGS+=-I${.CURDIR:H}/src/$s +.endfor + +.for g in /. /unix /win32 /mac +.PATH: ${.CURDIR}/generators$g +CXXFLAGS+=-I${.CURDIR}/generators$g +.endfor + +CXXFLAGS+=-I. -I"${FILESDIR}" + +CXXFLAGS+=-DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT \ + -DQT_NO_STL -DQT_NO_COMPRESS -DQT_INSTALL_DATA="\"${SHAREDIR}\"" + +# I guess, qconfig.cpp used to be optional, but no longer is -- due to +# bit-rot in Qt sources. So we still have to compile it, but, by not +# adding the following define, we reduce the seemingly needless usage of +# it: +# -DHAVE_QCONFIG_CPP + +PROG_CXX= qmake +BINDIR= ${PREFIX}/bin +SHAREDIR=${PREFIX}/share/qt + +${SHAREDIR}: + mkdir -p "$@" + +beforeinstall: ${SHAREDIR} + cp -Rp ${.CURDIR:H}/mkspecs ${SHAREDIR} + +.include diff --git a/devel/qmake/files/qconfig.cpp b/devel/qmake/files/qconfig.cpp new file mode 100644 index 000000000000..3079f2acd576 --- /dev/null +++ b/devel/qmake/files/qconfig.cpp @@ -0,0 +1,15 @@ +/* + * $FreeBSD$ + * Hand-crafted... + * The default prefix (/ usr / local) is dynamicly replaced + * at configure time. + */ +const char *qInstallPath() { return "/usr/local"; } +const char *qInstallPathDocs() { return "/usr/local/share/doc/qt"; } +const char *qInstallPathHeaders() { return "/usr/local/include"; } +const char *qInstallPathLibs() { return "/usr/local/lib"; } +const char *qInstallPathBins() { return "/usr/local/bin"; } +const char *qInstallPathPlugins() { return "/usr/local/plugins"; } +const char *qInstallPathData() { return "/usr/local/share/qt"; } +const char *qInstallPathTranslations() { return "/usr/local/translations"; } +const char *qInstallPathSysconf() { return "/usr/local/etc"; } diff --git a/devel/qmake/pkg-descr b/devel/qmake/pkg-descr new file mode 100644 index 000000000000..eccbc5d9c1e0 --- /dev/null +++ b/devel/qmake/pkg-descr @@ -0,0 +1,8 @@ +Qt is a C++ toolkit for application development. It lets application +developers target all major operating systems with a single application +source code. + +Qmake is a project and makefile creating utility, that is part of Qt. +For ease of maintainance it is split out into a port of its own. + +WWW: http://www.trolltech.com/products/qt/index.html diff --git a/devel/qmake/pkg-plist b/devel/qmake/pkg-plist new file mode 100644 index 000000000000..4b5378ece2c5 --- /dev/null +++ b/devel/qmake/pkg-plist @@ -0,0 +1,180 @@ +bin/qmake +@comment A bug in pkg_* prevents us from using %D below +@cwd %%_PREFIX%%/share/qt/mkspecs +aix-g++/qmake.conf +aix-g++/qplatformdefs.h +aix-xlc-64/qmake.conf +aix-xlc-64/qplatformdefs.h +aix-xlc/qmake.conf +aix-xlc/qplatformdefs.h +bsdi-g++/qmake.conf +bsdi-g++/qplatformdefs.h +cygwin-g++/qmake.conf +cygwin-g++/qplatformdefs.h +darwin-g++/qmake.conf +darwin-g++/qplatformdefs.h +dgux-g++/qmake.conf +dgux-g++/qplatformdefs.h +freebsd-g++/qmake.conf +freebsd-g++/qplatformdefs.h +hpux-acc-64/qmake.conf +hpux-acc-64/qplatformdefs.h +hpux-acc-o64/qmake.conf +hpux-acc-o64/qplatformdefs.h +hpux-acc/qmake.conf +hpux-acc/qplatformdefs.h +hpux-cc/qmake.conf +hpux-cc/qplatformdefs.h +hpux-g++-64/qmake.conf +hpux-g++-64/qplatformdefs.h +hpux-g++/qmake.conf +hpux-g++/qplatformdefs.h +hpuxi-acc-32/qmake.conf +hpuxi-acc-32/qplatformdefs.h +hpuxi-acc-64/qmake.conf +hpuxi-acc-64/qplatformdefs.h +hurd-g++/qmake.conf +hurd-g++/qplatformdefs.h +irix-cc-64/qmake.conf +irix-cc-64/qplatformdefs.h +irix-cc-o32/qmake.conf +irix-cc-o32/qplatformdefs.h +irix-cc/qmake.conf +irix-cc/qplatformdefs.h +irix-g++/qmake.conf +irix-g++/qplatformdefs.h +linux-cxx/qmake.conf +linux-cxx/qplatformdefs.h +linux-g++/qmake.conf +linux-g++/qplatformdefs.h +linux-icc/qmake.conf +linux-icc/qplatformdefs.h +linux-kcc/qmake.conf +linux-kcc/qplatformdefs.h +linux-kylix/qmake.conf +linux-kylix/qplatformdefs.h +linux-pgcc/qmake.conf +linux-pgcc/qplatformdefs.h +lynxos-g++/qmake.conf +lynxos-g++/qplatformdefs.h +macx-g++/Info.plist.app +macx-g++/qmake.conf +macx-g++/qplatformdefs.h +macx-mwerks/mwerkstmpl.xml +macx-mwerks/qmake.conf +macx-mwerks/qplatformdefs.h +macx-pbuilder/Info.plist.app +macx-pbuilder/qmake.conf +macx-pbuilder/qplatformdefs.h +netbsd-g++/qmake.conf +netbsd-g++/qplatformdefs.h +openbsd-g++/qmake.conf +openbsd-g++/qplatformdefs.h +qnx-g++/qmake.conf +qnx-g++/qplatformdefs.h +reliant-cds-64/qmake.conf +reliant-cds-64/qplatformdefs.h +reliant-cds/qmake.conf +reliant-cds/qplatformdefs.h +sco-cc/qmake.conf +sco-cc/qplatformdefs.h +sco-g++/qmake.conf +sco-g++/qplatformdefs.h +solaris-cc-64/qmake.conf +solaris-cc-64/qplatformdefs.h +solaris-cc/qmake.conf +solaris-cc/qplatformdefs.h +solaris-g++-64/qmake.conf +solaris-g++-64/qplatformdefs.h +solaris-g++/qmake.conf +solaris-g++/qplatformdefs.h +tru64-cxx/qmake.conf +tru64-cxx/qplatformdefs.h +tru64-g++/qmake.conf +tru64-g++/qplatformdefs.h +unixware-cc/qmake.conf +unixware-cc/qplatformdefs.h +unixware-g++/qmake.conf +unixware-g++/qplatformdefs.h +win32-borland/qmake.conf +win32-borland/qplatformdefs.h +win32-g++/qmake.conf +win32-g++/qplatformdefs.h +win32-icc/qmake.conf +win32-icc/qplatformdefs.h +win32-icc/win32app.dsp +win32-icc/win32dll.dsp +win32-icc/win32lib.dsp +win32-msvc.net/qmake.conf +win32-msvc.net/qplatformdefs.h +win32-msvc/qmake.conf +win32-msvc/qplatformdefs.h +win32-msvc/win32app.dsp +win32-msvc/win32dll.dsp +win32-msvc/win32lib.dsp +win32-watcom/qmake.conf +@dirrm aix-g++ +@dirrm aix-xlc +@dirrm aix-xlc-64 +@dirrm bsdi-g++ +@dirrm cygwin-g++ +@dirrm darwin-g++ +@dirrm dgux-g++ +@dirrm freebsd-g++ +@dirrm hpux-acc +@dirrm hpux-acc-64 +@dirrm hpux-acc-o64 +@dirrm hpux-cc +@dirrm hpux-g++ +@dirrm hpux-g++-64 +@dirrm hpuxi-acc-32 +@dirrm hpuxi-acc-64 +@dirrm hurd-g++ +@dirrm irix-cc +@dirrm irix-cc-64 +@dirrm irix-cc-o32 +@dirrm irix-g++ +@dirrm linux-cxx +@dirrm linux-g++ +@dirrm linux-icc +@dirrm linux-kcc +@dirrm linux-kylix +@dirrm linux-pgcc +@dirrm lynxos-g++ +@dirrm macx-g++ +@dirrm macx-mwerks +@dirrm macx-pbuilder +@dirrm netbsd-g++ +@dirrm openbsd-g++ +@dirrm qnx-g++ +@dirrm reliant-cds +@dirrm reliant-cds-64 +@dirrm sco-cc +@dirrm sco-g++ +@dirrm solaris-cc +@dirrm solaris-cc-64 +@dirrm solaris-g++ +@dirrm solaris-g++-64 +@dirrm tru64-cxx +@dirrm tru64-g++ +@dirrm unixware-cc +@dirrm unixware-g++ +@dirrm win32-borland +@dirrm win32-g++ +@dirrm win32-icc +@dirrm win32-msvc +@dirrm win32-msvc.net +@dirrm win32-watcom +@unexec rmdir %%_PREFIX%%/share/qt/mkspecs +@unexec rmdir %%_PREFIX%%/share/qt || echo %%_PREFIX%%/share/qt is still in use -- probably by the rest of Qt +%%PORTDOCS%%@cwd %%DOCSDIR%% +%%PORTDOCS%%html/qmake.dcf +%%PORTDOCS%%html/qmake-manual.html +%%PORTDOCS%%html/qmake-manual-1.html +%%PORTDOCS%%html/qmake-manual-2.html +%%PORTDOCS%%html/qmake-manual-3.html +%%PORTDOCS%%html/qmake-manual-4.html +%%PORTDOCS%%html/qmake-manual-5.html +%%PORTDOCS%%html/qmake-manual-6.html +%%PORTDOCS%%html/qmake-manual-7.html +%%PORTDOCS%%@unexec (rmdir %%DOCSDIR%%/html && rmdir %%DOCSDIR%%) || echo %%DOCSDIR%% is still in use -- by other Qt docs? -- cgit v1.2.3