diff --git a/pkgs/development/libraries/waylib/default.nix b/pkgs/development/libraries/waylib/default.nix new file mode 100644 index 000000000000..9aa211ffd3e0 --- /dev/null +++ b/pkgs/development/libraries/waylib/default.nix @@ -0,0 +1,74 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, pkg-config +, wayland-scanner +, wrapQtAppsHook +, qtbase +, qtquick3d +, qwlroots +, wayland +, wayland-protocols +, wlr-protocols +, pixman +, libdrm +, nixos-artwork +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "waylib"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "vioken"; + repo = "waylib"; + rev = finalAttrs.version; + hash = "sha256-3IdrChuXQyQGhJ/7kTqmkV0PyuSNP53Y0Po01Fc9Qi0="; + }; + + postPatch = '' + substituteInPlace examples/tinywl/OutputDelegate.qml \ + --replace "/usr/share/wallpapers/deepin/desktop.jpg" \ + "${nixos-artwork.wallpapers.simple-blue}/share/backgrounds/nixos/nix-wallpaper-simple-blue.png" + ''; + + nativeBuildInputs = [ + cmake + pkg-config + wayland-scanner + wrapQtAppsHook + ]; + + buildInputs = [ + qtbase + qtquick3d + wayland + wayland-protocols + wlr-protocols + pixman + libdrm + ]; + + propagatedBuildInputs = [ + qwlroots + ]; + + cmakeFlags = [ + (lib.cmakeBool "INSTALL_TINYWL" true) + ]; + + strictDeps = true; + + outputs = [ "out" "dev" "bin" ]; + + meta = { + description = "A wrapper for wlroots based on Qt"; + homepage = "https://github.com/vioken/waylib"; + license = with lib.licenses; [ gpl3Only lgpl3Only asl20 ]; + outputsToInstall = [ "out" ]; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ rewine ]; + }; +}) + diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix index 665d2a653eee..571a12ef50d6 100644 --- a/pkgs/top-level/qt6-packages.nix +++ b/pkgs/top-level/qt6-packages.nix @@ -88,6 +88,8 @@ makeScopeWithSplicing' { # is, to allow users to choose the right build if needed. sddm = callPackage ../applications/display-managers/sddm {}; + waylib = callPackage ../development/libraries/waylib { }; + } // lib.optionalAttrs pkgs.config.allowAliases { # Convert to a throw on 01-01-2023. # Warnings show up in various cli tool outputs, throws do not.