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