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 { };
|
||||
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user