Skip to content

Build sources from tarballs

Pier Luigi Fiorini edited this page Dec 30, 2013 · 4 revisions

Latest version is Hawaii 0.2.0 which was released on 24th Dec 2013.

Hawaii 0.2.0 requires:

  • Qt 5.2 with EGL support
  • The qtwayland module (not yet part of Qt)
  • Wayland 1.3 and Weston 1.3
  • CMake 2.8.12
  • DConf
  • Polkit-Qt-1

The instructions in this tutorial require a bash shell.

Check whether your Qt copy has EGL support

Some distributions already have Qt 5.2, however most (if not all) of them don't support EGL. To check whether EGL support is available:

grep -rn egl $YOUR_QT_DIR/mkspecs/qconfig.pri

If EGL support available you should see a QT_CONFIG line with the "egl" word highlighted.

Replace $YOUR_QT_DIR with your Qt path, for example on Fedora 20:

grep -rn egl /usr/lib64/qt5/mkspecs/qconfig.pri

reveals that no EGL support is available.

Qt build from sources

If your distribution doesn't carry a Qt version with EGL support you won't be able to build a working qtwayland. In this case you should build Qt by yourself following this tutorial but remember to pass the -opengl es2 argument to ./configure and also the -prefix argument in order to install Qt into another location.

Here's an example:

./configure -opensource -nomake examples -nomake tests -opengl es2 -prefix /usr/local/Qt-5.2

Make sure the environment is configured. Assuming you are installing under /usr/local/Qt-5.2 write the following commands down to a file (i.e. ~/hawaiisrcenv):

export QTDIR=/usr/local/Qt-5.2
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

Prepare for the build

Fetch all the source tarballs listed in the release announcement above and move them into a folder. Open a terminal, enter that folder and create a build directory where you will unpack and build all the sources:

mkdir build
cd build

Create the ~/hawaiisrcenv file with the following lines (or just append if it was already created):

export HAWAIIDIR=/usr/local/hawaii-0.2
export PATH=$HAWAIIDIR/bin:$PATH
export LD_LIBRARY_PATH=$HAWAIIDIR/lib:$LD_LIBRARY_PATH

And now source the file:

source ~/hawaiisrcenv

qtwayland

Unfortunately qtwayland has not yet been release so you have to clone the git repository and build it:

git clone git://gitorious.org/qt/qtwayland.git
pushd qtwayland
qmake
make
sudo make install
popd

extra-cmake-modules and polkit-qt-1

Hawaii 0.2.0 requires Polkit-Qt-1 which in turns requires extra-cmake-modules. Clone the extra-cmake-modules git repository and build:

git clone git://anongit.kde.org/extra-cmake-modules.git
pushd extra-cmake-modules
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 ..
make
sudo make install
popd

Polkit-Qt-1 requires glib and polkit, install them with your package manager. For example on Fedora systems type:

sudo yum install -y glib2-devel polkit-devel

Now clone the git repository and build:

git clone https://github.com/hawaii-desktop/polkit-qt-1.git
pushd polkit-qt-1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 -DLIB_INSTALL_DIR=lib ..
make
sudo make install
popd

qtconfiguration

QtConfiguration requires dconf, install it with your package manager. For example on Fedora systems:

sudo yum install -y dconf-devel

Now unpack the sources and build:

tar xzf ../qtconfiguration-0.2.1.tar.gz
pushd qtconfiguration-0.2.1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 -DCMAKE_INSTALL_LIBDIR=lib ..
make
sudo make install
popd

qtaccountsservice

QtAccountsService doesn't have build dependencies besides Qt but it requires the Accounts Service DBus service running. To install it on Fedora systems type:

sudo yum install -y accountsservice

Make sure the service is running, on systemd-based systems type:

sudo systemctl enable accounts-daemon
sudo systemctl start accounts-daemon

Now unpack and build the sources:

tar xzf ../qtaccountsservice-0.1.1.tar.gz
pushd qtaccountsservice-0.1.1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 -DCMAKE_INSTALL_LIBDIR=lib ..
make
sudo make install
popd

fluid

tar xzf ../fluid-0.2.0.tar.gz
pushd fluid-0.2.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 -DCMAKE_INSTALL_LIBDIR=lib ..
make
sudo make install
popd

hawaii-icon-themes

tar xzf ../hawaii-icon-themes-0.2.0.tar.gz
pushd hawaii-icon-themes-0.2.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 ..
make
sudo make install
popd

hawaii-wallpapers

tar xzf ../hawaii-wallpapers-0.2.1.tar.gz
pushd hawaii-wallpapers-0.2.1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 ..
make
sudo make install
popd

hawaii-widget-styles

tar xzf ../hawaii-widget-styles-0.2.0.tar.gz
pushd hawaii-widget-styles-0.2.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 -DCMAKE_INSTALL_LIBDIR=lib ..
make
sudo make install
popd

hawaii-terminal

tar xzf ../hawaii-terminal-0.2.0.tar.gz
pushd hawaii-terminal-0.2.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 -DCMAKE_INSTALL_LIBDIR=lib ..
make
sudo make install
popd

hawaii-system-preferences

tar xzf ../hawaii-system-preferences-0.2.0.tar.gz
pushd hawaii-system-preferences-0.2.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 -DCMAKE_INSTALL_LIBDIR=lib ..
make
sudo make install
popd

hawaii-shell

tar xzf ../hawaii-shell-0.2.0.1.tar.gz
pushd hawaii-shell-0.2.0.1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/hawaii-0.2 -DCMAKE_INSTALL_LIBDIR=lib ..
make
sudo make install
popd

Run Hawaii

Now you can run hawaii with:

hawaii

Remember to have the environment set, every time you open a new terminal you must remember to source ~/hawaiisrcenv.