about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/wayland
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-01-15 10:30:44 +0000
committerAlyssa Ross <hi@alyssa.is>2021-01-15 10:30:44 +0000
commite0794be8a0d11e90461e5a9c85012a36b93ec976 (patch)
treeefd9cbc55ea3322867bf601c4d536758a3dd5fcc /nixpkgs/pkgs/development/libraries/wayland
parent3538874082ded7647b1ccec0343c7c1e882cfef3 (diff)
parent1a57d96edd156958b12782e8c8b6a374142a7248 (diff)
downloadnixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.gz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.bz2
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.lz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.xz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.zst
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.zip
Merge commit '1a57d96edd156958b12782e8c8b6a374142a7248'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/wayland')
-rw-r--r--nixpkgs/pkgs/development/libraries/wayland/0001-add-placeholder-for-nm.patch25
-rw-r--r--nixpkgs/pkgs/development/libraries/wayland/default.nix67
2 files changed, 76 insertions, 16 deletions
diff --git a/nixpkgs/pkgs/development/libraries/wayland/0001-add-placeholder-for-nm.patch b/nixpkgs/pkgs/development/libraries/wayland/0001-add-placeholder-for-nm.patch
new file mode 100644
index 000000000000..f6745e6f9433
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/wayland/0001-add-placeholder-for-nm.patch
@@ -0,0 +1,25 @@
+From 378623b0e39b12bb04d3a3a1e08e64b31bd7d99d Mon Sep 17 00:00:00 2001
+From: Florian Klink <flokli@flokli.de>
+Date: Fri, 27 Nov 2020 10:22:20 +0100
+Subject: [PATCH] add placeholder for @nm@
+
+---
+ egl/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/egl/meson.build b/egl/meson.build
+index dee9b1d..e477546 100644
+--- a/egl/meson.build
++++ b/egl/meson.build
+@@ -11,7 +11,7 @@ wayland_egl = library(
+ 
+ executable('wayland-egl-abi-check', 'wayland-egl-abi-check.c')
+ 
+-nm_path = find_program('nm').path()
++nm_path = find_program('@nm@').path()
+ 
+ test(
+ 	'wayland-egl symbols check',
+-- 
+2.29.2
+
diff --git a/nixpkgs/pkgs/development/libraries/wayland/default.nix b/nixpkgs/pkgs/development/libraries/wayland/default.nix
index 1821d7a72374..2b18bc31a452 100644
--- a/nixpkgs/pkgs/development/libraries/wayland/default.nix
+++ b/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 ];
   };