You are not logged in.
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
%filesMy 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
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 ![]()
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
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
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
My package for Qt5 build ok too, but not works at all ![]()
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
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_DIROffline
Yeah, you're right, and from qt4 too. Thanks.
Offline
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
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
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 ![]()
Offline
Ah, OK, missed that. Will do.
Offline