Merge pull request #79237 from primeos/wayland
wayland: 1.17.0 -> 1.18.0
This commit is contained in:
commit
ebddfc20ce
@ -1,43 +1,66 @@
|
|||||||
{ lib, stdenv, fetchurl, pkgconfig
|
{ lib, stdenv, fetchurl, meson, pkgconfig, ninja
|
||||||
, libffi, libxml2, wayland
|
, libffi, libxml2, wayland
|
||||||
, expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
|
, 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
|
# Require the optional to be enabled until upstream fixes or removes the configure flag
|
||||||
assert expat != null;
|
assert expat != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
|
isCross = stdenv.buildPlatform != stdenv.hostPlatform;
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
pname = "wayland";
|
pname = "wayland";
|
||||||
version = "1.17.0";
|
version = "1.18.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
|
url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
|
||||||
sha256 = "194ibzwpdcn6fvk4xngr4bf5axpciwg2bj82fdvz88kfmjw13akj";
|
sha256 = "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6";
|
||||||
};
|
};
|
||||||
|
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
configureFlags = [
|
mesonFlags = [ "-Ddocumentation=${lib.boolToString withDocumentation}" ];
|
||||||
"--disable-documentation"
|
|
||||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
patches = lib.optional isCross ./fix-wayland-cross-compilation.patch;
|
||||||
"--with-host-scanner"
|
|
||||||
];
|
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 = [
|
nativeBuildInputs = [
|
||||||
pkgconfig
|
meson pkgconfig ninja
|
||||||
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
] ++ lib.optionals isCross [
|
||||||
# for wayland-scanner during build
|
wayland # For wayland-scanner during the build
|
||||||
wayland
|
] ++ 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 = {
|
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/;
|
homepage = https://wayland.freedesktop.org/;
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit; # Expat version
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = with lib.maintainers; [ codyopel ];
|
maintainers = with lib.maintainers; [ primeos codyopel ];
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru.version = version;
|
passthru.version = version;
|
||||||
|
@ -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
|
@ -17,10 +17,17 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Wayland protocol extensions";
|
description = "Wayland protocol extensions";
|
||||||
homepage = https://wayland.freedesktop.org/;
|
longDescription = ''
|
||||||
license = lib.licenses.mit;
|
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;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = with lib.maintainers; [ ];
|
maintainers = with lib.maintainers; [ primeos ];
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru.version = version;
|
passthru.version = version;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user