depot/third_party/nixpkgs/pkgs/data/themes/qtcurve/default.nix

106 lines
2.2 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 = [ ];
};
}