Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
build with X11 support on Darwin and MacOS X native interface on MacOS X.
But the Free qt3 only includes X11 support, and so the build fails on
MacOS X.
Change the build defines to use the same options on MacOS X and Darwin.
Installation
---------------
Added support for DragonFly BSD.
Fixed compilation for 64-bit Linux.
Compilation fixes for OpenBSD configured with -thread.
Windows Installer
-----------------
Add option to set environment variables.
Fixed problem propagating PATH environment variable.
Make sure the PostgreSQL and MySQL libraries are shown correctly.
Compilers
---------
Work around a bug in HP-UX aCC.
Support IRIX with 7.4.x compiler.
Fixed moc compilation when Bison is installed.
Fixed compilation with Intel compiler on Windows.
Qt Designer
-----------
Fixed bug that could corrupt the .pro file.
Fixed bug that would remove source files from project when using a
statically linked designer.
Fixed handling of custom widget plugins which subclass QWidgetStack.
Raise and give focus to source files when clicking on them in the
project overview.
Fixed bug where empty variable declarations in .ui file would generate
improper C++ code.
Fixed crash when deleting action while changing its name.
Fixed crash when using third party plugins that create tabwidgets without any pages.
Fixed bug renaming slots in edit custom widgets dialog where old slot
name would not get removed.
Make sure uic-generated code compiles when QT_NO_CAST_ASCII is
defined.
Fixed bug showing wrong status indicators in connection table after
sorting the list.
Prevent templates based on unsupported widgets (like QScrollView) from
being created.
Qt Linguist
-----------
Fixed bug where spaces at the beginning or at the end of the source
text would not be displayed.
Qt Assistant
------------
Fixed bug in printing that sometimes caused the last page to be
skipped.
Fixed invalid font size error on startup.
qmake
-------
Work around bug in Visual Studio 2003 Custom Build Steps.
Handle path names with spaces properly.
Handle file names containing '&' characters correctly.
Create dependencies on .ui.h files.
Fixed crash on Solaris when error() string contains single quote.
Make it possible to specify a RES file for the vcproj file.
Fixed bug in make install on Linux
Various improvements for XCode.
Fixed bug in shadow builds.
for more information see 'changes-3.3.4'
automatically by pthread.buildlink3.mk. Also, factor out the pthread
library out of PTHREAD_LDFLAGS into a standalone variable PTHREAD_LIBS
and use it in packages where necessary (usually the ones that don't
have a GNU configure script).
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
which are the full option names used to set rpath directives for the
linker and the compiler, respectively. In places were we are invoking
the linker, use "${LINKER_RPATH_FLAG} <path>", where the space is
inserted in case the flag is a word, e.g. -rpath. The default values
of *_RPATH_FLAG are set by the compiler/*.mk files, depending on the
compiler that you use. They may be overridden on a ${OPSYS}-specific
basis by setting _OPSYS_LINKER_RPATH_FLAG and _OPSYS_COMPILER_RPATH_FLAG,
respectively. Garbage-collect _OPSYS_RPATH_NAME and _COMPILER_LD_FLAG.
run rather than when the qmake.conf was generated. Should be effectively
equivalent to what was happening under buildlink2 and fixes linking
problems of audio/kmp and other qmake using packages.
Qt 3.3.2 is a bugfix release. It maintains both forward and backward
compatibility (source and binary) with Qt 3.3.1 and Qt 3.3.0.
X11 specific fixes:
Fixed crash bug when using X Input Method Chinput.
- Drag and Drop
Ignores accelerator events when dragging.
- QClipboard
Fixed bug where data()->format() would return the wrong value.
Fixed potential crashes with regards to iterators.
- QFont
Avoids badly scaled fonts, and prefers exact matches.
Made sure symbol fonts get loaded correctly.
Made it possible to load Latin fonts that do not contain the
Euro symbol.
Fixed glyph width bug observed with some Khmer fonts.
Fixed crash with misconfigured Xft.
Fixed problem with font selection for Xft2 when having Latin
text with non-Latin locale.
Respects custom dpi settings for Xft.
Does not use Xft if we have FreeType1 but no XRender.
Fixed memory leak in the font engine when drawing transformed
fonts.
- QGL
Fixed crash when rendering text in GL widgets.
- QLocale
Tru64: Fixed crash when INFINITY is compared to another double.
Tru64: Uses DBL_INFINITY for Compaq C++ compiler.
- QMimeSource
Does not re-enter the event loop in provides().
- QPainter
Fixed rendering of anti-aliased text on non-XRender enabled
displays.
- QPrinter
Fixed setFromTo().
Fixed printing of Arabic text with XLFD fonts.
- QTextEdit
Fixed bug with extremely long lines.
- QThread
Fixed bug that made program require superuser privileges on
some Linux machines.
- QWidget
Fixed showFullScreen() and showMaximized() for window managers
that do not support extended window manager hints (EWMH).
changes (among many others):
- New QLocale Class
- The ActiveQt framework, first available in Qt 3.1, has been enhanced in
lots of ways in Qt 3.3.
- Semi-Transparent Windows
Other Improvements
- The network module now supports IPv6 in addition to IPv4.
- New 64-bit platforms are supported: Itanium on Linux (Intel compiler) and
Windows (MSVC and Intel).
- QCursor now provides the BusyCursor shape, which combines an hourglass with
an arrow.
- Qt's DOM classes are now reentrant when Qt is built with multithread support
enabled.
See http://www.trolltech.com/products/qt/whatsnew.html for more details.