anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / development / libraries / qgnomeplatform / default.nix
blob6e489f69b72c6de7346d15e6116869a9799b647c
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , nix-update-script
5 , cmake
6 , pkg-config
7 , adwaita-qt
8 , adwaita-qt6
9 , glib
10 , gtk3
11 , qtbase
12 , qtwayland
13 , substituteAll
14 , gsettings-desktop-schemas
15 , useQt6 ? false
18 stdenv.mkDerivation rec {
19   pname = "qgnomeplatform";
20   version = "0.8.4";
22   src = fetchFromGitHub {
23     owner = "FedoraQt";
24     repo = "QGnomePlatform";
25     rev = version;
26     sha256 = "sha256-DaIBtWmce+58OOhqFG5802c3EprBAtDXhjiSPIImoOM=";
27   };
29   patches = [
30     # Hardcode GSettings schema path to avoid crashes from missing schemas
31     (substituteAll {
32       src = ./hardcode-gsettings.patch;
33       gds_gsettings_path = glib.getSchemaPath gsettings-desktop-schemas;
34     })
36     # Backport cursor fix for Qt6 apps
37     # Ajusted from https://github.com/FedoraQt/QGnomePlatform/pull/138
38     ./qt6-cursor-fix.patch
39   ];
41   nativeBuildInputs = [
42     cmake
43     pkg-config
44   ];
46   buildInputs = [
47     glib
48     gtk3
49     qtbase
50     qtwayland
51   ] ++ lib.optionals (!useQt6) [
52     adwaita-qt
53   ] ++ lib.optionals useQt6 [
54     adwaita-qt6
55   ];
57   # Qt setup hook complains about missing `wrapQtAppsHook` otherwise.
58   dontWrapQtApps = true;
60   cmakeFlags = [
61     "-DGLIB_SCHEMAS_DIR=${glib.getSchemaPath gsettings-desktop-schemas}"
62     "-DQT_PLUGINS_DIR=${placeholder "out"}/${qtbase.qtPluginPrefix}"
63   ] ++ lib.optionals useQt6 [
64     "-DUSE_QT6=true"
65   ];
67   passthru = {
68     updateScript = nix-update-script { };
69   };
71   meta = with lib; {
72     description = "QPlatformTheme for a better Qt application inclusion in GNOME";
73     homepage = "https://github.com/FedoraQt/QGnomePlatform";
74     license = licenses.lgpl21Plus;
75     maintainers = [ ];
76     platforms = platforms.linux;
77   };