Add a new USE_LIBTOOL definition that uses the libtool package instead of
pkglibtool which is now considered outdated.
USE_PKGLIBTOOL is available for backwards compatibility with old packages
but is deprecated for new packages.
keep Troll's layout and put everything to ${X11BASE}/qt2
This reduces patching necessary in dependant packages while allowing
coexistence of different qt versions.
-it is important to be able to have the libraries in a place other than
${X11BASE}/lib or ${LOCALBASE}/lib. Otherwise, the order of -Ldir matters
when other programs link to the qt1 pkg. If the order is wrong, the pkgs
which use qt1 pick up libqt from this pkg and fail. Since there are _many_
pkgs (and probably programs being written by individual users) which fall
in this catergory, I decided it was too error prone to simply require a
certain order of -Ldir. Additionally, it adds overhead to the maintainance
of any pkgs which use qt.
-it is important to keep the name "qt" for the libraries because everyone
expects to use "-lqt" (not "-lqt2"). This is true for many automatically
generated (for example from kdevelop) makefiles. The same is true for
keeping the name "moc" instead of "moc2".
-it would be nice to not totally ignore hier(7) by simply creating
${X11BASE}/qt2/ and putting everything under that directory.
As a result of these considerations, the "final" resting place for the qt2
components are:
${X11BASE}/bin/qt2/
${X11BASE}/lib/qt2/
${X11BASE}/include/qt2/
${X11BASE}/man/qt2/{man1,man3}
${X11BASE}/share/doc/qt2/
Most programs can correctly find the required components by using
--with-qt-includes=${X11BASE}/include/qt2/
--with-qt-libraries=${X11BASE}/lib/qt2/
as configure arguments and setting the MOC environment variable to
${X11BASE}/bin/qt2/moc or putting ${X11BASE}/bin/qt2/ in the PATH.
This makes it relatively easy to maintain a pkg which uses qt2 since
these are set in the pkg Makefile instead of as a patch to the pkg.
Qt-1.44 is still available as the x11/qt1 package as Qt-2 is not 100% backwards
compatible with Qt-1.44.
A complete list of changes to Qt since 1.44 can be found online at
http://www.trolltech.com/changes/index.html
New major features
* Support for international software development:
+ QTranslator and the QObject::tr() function
+ QTextCodec (and subclasses)
+ QString is now a 16-bit Unicode string with good support for legacy 8-bit interoperation.
(The old 8-bit string class from Qt 1.x has been renamed to QCString.)
+ QChar - a Unicode character
* Rich Text
+ QTextView - formatted text and images
+ QTextBrowser - navigate formatted text and images
+ QStyleSheet - define your own XML formatting tags
+ QSimpleRichText - display rich text anywhere
* Convenient and powerful new collection classes:
+ QMap<Key,Type> - QDict with arbitrary keys
+ QValueList<Type> - QList of types other than pointers
+ QStringList - QValueList<QString> with helper functions
* Dialogs
+ QColorDialog - user picks a color
+ QFontDialog - user picks a font
+ QWizard - framework for leading users through steps
* Layout
+ QGrid, QHBox, QVBox - grid and boxes of widgets automatically assembled
+ QHGroupBox, QVGroupBox - easy framed groups of widgets
+ QSizePolicy - a widget's abilities to change size in different ways
* Custom layouts
+ New, much simpler and more powerful API for creating custom layouts
* PNG Support
+ PNG support is now included in the core library
* Support for generalized configurable GUI styles:
+ QStyle and subclasses
* Session management
+ QSessionManager - saving state when the system shuts down
* Extended coordinate system
+ QPoint, QPointArray, QSize and QRect now have 32-bit coordinates
* Cleaner namespace
+ Global functions, enums and macros now either start with a 'q' or have been moved into the
new namespace class "Qt"
- The file dialog has various UI tweaks.
- More sanity checks have been added.
- On X11, the postscript output from a few programs will be much smaller
than it used to be.
- The keyboard interface of buttons groups/dialogs has been improved.
- QMultiLineEdit avoids flicker in some cicumstances where it would
flicker up to now.
- New, optional Makefile variable HOMEPAGE, specifies a URL for
the home page of the software if it has one.
- The value of HOMEPAGE is used to add a link from the
README.html files.
- pkglint updated to know about it. The "correct" location for
HOMEPAGE in the Makefile is after MAINTAINER, in that same
section.