diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix | 67 |
1 files changed, 51 insertions, 16 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix b/infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix index 1821d7a72374..2b18bc31a452 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix @@ -1,17 +1,32 @@ -{ lib, stdenv, fetchurl, meson, pkgconfig, ninja -, libffi, libxml2, wayland +{ lib +, stdenv +, fetchurl +, fetchpatch +, meson +, pkgconfig +, substituteAll +, ninja +, libffi +, libxml2 +, wayland , expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0) , withDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform -, graphviz-nox, doxygen, libxslt, xmlto, python3 -, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42 +, 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; - let isCross = stdenv.buildPlatform != stdenv.hostPlatform; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "wayland"; version = "1.18.0"; @@ -20,6 +35,18 @@ in stdenv.mkDerivation rec { sha256 = "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6"; }; + patches = [ + # Fix documentation to be reproducible. + (fetchpatch { + url = "https://gitlab.freedesktop.org/wayland/wayland/-/commit/e53e0edf0f892670f3e8c5dd527b3bb22335d32d.patch"; + sha256 = "15sbhi86m9k72lsj56p7zr20ph2b0y4svl639snsbafn2ir1zdb2"; + }) + (substituteAll { + src = ./0001-add-placeholder-for-nm.patch; + nm = "${stdenv.cc.targetPrefix}nm"; + }) + ]; + outputs = [ "out" ] ++ lib.optionals withDocumentation [ "doc" "man" ]; separateDebugInfo = true; @@ -27,9 +54,6 @@ in stdenv.mkDerivation rec { postPatch = lib.optionalString withDocumentation '' patchShebangs doc/doxygen/gen-doxygen.py - substituteInPlace egl/meson.build --replace \ - "find_program('nm').path()" \ - "find_program('${stdenv.cc.targetPrefix}nm').path()" ''; depsBuildBuild = [ @@ -37,17 +61,28 @@ in stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - meson pkgconfig ninja + 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 + doxygen + libxslt + xmlto + python3 + docbook_xml_dtd_45 ]; - buildInputs = [ libffi expat libxml2 + buildInputs = [ + libffi + expat + libxml2 ] ++ lib.optionals withDocumentation [ - docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 + docbook_xsl + docbook_xml_dtd_45 + docbook_xml_dtd_42 ]; meta = { @@ -60,9 +95,9 @@ in stdenv.mkDerivation rec { and other interactions that must go through the compositor (but not rendering). ''; - homepage = "https://wayland.freedesktop.org/"; - license = lib.licenses.mit; # Expat version - platforms = lib.platforms.linux; + homepage = "https://wayland.freedesktop.org/"; + license = lib.licenses.mit; # Expat version + platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ primeos codyopel ]; }; |