Merge pull request #79237 from primeos/wayland

wayland: 1.17.0 -> 1.18.0
This commit is contained in:
Michael Weiss 2020-02-12 14:16:40 +01:00 committed by GitHub
commit ebddfc20ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 64 additions and 20 deletions

View file

@ -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;

View file

@ -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

View file

@ -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;