nixpkgs/pkgs/data/themes/qtcurve/default.nix
2021-01-16 23:49:59 -08:00

70 lines
2.1 KiB
Nix

{ lib, fetchFromGitHub, cmake, extra-cmake-modules, pkg-config, mkDerivation
, gtk2Support ? true, gtk2
, qtbase, qtsvg, qtx11extras # Toolkit dependencies
, karchive, kconfig, kconfigwidgets, kio, frameworkintegration
, kguiaddons, ki18n, kwindowsystem, kdelibs4support, kiconthemes
, libpthreadstubs, pcre, libXdmcp, libX11, libXau # X11 dependencies
, fetchpatch
}:
mkDerivation rec {
pname = "qtcurve";
version = "1.9.1";
src = fetchFromGitHub {
owner = "KDE";
repo = "qtcurve";
rev = version;
sha256 = "XP9VTeiVIiMm5mkXapCKWxfcvaYCkhY3S5RXZNR3oWo=";
};
patches = [
# Remove unnecessary constexpr, this is not allowed in C++14
(fetchpatch {
url = "https://github.com/KDE/qtcurve/commit/ee2228ea2f18ac5da9b434ee6089381df815aa94.patch";
sha256 = "1vz5frsrsps93awn84gk8d7injrqfcyhc1rji6s0gsgsp5z9sl34";
})
# Fix build with Qt5.15
(fetchpatch {
url = "https://github.com/KDE/qtcurve/commit/44e2a35ebb164dcab0bad1a9158b1219a3ff6504.patch";
sha256 = "5I2fTxKRJX0cJcyUvYHWZx369FKk6ti9Se7AfYmB9ek=";
})
];
nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
buildInputs = [
qtbase qtsvg qtx11extras
karchive kconfig kconfigwidgets kio kiconthemes kguiaddons ki18n
kwindowsystem kdelibs4support frameworkintegration
libpthreadstubs
pcre
libXdmcp libX11 libXau
] ++ lib.optional gtk2Support gtk2;
preConfigure = ''
for i in qt5/CMakeLists.txt qt5/config/CMakeLists.txt
do
substituteInPlace $i \
--replace "{_Qt5_PLUGIN_INSTALL_DIR}" "{KDE_INSTALL_QTPLUGINDIR}"
done
substituteInPlace CMakeLists.txt \
--replace \$\{GTK2_PREFIX\} $out
substituteInPlace gtk2/style/CMakeLists.txt \
--replace \$\{GTK2_LIBDIR\} $out/lib
patchShebangs tools/gen-version.sh
'';
configureFlags = [
"-DENABLE_GTK2=${if gtk2Support then "ON" else "OFF"}"
"-DENABLE_QT4=OFF"
];
meta = with lib; {
homepage = "https://github.com/QtCurve/qtcurve";
description = "Widget styles for Qt5/Plasma 5 and gtk2";
platforms = platforms.linux;
license = licenses.lgpl21Plus;
maintainers = [ maintainers.gnidorah ];
};
}