Compare commits

...

2 Commits

Author SHA1 Message Date
a298d95bd6
psst: 20210103.002c2bb -> 20210114.1fadc78 2021-01-23 14:17:17 +11:00
aceffb4e50
cardboard: init at 20210120 2021-01-23 14:14:56 +11:00
4 changed files with 139 additions and 4 deletions

View File

@ -21,15 +21,15 @@ assert withGui -> gtk3.meta.available;
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "psst"; pname = "psst";
version = "20210103.002c2bb"; version = "20210114.1fadc78";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jpochyla"; owner = "jpochyla";
repo = "psst"; repo = "psst";
rev = "002c2bbd610ab7a49b095cd871c56bfe2c3a9f6b"; rev = "1fadc78912af4d52e5e20e60e185f8e3ddcfc82e";
sha256 = "883ecb0ae2ef5af441dc4fe15ef15a2077f2cef10ab3e96096c38355acdba031"; sha256 = "1dvsxd3rica8sm9nlx14vh37wb9aclsz33ahklcfga7w0w8l4zzr";
fetchSubmodules = true; fetchSubmodules = true;
}; };
cargoSha256 = "e3f94e41fda9e2bc55b48ee77487d574d35e771fbd13a565432f30cda26654a1"; cargoSha256 = "05miwyjyd9zjcxw3aws0xcv1jgmy0md8pa6vljg8wiqgknjxcw56";
nativeBuildInputs = [ pkg-config ] nativeBuildInputs = [ pkg-config ]
++ optional withGui copyDesktopItems; ++ optional withGui copyDesktopItems;

View File

@ -0,0 +1,62 @@
diff --git a/cardboard/meson.build b/cardboard/meson.build
index b236f71..a90f230 100644
--- a/cardboard/meson.build
+++ b/cardboard/meson.build
@@ -4,24 +4,15 @@ xkbcommon = dependency('xkbcommon')
xcb = dependency('xcb', required: get_option('xwayland'))
wlroots_version = '>=0.10.0'
-wlroots_proj = subproject(
+wlroots = dependency(
'wlroots',
- default_options: ['examples=false'],
required: true,
version: wlroots_version,
)
-wlroots = wlroots_proj.get_variable('wlroots')
-wlroots_conf = wlroots_proj.get_variable('conf_data')
-wlroots_has_xwayland = wlroots_conf.get('WLR_HAS_XWAYLAND') == 1
+have_xwayland = xcb.found()
-if get_option('xwayland').enabled() and not wlroots_has_xwayland
- error('Cannot enable Xwayland support in cardboard: wlroots has been built without Xwayland support')
-endif
-have_xwayland = xcb.found() and wlroots_has_xwayland
-
-expected_proj = subproject('expected', required: true)
-expected = expected_proj.get_variable('expected_dep')
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
conf_data = configuration_data()
conf_data.set10('HAVE_XWAYLAND', have_xwayland)
diff --git a/cutter/meson.build b/cutter/meson.build
index f1260a4..1485f37 100644
--- a/cutter/meson.build
+++ b/cutter/meson.build
@@ -1,6 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-only
-expected_proj = subproject('expected', required: true)
-expected = expected_proj.get_variable('expected_dep')
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
executable(
'cutter',
diff --git a/libcardboard/meson.build b/libcardboard/meson.build
index 89698fe..3ac8115 100644
--- a/libcardboard/meson.build
+++ b/libcardboard/meson.build
@@ -1,11 +1,9 @@
# SPDX-License-Identifier: GPL-3.0-only
libcardboard_inc = include_directories('include')
-expected_proj = subproject('expected', required: true)
-expected = expected_proj.get_variable('expected_dep')
+expected = dependency('tl-expected', required: true, method: 'cmake', modules: ['tl::expected'])
-cereal_proj = subproject('cereal', required: true)
-cereal = cereal_proj.get_variable('cereal_dep')
+cereal = dependency('cereal', required: true, method: 'cmake')
sources = files(
'src/command_protocol.cpp',

View File

@ -0,0 +1,71 @@
{ stdenv
, fetchFromGitLab
, fetchzip
, cereal
, cmake
, git
, libGL
, libX11
, libinput
, libxkbcommon
, mesa
, meson
, ninja
, pixman
, pkg-config
, tl-expected
, wayland
, wayland-protocols
, wlroots
, xwayland
}:
stdenv.mkDerivation rec {
pname = "cardboard";
version = "20210120";
src = fetchFromGitLab {
owner = "cardboardwm";
repo = "cardboard";
rev = "7b15613e6e1222a6a83d69a2e5da2810dfb45522";
sha256 = "sha256-uL7zG2Q2tnGicWBeXgNjWK/drz2bbmbb5Z69sClYmhA=";
};
patches = [
./0001-use-system-dependencies.patch
];
# CMake likes to own the configurePhase, but we only need it for dependency
# discovery. Remove it.
configurePhase = "mesonConfigurePhase";
nativeBuildInputs = [
cmake
meson
ninja
pkg-config
];
buildInputs = [
cereal
libGL
libX11
libinput
libxkbcommon
pixman
tl-expected
wayland
wayland-protocols
wlroots
];
passthru.providedSessions = [ "cardboard" ];
meta = {
description = "Scrollable tiling Wayland compositor designed with laptops in mind";
homepage = "https://gitlab.com/cardboardwm/cardboard";
license = stdenv.lib.licenses.gpl3;
platforms = wlroots.meta.platforms;
};
}

View File

@ -43,6 +43,8 @@ rec {
amdgpu-fan = pkgs.callPackage ../tools/misc/amdgpu-fan { }; amdgpu-fan = pkgs.callPackage ../tools/misc/amdgpu-fan { };
cardboard = pkgs.callPackage ../applications/window-managers/cardboard { };
goModules = pkgs.recurseIntoAttrs rec { goModules = pkgs.recurseIntoAttrs rec {
qt = pkgs.libsForQt512.callPackage ../development/go-modules/qt { }; qt = pkgs.libsForQt512.callPackage ../development/go-modules/qt { };
}; };