commit
8d9b52d1d0
61
pkgs/development/libraries/wayqt/default.nix
Normal file
61
pkgs/development/libraries/wayqt/default.nix
Normal file
@ -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;
|
||||||
|
};
|
||||||
|
})
|
@ -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() )
|
||||||
|
|
@ -90,6 +90,8 @@ makeScopeWithSplicing' {
|
|||||||
|
|
||||||
waylib = callPackage ../development/libraries/waylib { };
|
waylib = callPackage ../development/libraries/waylib { };
|
||||||
|
|
||||||
|
wayqt = callPackage ../development/libraries/wayqt { };
|
||||||
|
|
||||||
} // lib.optionalAttrs pkgs.config.allowAliases {
|
} // lib.optionalAttrs pkgs.config.allowAliases {
|
||||||
# Convert to a throw on 01-01-2023.
|
# Convert to a throw on 01-01-2023.
|
||||||
# Warnings show up in various cli tool outputs, throws do not.
|
# Warnings show up in various cli tool outputs, throws do not.
|
||||||
|
Loading…
Reference in New Issue
Block a user