You are not logged in.

#1 2015-05-26 10:36:22

DoctorJellyface
Member
From: Slovakia
Registered: 2015-02-19
Posts: 40
Website

[DONE] adwaita-qt

It's a project on Github aiming to make Qt applications blend into the GNOME Shell. It's not done yet, but it looks promising.

Thanks.

Last edited by DoctorJellyface (2015-07-30 14:18:33)

Offline

#2 2015-07-29 08:09:52

DoctorJellyface
Member
From: Slovakia
Registered: 2015-02-19
Posts: 40
Website

Re: [DONE] adwaita-qt

OK, I looked into this, but I need some help. I've done PKGBUILDs before, but I have no experience in packaging QT themes.

I found the QTCurve and Breeze PKGBUILDs so I'm using them as aa template.

I also found the RPM package (which is being included by default in Fedora), and it's build part looks like this:

%prep
%setup -q -n %{name}-%{version}


%build
mkdir -p "%{_target_platform}-qt4"
pushd "%{_target_platform}-qt4"
%{cmake} -DUSE_QT4=true ..
popd

mkdir -p "%{_target_platform}-qt5"
pushd "%{_target_platform}-qt5"
%{cmake} ..
popd

make %{?_smp_mflags} -C "%{_target_platform}-qt4"
make %{?_smp_mflags} -C "%{_target_platform}-qt5"


%install
make install/fast DESTDIR=%{buildroot} -C "%{_target_platform}-qt4"
make install/fast DESTDIR=%{buildroot} -C "%{_target_platform}-qt5"

%files common
%{_datadir}/themes/Adwaita/qt/*

%files -n adwaita-qt4
%doc LICENSE.LGPL2 README.md
%{_qt4_plugindir}/styles/adwaita.so

%files -n adwaita-qt5
%doc LICENSE.LGPL2 README.md
%{_qt5_plugindir}/styles/adwaita.so

%files

My current PKGBUILD, which fails on

fatal error: QtGui/QSizePolicy: Adresár alebo súbor neexistuje
compilation terminated.

and is blindly based on the breeze PKGBUILD (really, I have no idea what I'm doing), is this:

#
pkgbase=adwaita-qt
pkgname=('adwaita-qt' 'adwaita-qt4')
pkgver=5.3.2
pkgrel=1
arch=('i686' 'x86_64')
#url='https://projects.kde.org/projects/kde/workspace/breeze'
license=('LGPL')
#makedepends=('extra-cmake-modules' 'automoc4')
source=("https://github.com/MartinBriza/adwaita-qt/archive/master.zip")
md5sums=('SKIP')

prepare() {
  mkdir build{,-qt4}
}

build() {
  cd build
  cmake ../${pkgbase}-master \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DLIB_INSTALL_DIR=lib \
    -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
    -DBUILD_TESTING=OFF
  make

  cd ../build-qt4
  cmake ../${pkgbase}-master \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DUSE_QT4=ON \
    -DBUILD_TESTING=OFF
  make
}

package_adwaita-qt() {
  depends=()
  pkgdesc='Artwork, styles and assets for the Breeze visual style for the Plasma Desktop'
  optdepends=('adwaita-qt4: Breeze widget style for KDE4 applications'
		'gtk-theme-orion: GTK theme matching Breeze'
		'kcmutils: for breeze-settings')
  groups=('plasma')

  cd build
  make DESTDIR="$pkgdir" install
}

package_adwaita-qt4() {
  pkgdesc='Breeze widget style for KDE4 applications'
  depends=()

  cd build-kde4
  make DESTDIR="$pkgdir" install

  # needed for pure Qt4 apps
  install -d "$pkgdir"/usr/lib/qt4/plugins/styles
  ln -s /usr/lib/kde4/plugins/styles/breeze.so "$pkgdir"/usr/lib/qt4/plugins/styles
}

Any help or push in the right direction would be greatly appreciated.

Offline

#3 2015-07-29 12:10:53

pb
Member
From: Krakow, PL
Registered: 2014-12-26
Posts: 336
Website

Re: [DONE] adwaita-qt

This:

# Maintainer: pavbaranov

pkgname=adwaita-qt4
_realname=adwaita-qt
pkgver=0.3
pkgrel=1
pkgdesc="Adwaita theme for Qt4 DE"
arch=('any')
url=https://github.com/MartinBriza/adwaita-qt/tree/0.3
license=('CC-BY-SA')
makedepends=('cmake' 'qt4')
depends=('kdelibs')
source=("https://codeload.github.com/MartinBriza/adwaita-qt/zip/0.3")
sha256sums=('cef6b89eb9a558f026dd4cf7c91d8df837fa1c2a239272b030363c8799b43ba9')

build() {
        mkdir -p build
        cd build
        cmake ../$_realname-$pkgver \
        -DUSE_QT4=ON \
        -DCMAKE_INSTALL_PREFIX=/usr
        }

package() {
        cd build
        make DESTDIR="$pkgdir" install

  # needed for pure Qt4 apps
        install -d "$pkgdir"/usr/lib/qt4/plugins/styles
#        ln -s /usr/lib/kde4/plugins/styles/adwaita.so "$pkgdir"/usr/lib/qt4/plugins/styles
        }

should be works, but only for Qt4 applications.
It builds package and place files in proper directories.
So now, I cannot build Qt5 version, because of this bug:

 40%] Building CXX object src/style/CMakeFiles/adwaita-qt5.dir/adwaita.cpp.o
/home/pb/temp/kde-next-without-git-integration/Plasma5-lookandfeel/adwaita-qt-theme/src/adwaita-qt-0.3/src/style/adwaita.cpp:25:29: fatal error: QtGui/QSizePolicy: there is no such file or directory compilation terminated.

It looks like it's missing python-pyside (maybe?), but with python-pysize installed this bug still occours.
I haven't got enough time for think about it smile

EDIT:
Ok, with this PKGBUILD it builds package for Qt5, but I think that there is an error in PKGBUILD because it seems that this theme not works.

# Maintainer: pavbaranov 

pkgname=adwaita-qt5
_realname=adwaita-qt
pkgver=0.3
pkgrel=1
pkgdesc="Adwaita theme for Qt5 DE"
arch=('any')
url=https://github.com/MartinBriza/adwaita-qt/tree/0.3
license=('CC-BY-SA')
makedepends=('extra-cmake-modules' 'qt5-base' 'kcmutils' 'automoc4')
depends=('frameworkintegration' 'kdecoration' 'breeze-icons')
source=("https://codeload.github.com/MartinBriza/adwaita-qt/zip/0.3")
sha256sums=('cef6b89eb9a558f026dd4cf7c91d8df837fa1c2a239272b030363c8799b43ba9')

build() {
        mkdir -p build
        cd build
        cmake ../$_realname-$pkgver \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=Release 
        make
        }

package() {
        cd build
        make DESTDIR="$pkgdir" install
        }

Then maybe it will be useful for somebody as a template.

EDIT2:
Ok, it seems, that we have new README.md with build instructions: https://github.com/MartinBriza/adwaita- … /README.md. I'll try to make new PKGBUILD later.

Last edited by pb (2015-07-29 14:44:58)

Offline

#4 2015-07-29 19:21:18

DoctorJellyface
Member
From: Slovakia
Registered: 2015-02-19
Posts: 40
Website

Re: [DONE] adwaita-qt

Yeah, I had a small discussion with Martin.

Meanwhile I cleaned up my PKGBUILD a bit, but still stops at the same error:

# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Antonio Rojas

pkgbase=adwaita-qt
pkgname=('adwaita-qt' 'adwaita-qt4')
pkgver=5.3.2
pkgrel=1
arch=('i686' 'x86_64')
url='https://github.com/MartinBriza/adwaita-qt'
license=('LGPL')
depends=('qt4' 
#makedepends=('extra-cmake-modules' 'automoc4')
source=("https://github.com/MartinBriza/adwaita-qt/archive/master.zip")
md5sums=('SKIP')

prepare() {
  mkdir build{,-qt4}
}

build() {
  cd build
  cmake ../${pkgbase}-master \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DLIB_INSTALL_DIR=lib \
    -DBUILD_TESTING=OFF
  make

  cd ../build-qt4
  cmake ../${pkgbase}-master \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DUSE_QT4=ON \
    -DBUILD_TESTING=OFF
  make
}

package_adwaita-qt() {
  depends=()
  pkgdesc=''
  optdepends=('adwaita-qt4: asdf')

  cd build
  make install/fast DESTDIR=$pkgdir
}

package_adwaita-qt4() {
  pkgdesc=''
  depends=()

  cd build-qt4
  make install/fast DESTDIR=$pkgdir

  # needed for pure Qt4 apps
  #install -d "$pkgdir"/usr/lib/qt4/plugins/styles
  #ln -s /usr/lib/kde4/plugins/styles/breeze.so "$pkgdir"/usr/lib/qt4/plugins/styles
}

Offline

#5 2015-07-29 20:55:00

pb
Member
From: Krakow, PL
Registered: 2014-12-26
Posts: 336
Website

Re: [DONE] adwaita-qt

DoctorJellyface wrote:

Yeah, I had a small discussion with Martin.

Meanwhile I cleaned up my PKGBUILD a bit, but still stops at the same error:

I'll try it. It stops only on Qt5 version, then maybe we should focus only on this package (qt5). Qt4 package builds ok, but... not works smile My package for Qt5 build ok too, but not works at all smile
Maybe it's something with sources?
We can build our package via rebuild *.rpm, too. Maybe it's a solution?

OK. The first of my package - adwaita-qt4 - works well. After installed we can choose adwaita style via qtconfig-qt4. Adwaita-qt5 builds (sometimes), but I cannot choose it via systemsettings (it's not included). Maybe it's because:

option(BUILD_EXAMPLE "Build an example widget factory app" OFF)
if (BUILD_EXAMPLE)
    if (USE_QT4)
        find_package(KDE4)
    else()
        error("It's not possible to build the example using Qt5 yet, sorry.")
    endif()
endif()

(it's form CMakeLists.txt

Last edited by pb (2015-07-30 06:48:11)

Offline

#6 2015-07-30 14:18:15

DoctorJellyface
Member
From: Slovakia
Registered: 2015-02-19
Posts: 40
Website

Re: [DONE] adwaita-qt

Done!

If anyone wants to be a co-maintainer, just ask.

Offline

#7 2015-07-31 11:26:36

pb
Member
From: Krakow, PL
Registered: 2014-12-26
Posts: 336
Website

Re: [DONE] adwaita-qt

I think, that you can remove (from adwaita-qt5 section):

cmake (...)
    -DLIB_INSTALL_DIR=lib \
    -DBUILD_TESTING=OFF (...)

because of this message from compiling:

 Manually-specified variables were not used by the project:

    BUILD_TESTING
    LIB_INSTALL_DIR

Offline

#8 2015-07-31 19:59:54

DoctorJellyface
Member
From: Slovakia
Registered: 2015-02-19
Posts: 40
Website

Re: [DONE] adwaita-qt

Yeah, you're right, and from qt4 too. Thanks.

Offline

#9 2015-08-02 11:15:55

pb
Member
From: Krakow, PL
Registered: 2014-12-26
Posts: 336
Website

Re: [DONE] adwaita-qt

And another one. You put 'gcc-libs-multilib' in makedepends section of PKGBUILD. It's rather non correct. When we have build anything via makepkg (i.e. from AUR), then we had to install base-devel, which supplies correct gcc for our architecture. Then if somebody's system is 32bit, when he install base-devel, he install gcc for 32-bit architecture, too; when somebody's system is 64bit - install base-devel, install gcc for 64bit architecture, too. gcc-libs-multilib is useful only for those, who have 64 bit system with multilibs. Then install adwaita-qt on 32bit system replace gcc (32bit) with gcc-multilibs without any reason.
IMO - makedends section should be without any gcc depends.

Offline

#10 2015-08-03 04:53:28

DoctorJellyface
Member
From: Slovakia
Registered: 2015-02-19
Posts: 40
Website

Re: [DONE] adwaita-qt

Thanks again, changed gcc-libs-multilib to plain gcc-libs, which is available for 32 and 64 bit machines, packages without error even though I have multilib installed.

Offline

#11 2015-08-03 08:52:18

pb
Member
From: Krakow, PL
Registered: 2014-12-26
Posts: 336
Website

Re: [DONE] adwaita-qt

Yes, it works, but... according to this: https://wiki.archlinux.org/index.php/PK … akedepends any gcc* shouldn't be included in makedepends array. Maybe it's really best solution wink

Offline

#12 2015-08-03 09:19:59

DoctorJellyface
Member
From: Slovakia
Registered: 2015-02-19
Posts: 40
Website

Re: [DONE] adwaita-qt

Ah, OK, missed that. Will do.

Offline

Board footer

Powered by FluxBB