aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/libraries/wayland/default.nix67
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 ];
};