70 lines
2.1 KiB
Nix
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 ];
|
|
};
|
|
}
|