-
Notifications
You must be signed in to change notification settings - Fork 7
Build sources from tarballs
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.
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.
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
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
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
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 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 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
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
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
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
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
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
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
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
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.