2016-01-29 19:03:19 +02:00
|
|
|
Katie is continuation of the Qt4 C++ toolkit with the goal to keep it alive,
|
|
|
|
clean it up, fix some bugs and backport some features from Qt5. It is based
|
|
|
|
on the latest Git revision of Qt v4.8.
|
|
|
|
|
|
|
|
There are several things you should be aware before considering Katie:
|
|
|
|
|
|
|
|
- some components and tools have been removed:
|
2016-03-16 17:44:37 +00:00
|
|
|
- QMake, Linguist, Assistant, checksdk, macdeployqt, pixeltool, qconfig,
|
|
|
|
qdoc, qev, qvfb, runonphone and other non-essential
|
2016-11-16 13:53:20 +00:00
|
|
|
- Qt3Support, QtWebKit, QtHelp, QtXmlPatterns, QtOpenGL, ActiveQt, Phonon and
|
2016-11-11 21:18:45 +00:00
|
|
|
QtMultimedia
|
2016-01-29 19:03:19 +02:00
|
|
|
|
|
|
|
- some things have changed:
|
|
|
|
- QMake build system replaced with CMake
|
|
|
|
- QStyleOption*V{2,3,4} classes have been merged
|
2016-06-25 14:33:40 +00:00
|
|
|
- QIconEngineV{2} classes have been merged
|
|
|
|
- QIconEnginePluginV{2} classes have been merged
|
|
|
|
- QIconEngineFactoryInterfaceV{2} classes and interfaces have been merged
|
2016-01-29 19:03:19 +02:00
|
|
|
- QKeyEventEx and QKeyEvent classes have been merged
|
2019-06-07 13:43:43 +00:00
|
|
|
- QMouseEventEx and QMouseEvent classes have been merged
|
2019-05-13 15:04:24 +00:00
|
|
|
- QGuiPlatformPlugin class is public
|
2019-11-26 08:55:51 +00:00
|
|
|
- zlib, zstd, OpenSSL, PCRE, Freetype, ICU and X11 are required for building
|
2017-04-25 11:25:23 +00:00
|
|
|
- OpenSSL, D-Bus, CUPS, resolv and NSL cannot be runtime dependencies, they
|
|
|
|
must be linked to during build
|
2016-01-29 19:03:19 +02:00
|
|
|
- QtUiTools is build as shared library by default
|
2019-05-12 21:00:58 +00:00
|
|
|
- moc, uic, rcc, lrelease, lupdate, etc. are linked to components
|
2016-01-29 19:03:19 +02:00
|
|
|
- updated bundled Harfbuzz from upstream (not Harfbuzz-NG)
|
2019-05-17 04:48:32 +00:00
|
|
|
- updated bundled FFTW and Valgrind from upstream
|
2020-03-19 21:36:11 +00:00
|
|
|
- updated localizations data from Common Locale Data Repository v36.1
|
2019-11-26 08:55:51 +00:00
|
|
|
- SQLite driver uses UTF-8 encoding instead of UTF-16
|
|
|
|
- default text codec for C-strings is UTF-8
|
2016-10-16 21:12:21 +00:00
|
|
|
- Symbian, QWS, QPA, Mac and Windows are no longer supported platforms
|
2016-02-22 00:25:06 +02:00
|
|
|
- OpenVG is no longer supported graphics output
|
2016-06-28 13:49:11 +00:00
|
|
|
- Blitter is no longer supported painting engine
|
2016-09-09 16:22:23 +00:00
|
|
|
- native graphics system is no more, rasterizer is just as fast as native
|
2016-11-11 01:10:39 +00:00
|
|
|
- QPicture, QPictureIO and plugins for it are no longer supported
|
2016-01-29 19:03:19 +02:00
|
|
|
- QML debugger and inspector have been removed, potentially dangerous
|
2016-09-21 18:47:00 +00:00
|
|
|
- no SIMD, zero performance impact with decent compiler
|
2016-10-23 02:52:09 +00:00
|
|
|
- state machine is no more
|
2016-08-09 04:33:37 +00:00
|
|
|
- removed non-open source DB2, OCI, TDS and InterBase database drivers
|
2016-02-22 00:25:06 +02:00
|
|
|
- removed 3rd party sources that are very common nowdays
|
2020-02-01 14:04:14 +00:00
|
|
|
- dropped non-open source platforms support
|
2019-11-26 08:55:51 +00:00
|
|
|
- dropped dnotify filesystem watcher support
|
|
|
|
- dropped Glib2 event dispatcher support
|
2020-02-01 14:04:14 +00:00
|
|
|
- dropped support for a.out format
|
|
|
|
- dropped Motif Drag-And-Drop (DND) support
|
|
|
|
- dropped LPR support
|
2016-01-29 19:03:19 +02:00
|
|
|
|
|
|
|
- some additions have been made:
|
|
|
|
- JSON classes and types
|
|
|
|
- command line parser
|
|
|
|
- standard directories handler
|
2017-08-09 04:35:57 +00:00
|
|
|
- building with OpenSSL v1.1+ is possible
|
|
|
|
- building with IODBC instead of unixODBC is possible
|
2016-09-21 18:47:00 +00:00
|
|
|
- building with LTO is possible and supported, if the toolchain can handle it
|
2017-08-09 04:35:57 +00:00
|
|
|
- building without resolv is possible
|
2016-03-03 22:19:56 +02:00
|
|
|
- alternative libc implementations support
|
2019-11-26 08:55:51 +00:00
|
|
|
- additional text codecs via ICU converter
|
2019-07-23 20:02:45 +00:00
|
|
|
- Unicode v5.0+ characters and partial scripts support
|
2019-11-26 08:55:51 +00:00
|
|
|
- support for locale aliases
|
2016-04-25 01:09:15 +00:00
|
|
|
- support for generating SHA-224, SHA-256, SHA-384, SHA-512 hash sums (SHA-2)
|
2020-02-01 02:16:38 +00:00
|
|
|
- support for generating CRC-32 checksums via qChecksum32() function
|
2019-11-26 08:55:51 +00:00
|
|
|
- verification section for plugins build with Clang
|
2019-06-28 20:40:35 +00:00
|
|
|
- faster alternatives to qCompress() and qUncompress()
|
2020-01-30 09:27:25 +00:00
|
|
|
- stack unwinding on assert or crash via libunwind
|
2016-11-11 21:18:45 +00:00
|
|
|
- brief manual pages for all command-line tools
|
2019-05-23 20:55:56 +00:00
|
|
|
- desktop files, Shell profile and dynamic linker/loader config
|
2020-01-30 09:27:25 +00:00
|
|
|
- automatic async D-Bus calls based on return type, no Q_NOREPLY needed
|
2016-10-24 22:24:07 +00:00
|
|
|
- more reliable qrand(), seeded per thread
|
2019-06-29 23:10:02 +00:00
|
|
|
- improved signal/slot template arguments handling
|
|
|
|
- improved OpenSSL default certificate and certificates directory detection
|
2017-08-09 04:35:57 +00:00
|
|
|
- improved namespaces support and introduced QT_NAMESPACE_COMPAT
|
2019-12-25 17:57:59 +00:00
|
|
|
- improved cross-compilation support
|
2020-01-30 09:27:25 +00:00
|
|
|
- improved POSIX, XSI, SUSv2, etc. requirements build checks
|
2020-02-01 02:16:38 +00:00
|
|
|
- improved Large File Support (LFS) requirements checks
|
2019-05-12 21:00:58 +00:00
|
|
|
- script component relies on PCRE instead of internal copy
|
2019-07-09 17:20:24 +00:00
|
|
|
- tests and benchmarks can be run without prior installation
|
2016-01-29 19:03:19 +02:00
|
|
|
|
|
|
|
Bugs fixed in Katie, some of which in Qt5 too:
|
|
|
|
QTBUG-23502, QTBUG-37115, QTBUG-15052, QTBUG-23522, QTBUG-6139, QTBUG-26889,
|
|
|
|
QTBUG-21548, QTBUG-6133, QTBUG-18188, QTBUG-36767, QTBUG-35387, QTBUG-37035,
|
2016-02-22 00:25:06 +02:00
|
|
|
QTBUG-28321, QTBUG-21993, QTBUG-26590, QTBUG-2124, QTBUG-20482, QTBUG-41361,
|
2016-06-22 15:01:33 +00:00
|
|
|
QTBUG-40153, QTBUG-35479, QTBUG-1628, QTBUG-42989, QTBUG-34861, QTBUG-46767,
|
2019-05-12 01:53:55 +00:00
|
|
|
QTBUG-25114, QTBUG-24672, QTBUG-23524 (WIP), QTBUG-56088, QTBUG-42189,
|
2019-05-29 15:04:12 +00:00
|
|
|
QTBUG-39285, QTBUG-18173, QTBUG-28968, QTBUG-34336, QTBUG-40974, QTBUG-44286,
|
2019-08-11 09:27:53 +00:00
|
|
|
QTBUG-12564, QTBUG-20028, QTBUG-71967, QTBUG-70956, QTBUG-71446, QTBUG-61307,
|
2019-11-26 23:15:58 +00:00
|
|
|
QTBUG-27287, QTBUG-25143, QTBUG-22833, QTBUG-57399, QTBUG-59159, QTBUG-15773,
|
2020-01-11 02:29:34 +00:00
|
|
|
QTBUG-70506, QTBUG-46054, QTBUG-11223
|
2016-01-29 19:03:19 +02:00
|
|
|
|
|
|
|
Unless you use QMake and QDoc porting to Katie or even supporting it along with
|
2016-01-31 17:59:24 +02:00
|
|
|
Qt4 in the same codebase is trivial and requires only minor changes because
|
2016-07-19 07:08:23 +03:00
|
|
|
Katie is mostly source compatible with Qt 4.8.x, compatibility with releases
|
|
|
|
earlier than that is not a goal. Do note that using libraries that
|
2016-05-28 01:54:43 +00:00
|
|
|
are linked to Qt4 from applications linked to Katie will trigger undefined
|
2016-07-19 07:08:23 +03:00
|
|
|
behaviour.
|
|
|
|
|
|
|
|
Should you enouncter a problem please report it at
|
|
|
|
https://github.com/fluxer/katie/issues. For more information about changes,
|
|
|
|
how to handle them and general info please visit
|
|
|
|
https://github.com/fluxer/katie/wiki.
|