Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 464a247e93f4
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 428e0fdc540f
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Jan 25, 2021

  1. libxkbcommon: Add a "USE flag" for Wayland support (#110693)

    This can be used to enable the optional "interactive-wayland" subcommand
    of xkbcli.
    primeos authored Jan 25, 2021
    Copy the full SHA
    428e0fd View commit details
Showing with 31 additions and 3 deletions.
  1. +11 −3 pkgs/development/libraries/libxkbcommon/default.nix
  2. +20 −0 pkgs/development/libraries/libxkbcommon/fix-cross-compilation.patch
14 changes: 11 additions & 3 deletions pkgs/development/libraries/libxkbcommon/default.nix
Original file line number Diff line number Diff line change
@@ -2,6 +2,8 @@
, xkeyboard_config, libxcb, libxml2
, python3
, libX11
# To enable the "interactive-wayland" subcommand of xkbcli:
, withWaylandSupport ? false, wayland, wayland-protocols
}:

stdenv.mkDerivation rec {
@@ -13,18 +15,24 @@ stdenv.mkDerivation rec {
sha256 = "0lmwglj16anhpaq0h830xsl1ivknv75i4lir9bk88aq73s2jy852";
};

patches = [
./fix-cross-compilation.patch
];

outputs = [ "out" "dev" "doc" ];

nativeBuildInputs = [ meson ninja pkg-config yacc doxygen ];
buildInputs = [ xkeyboard_config libxcb libxml2 ];
nativeBuildInputs = [ meson ninja pkg-config yacc doxygen ]
++ lib.optional withWaylandSupport wayland;
buildInputs = [ xkeyboard_config libxcb libxml2 ]
++ lib.optionals withWaylandSupport [ wayland wayland-protocols ];
checkInputs = [ python3 ];

mesonFlags = [
"-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"
"-Dxkb-config-extra-path=/etc/xkb" # default=$sysconfdir/xkb ($out/etc)
"-Dx-locale-root=${libX11.out}/share/X11/locale"
"-Denable-wayland=false"
"-Denable-xkbregistry=false" # Optional, separate library (TODO: Install into extra output)
"-Denable-wayland=${lib.boolToString withWaylandSupport}"
];

doCheck = true;
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
diff --git a/meson.build b/meson.build
index 47c436f..536c60b 100644
--- a/meson.build
+++ b/meson.build
@@ -440,13 +440,12 @@ if build_tools
if get_option('enable-wayland')
wayland_client_dep = dependency('wayland-client', version: '>=1.2.0', required: false)
wayland_protocols_dep = dependency('wayland-protocols', version: '>=1.12', required: false)
- wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)
- if not wayland_client_dep.found() or not wayland_protocols_dep.found() or not wayland_scanner_dep.found()
+ if not wayland_client_dep.found() or not wayland_protocols_dep.found()
error('''The Wayland xkbcli programs require wayland-client >= 1.2.0, wayland-protocols >= 1.7 which were not found.
You can disable the Wayland xkbcli programs with -Denable-wayland=false.''')
endif

- wayland_scanner = find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'))
+ wayland_scanner = find_program('wayland-scanner', native: true)
wayland_scanner_code_gen = generator(
wayland_scanner,
output: '@BASENAME@-protocol.c',