diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-04-01 15:50:50 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-04-01 15:50:50 +0000 |
commit | 75eafe97f7df0d653bec67f3962214d7c357831f (patch) | |
tree | 09f2cc901e0e637876cbb78d192dfe2fcfef8156 /nixpkgs/pkgs/development/libraries/wayland | |
parent | a53b121bf4331497da63df3b1b7f1a7897dad146 (diff) | |
parent | a2e06fc3423c4be53181b15c28dfbe0bcf67dd73 (diff) | |
download | nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.gz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.bz2 nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.lz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.xz nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.zst nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.zip |
Merge commit 'a2e06fc3423c4be53181b15c28dfbe0bcf67dd73'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/wayland')
3 files changed, 66 insertions, 22 deletions
diff --git a/nixpkgs/pkgs/development/libraries/wayland/default.nix b/nixpkgs/pkgs/development/libraries/wayland/default.nix index 60d240552d4f..ef88e690067b 100644 --- a/nixpkgs/pkgs/development/libraries/wayland/default.nix +++ b/nixpkgs/pkgs/development/libraries/wayland/default.nix @@ -1,43 +1,66 @@ -{ lib, stdenv, fetchurl, pkgconfig +{ lib, stdenv, fetchurl, meson, pkgconfig, ninja , libffi, libxml2, wayland , expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0) +, withDocumentation ? false, graphviz-nox, doxygen, libxslt, xmlto, python3 +, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42 }: # Require the optional to be enabled until upstream fixes or removes the configure flag assert expat != null; -stdenv.mkDerivation rec { +let + isCross = stdenv.buildPlatform != stdenv.hostPlatform; +in stdenv.mkDerivation rec { pname = "wayland"; - version = "1.17.0"; + version = "1.18.0"; src = fetchurl { url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz"; - sha256 = "194ibzwpdcn6fvk4xngr4bf5axpciwg2bj82fdvz88kfmjw13akj"; + sha256 = "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6"; }; separateDebugInfo = true; - configureFlags = [ - "--disable-documentation" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "--with-host-scanner" - ]; + mesonFlags = [ "-Ddocumentation=${lib.boolToString withDocumentation}" ]; + + patches = lib.optional isCross ./fix-wayland-cross-compilation.patch; + + postPatch = lib.optionalString withDocumentation '' + patchShebangs doc/doxygen/gen-doxygen.py + '' + lib.optionalString isCross '' + substituteInPlace egl/meson.build --replace \ + "find_program('nm').path()" \ + "find_program('${stdenv.cc.targetPrefix}nm').path()" + ''; nativeBuildInputs = [ - pkgconfig - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - # for wayland-scanner during build - wayland + meson pkgconfig ninja + ] ++ lib.optionals isCross [ + wayland # For wayland-scanner during the build + ] ++ lib.optionals withDocumentation [ + (graphviz-nox.override { pango = null; }) # To avoid an infinite recursion + doxygen libxslt xmlto python3 docbook_xml_dtd_45 ]; - buildInputs = [ libffi /* docbook_xsl doxygen graphviz libxslt xmlto */ expat libxml2 ]; + buildInputs = [ libffi expat libxml2 + ] ++ lib.optionals withDocumentation [ + docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 + ]; meta = { - description = "Reference implementation of the wayland protocol"; + description = "Core Wayland window system code and protocol"; + longDescription = '' + Wayland is a project to define a protocol for a compositor to talk to its + clients as well as a library implementation of the protocol. + The wayland protocol is essentially only about input handling and buffer + management, but also handles drag and drop, selections, window management + and other interactions that must go through the compositor (but not + rendering). + ''; homepage = https://wayland.freedesktop.org/; - license = lib.licenses.mit; + license = lib.licenses.mit; # Expat version platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ codyopel ]; + maintainers = with lib.maintainers; [ primeos codyopel ]; }; passthru.version = version; diff --git a/nixpkgs/pkgs/development/libraries/wayland/fix-wayland-cross-compilation.patch b/nixpkgs/pkgs/development/libraries/wayland/fix-wayland-cross-compilation.patch new file mode 100644 index 000000000000..77639acb6530 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/wayland/fix-wayland-cross-compilation.patch @@ -0,0 +1,14 @@ +diff --git a/src/meson.build b/src/meson.build +index 3e8c9bf..75241cb 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -55,8 +55,7 @@ pkgconfig.generate( + ) + + if meson.is_cross_build() +- scanner_dep = dependency('wayland-scanner', native: true, version: '>=1.14.0') +- wayland_scanner_for_build = find_program(scanner_dep.get_pkgconfig_variable('wayland_scanner')) ++ wayland_scanner_for_build = find_program('wayland-scanner', native: true, version: '>=1.14.0') + else + wayland_scanner_for_build = wayland_scanner + endif diff --git a/nixpkgs/pkgs/development/libraries/wayland/protocols.nix b/nixpkgs/pkgs/development/libraries/wayland/protocols.nix index 0b367f4a930f..41495b1c2e50 100644 --- a/nixpkgs/pkgs/development/libraries/wayland/protocols.nix +++ b/nixpkgs/pkgs/development/libraries/wayland/protocols.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "wayland-protocols"; - version = "1.18"; + version = "1.20"; src = fetchurl { url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz"; - sha256 = "1cvl93h83ymbfhb567jv5gzyq08181w7c46rsw4xqqqpcvkvfwrx"; + sha256 = "1rsdgvkkvxs3cjhpl6agvbkm53vm7k8rg127j9y2vn33m2hvg0lp"; }; nativeBuildInputs = [ pkgconfig ]; @@ -17,10 +17,17 @@ stdenv.mkDerivation rec { meta = { description = "Wayland protocol extensions"; - homepage = https://wayland.freedesktop.org/; - license = lib.licenses.mit; + 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.linux; - maintainers = with lib.maintainers; [ ]; + maintainers = with lib.maintainers; [ primeos ]; }; passthru.version = version; |