
 Dianara - A Pump.io client
 Copyright 2012-2016  JanKusanagi JRR <jancoding@gmx.com>

===============================================================================

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the
   Free Software Foundation, Inc.,
   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.

   Or visit http://www.gnu.org/licenses/

===============================================================================


These are some basic instructions on how to build Dianara from source, in case
you don't have precompiled packages available for your operating system.
See https://jancoding.wordpress.com/dianara for info on package availability.



General runtime dependencies (check carefully!)
===============================================================================

 - Qt 4.8.x  (You _can_ build with Qt 5.x, but it will probably crash)
 - QJSON 0.7.x or 0.8.x
 - QOAuth 1.0.x
 - Libmagic
 - QCA and its openSSL plugin (qca2-plugin-openssl, libqca2-plugin-ossl, or similar)
   (Dianara will _crash_ if you don't have this!)



Dependencies for building
===============================================================================

You'll need qmake and the qt-devel (>= 4.8, including QtNetwork and QtDBUS
modules, if they are separate), and qjson-devel, qoauth-devel and
libmagic-devel packages.
Qmake might be included in the Qt development packages, or it might be a
separate package.


These are the names of the packages for the build dependencies
in some GNU/Linux distributions:

  - Debian (and probably in its derivatives too):
      libqt4-dev, libqjson-dev, libqoauth-dev and libmagic-dev.
    > Build tools: build-essentials, g++

  - Mageia (probably in Mandriva and ROSA, too):
      i586: libqt4-devel, libqjson-devel, libqoauth-devel and libmagic-devel.
      x86_64: lib64qt4-devel, lib64qjson-devel, lib64qoauth-devel and
              lib64magic-devel.
    > Build tools: gcc-c++

  - Fedora:
      qt-devel, qjson-devel, qoauth-devel, and file-devel.
    > Build tools: gcc-c++

  - openSUSE:
      libqt4-devel, libqjson-devel, qoauth-devel and file-devel (has libmagic).

  - Archlinux (runtime dependencies include build-time dependencies):
      qt4, qjson, qoauth, file (yes, this one includes libmagic).


You might also need to install qt4-qmake, if your distribution does not include
it with the Qt development package.



Build process
===============================================================================

From Dianara's main directory, where Dianara.pro is located, execute:

        mkdir build               # Create a clean directory for the build
        cd build                  # Go into it
        qmake ..                  # Ask Qmake to generate a Makefile[*]
        make                      # Run Make to compile the project

[*]if you have the command 'qmake-qt4' available, use that instead of 'qmake'!

That should do it!


There is an installation target if you wish to use 'make install', but you can
just run the resulting "dianara" binary without installation.
The language files will be embedded into the binary upon compilation,
so there's no need to keep them afterwards.



Dianara is built on and for GNU/linux, but it will probably work under other
systems, as long as they are supported by Qt, and have ports of the necessary
dependencies.

Building with Qt 5.x should work, but it's unsupported at the moment, due
to crashes on startup.

If your desktop environment is Plasma 5, but older than 5.5.0, (or maybe other
modern environments), and you build with Qt 4, you will need the SNI Qt plugin
in order for the system tray icon to appear.



===============================================================================


Visit https://jancoding.wordpress.com/dianara for more information.

Get the latest development source from https://gitlab.com/dianara/dianara-dev
