Skip to content

Commit

Permalink
Merge pull request #263965 from wineee/wayqt
Browse files Browse the repository at this point in the history
wayqt: init at 0.2.0
  • Loading branch information
Atemu authored Feb 6, 2024
2 parents 2d927a6 + 1fb9ffe commit 8d9b52d
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 0 deletions.
61 changes: 61 additions & 0 deletions pkgs/development/libraries/wayqt/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{ stdenv
, lib
, fetchFromGitLab
, substituteAll
, meson
, pkg-config
, qttools
, ninja
, qtbase
, qtwayland
, wayland
}:

stdenv.mkDerivation (finalAttrs: {
pname = "wayqt";
version = "0.2.0";

src = fetchFromGitLab {
owner = "desktop-frameworks";
repo = "wayqt";
rev = "v${finalAttrs.version}";
hash = "sha256-qlRRkqhKlcsd9lzlqfE0V0gjudELyENu4IH1NfO/+pI=";
};

patches = [
# qmake get qtbase's path, but wayqt need qtwayland
(substituteAll {
src = ./fix-qtwayland-header-path.diff;
qtWaylandPath = "${qtwayland}/include";
})
];

nativeBuildInputs = [
meson
pkg-config
qttools
ninja
];

buildInputs = [
qtbase
qtwayland
wayland
];

mesonFlags = [
"-Duse_qt_version=qt6"
];

dontWrapQtApps = true;

outputs = [ "out" "dev" ];

meta = {
homepage = "https://gitlab.com/desktop-frameworks/wayqt";
description = "Qt-based library to handle Wayland and Wlroots protocols to be used with any Qt project";
maintainers = with lib.maintainers; [ rewine ];
platforms = lib.platforms.linux;
license = lib.licenses.mit;
};
})
16 changes: 16 additions & 0 deletions pkgs/development/libraries/wayqt/fix-qtwayland-header-path.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
diff --git a/meson.build b/meson.build
index 5c09644..fc65d37 100644
--- a/meson.build
+++ b/meson.build
@@ -39,9 +39,8 @@ elif get_option('use_qt_version') == 'qt6'
private_headers: [ 'Gui', 'WaylandClient', 'WaylandGlobalPrivate' ],
)

- qmake = find_program( [ 'qmake-qt6', 'qmake6' ], required: true )
- ret = run_command( qmake, '-query', 'QT_INSTALL_HEADERS', check: true )
- QtHeaderPath = ret.stdout().strip()
+ qmake = find_program( [ 'qmake-qt6', 'qmake6' ], required: false )
+ QtHeaderPath = '@qtWaylandPath@'

QtGlobal = '@0@/QtWaylandGlobal/@1@'.format( QtHeaderPath, QtDeps.version() )

2 changes: 2 additions & 0 deletions pkgs/top-level/qt6-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ makeScopeWithSplicing' {

waylib = callPackage ../development/libraries/waylib { };

wayqt = callPackage ../development/libraries/wayqt { };

} // lib.optionalAttrs pkgs.config.allowAliases {
# Convert to a throw on 01-01-2023.
# Warnings show up in various cli tool outputs, throws do not.
Expand Down

0 comments on commit 8d9b52d

Please sign in to comment.