aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authormi <mi@FreeBSD.org>2003-09-06 03:21:30 +0800
committermi <mi@FreeBSD.org>2003-09-06 03:21:30 +0800
commit0fd9c5295e1dbddc3f90fb58e2113a7bfb1b1258 (patch)
treebf6bc58da0ec80df91e80ff5396a8fa1d57cb06e /devel
parent1db372f564c3524613bc88c6392af22ee2d4b085 (diff)
downloadfreebsd-ports-graphics-0fd9c5295e1dbddc3f90fb58e2113a7bfb1b1258.tar.gz
freebsd-ports-graphics-0fd9c5295e1dbddc3f90fb58e2113a7bfb1b1258.tar.zst
freebsd-ports-graphics-0fd9c5295e1dbddc3f90fb58e2113a7bfb1b1258.zip
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@
Diffstat (limited to 'devel')
-rw-r--r--devel/Makefile1
-rw-r--r--devel/qmake/Makefile65
-rw-r--r--devel/qmake/distinfo1
-rw-r--r--devel/qmake/files/Makefile.bsd43
-rw-r--r--devel/qmake/files/qconfig.cpp15
-rw-r--r--devel/qmake/pkg-descr8
-rw-r--r--devel/qmake/pkg-plist180
7 files changed, 313 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 82725ca4aa5..c2c9f47cc3e 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -880,6 +880,7 @@
SUBDIR += pychecker
SUBDIR += pyrex
SUBDIR += qextmdi
+ SUBDIR += qmake
SUBDIR += qssl
SUBDIR += qt-designer
SUBDIR += qtez
diff --git a/devel/qmake/Makefile b/devel/qmake/Makefile
new file mode 100644
index 00000000000..c5830926c5a
--- /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 <bsd.port.mk>
diff --git a/devel/qmake/distinfo b/devel/qmake/distinfo
new file mode 100644
index 00000000000..e2cdecd987c
--- /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 00000000000..30c96ae66b1
--- /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 <bsd.prog.mk>
diff --git a/devel/qmake/files/qconfig.cpp b/devel/qmake/files/qconfig.cpp
new file mode 100644
index 00000000000..3079f2acd57
--- /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 00000000000..eccbc5d9c1e
--- /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 00000000000..4b5378ece2c
--- /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?