summaryrefslogtreecommitdiff
path: root/packages/wayland-protocols.nix
diff options
context:
space:
mode:
Diffstat (limited to 'packages/wayland-protocols.nix')
-rw-r--r--packages/wayland-protocols.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/packages/wayland-protocols.nix b/packages/wayland-protocols.nix
new file mode 100644
index 0000000..76976be
--- /dev/null
+++ b/packages/wayland-protocols.nix
@@ -0,0 +1,55 @@
+{ lib, stdenv, fetchurl
+, pkg-config
+, meson, ninja, wayland-scanner
+, python3, wayland
+, gitUpdater, testers
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "wayland-protocols";
+ version = "1.38";
+
+ doCheck = stdenv.hostPlatform == stdenv.buildPlatform &&
+ # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/48
+ stdenv.hostPlatform.linker == "bfd" && lib.meta.availableOn stdenv.hostPlatform wayland;
+
+ src = fetchurl {
+ url = "https://gitlab.freedesktop.org/wayland/${finalAttrs.pname}/-/releases/${finalAttrs.version}/downloads/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
+ hash = "sha256-/xcpLAUVnSsgzmys/kLX4xooGY+hQpp2mwOvfDhYHb4=";
+ };
+
+ postPatch = lib.optionalString finalAttrs.doCheck ''
+ patchShebangs tests/
+ '';
+
+ depsBuildBuild = [ pkg-config ];
+ nativeBuildInputs = [ meson ninja wayland-scanner ];
+ nativeCheckInputs = [ python3 ];
+ checkInputs = [ wayland ];
+
+ mesonFlags = [ "-Dtests=${lib.boolToString finalAttrs.doCheck}" ];
+
+ meta = {
+ description = "Wayland protocol extensions";
+ longDescription = ''
+ wayland-protocols contains Wayland protocols that add functionality not
+ available in the Wayland core protocol. Such protocols either add
+ completely new functionality, or extend the functionality of some other
+ protocol either in Wayland core, or some other protocol in
+ wayland-protocols.
+ '';
+ homepage = "https://gitlab.freedesktop.org/wayland/wayland-protocols";
+ license = lib.licenses.mit; # Expat version
+ platforms = lib.platforms.all;
+ maintainers = with lib.maintainers; [ primeos ];
+ pkgConfigModules = [ "wayland-protocols" ];
+ };
+
+ passthru.updateScript = gitUpdater {
+ url = "https://gitlab.freedesktop.org/wayland/wayland-protocols.git";
+ };
+ passthru.version = finalAttrs.version;
+ passthru.tests.pkg-config = testers.hasPkgConfigModules {
+ package = finalAttrs.finalPackage;
+ };
+})