No description
Find a file
Ivailo Monev 2d67399cac fix build of lexgen utility
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2017-05-09 03:42:07 +00:00
cmake add better UseQt4 CMake file subtitute 2017-05-08 14:55:36 +00:00
mkspecs store the git checkout hash in the cmake version file 2017-04-27 03:37:01 +00:00
package instead of LTO make use of KATIE_ALLINONE 2017-05-04 15:52:08 +00:00
scripts improve namefsck script 2017-04-27 14:53:38 +00:00
src create camel-case QGraphicsTextItem 2017-05-08 15:03:00 +00:00
tests minor benchmark cleanup 2017-05-06 17:37:15 +00:00
translations update translations 2016-12-10 01:13:29 +00:00
util fix build of lexgen utility 2017-05-09 03:42:07 +00:00
.gitignore add script to build with LTO and MinSizeRel quickly 2016-11-10 20:09:57 +00:00
.kateproject add Kate project file 2016-04-18 08:18:39 +00:00
.travis.yml purge Gtk style and some other styles leftovers 2017-04-25 08:59:05 +00:00
_config.yml Set theme jekyll-theme-cayman 2017-05-07 02:41:44 +00:00
CMakeLists.txt add better UseQt4 CMake file subtitute 2017-05-08 14:55:36 +00:00
doxygen.conf update Doxygen config file 2016-10-27 14:44:54 +00:00
header.BSD initial import 2015-12-10 05:06:13 +02:00
header.FDL initial import 2015-12-10 05:06:13 +02:00
header.LGPL initial import 2015-12-10 05:06:13 +02:00
header.LGPL3 initial import 2015-12-10 05:06:13 +02:00
header.LGPL21 initial import 2015-12-10 05:06:13 +02:00
index.md link README to index.md for the web page 2017-05-06 17:47:24 +00:00
LGPL_EXCEPTION.txt initial import 2015-12-10 05:06:13 +02:00
LICENSE.FDL initial import 2015-12-10 05:06:13 +02:00
LICENSE.LGPL initial import 2015-12-10 05:06:13 +02:00
LICENSE.LGPLv3 initial import 2015-12-10 05:06:13 +02:00
LICENSE.LGPLv21 initial import 2015-12-10 05:06:13 +02:00
README update README 2017-04-25 11:25:23 +00:00
TODO update TODO 2016-10-27 00:04:40 +00: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:
  - QMake, Linguist, Assistant, checksdk, macdeployqt, pixeltool, qconfig,
    qdoc, qev, qvfb, runonphone and other non-essential
  - Qt3Support, QtWebKit, QtHelp, QtXmlPatterns, QtOpenGL, ActiveQt, Phonon and
    QtMultimedia

 - some things have changed:
  - QMake build system replaced with CMake
  - QStyleOption*V{2,3,4} classes have been merged
  - QIconEngineV{2} classes have been merged
  - QIconEnginePluginV{2} classes have been merged
  - QIconEngineFactoryInterfaceV{2} classes and interfaces have been merged
  - QKeyEventEx and QKeyEvent classes have been merged
  - zlib and OpenSSL are required for building
  - OpenSSL, D-Bus, CUPS, resolv and NSL cannot be runtime dependencies, they
    must be linked to during build
  - QtUiTools is build as shared library by default
  - moc, uic, rcc, lrelease and idc are linked to components
  - updated bundled Harfbuzz from upstream (not Harfbuzz-NG)
  - Symbian, QWS, QPA, Mac and Windows are no longer supported platforms
  - OpenVG is no longer supported graphics output
  - Blitter is no longer supported painting engine
  - native graphics system is no more, rasterizer is just as fast as native
  - QPicture, QPictureIO and plugins for it are no longer supported
  - QML debugger and inspector have been removed, potentially dangerous
  - no SIMD, zero performance impact with decent compiler
  - state machine is no more
  - removed non-open source DB2, OCI, TDS and InterBase database drivers
  - removed 3rd party sources that are very common nowdays

 - some additions have been made: 
  - JSON classes and types
  - command line parser
  - standard directories handler
  - building against IODBC instead of unixODBC is possible
  - building without resolv is possible
  - building with LTO is possible and supported, if the toolchain can handle it
  - alternative libc implementations support
  - support for generating SHA-224, SHA-256, SHA-384, SHA-512 hash sums (SHA-2)
  - brief manual pages for all command-line tools
  - desktop files, Shell profile and dynamic linker/loader config are installed
    to ease vendors and deployment in general
  - automatic async DBus calls based on return type, no Q_NOREPLY needed
  - more reliable qrand(), seeded per thread
  - the script component relies on PCRE instead of internal copy

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,
QTBUG-28321, QTBUG-21993, QTBUG-26590, QTBUG-2124, QTBUG-20482, QTBUG-41361,
QTBUG-40153, QTBUG-35479, QTBUG-1628, QTBUG-42989, QTBUG-34861, QTBUG-46767,
QTBUG-25114, QTBUG-24672, QTBUG-23524 (WIP)

Unless you use QMake and QDoc porting to Katie or even supporting it along with
Qt4 in the same codebase is trivial and requires only minor changes because
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
are linked to Qt4 from applications linked to Katie will trigger undefined
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.