unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Ian Eure <ian@retrospec.tv>
To: 73643@debbugs.gnu.org
Cc: Ian Eure <ian@retrospec.tv>
Subject: [bug#73643] [PATCH 2/2] gnu: librewolf: Revert video acceleration fix
Date: Sat,  5 Oct 2024 09:19:11 -0700	[thread overview]
Message-ID: <20241005161911.24298-2-ian@retrospec.tv> (raw)
In-Reply-To: <20241005161911.24298-1-ian@retrospec.tv>

This patch partly reverts #73429, because that change makes livestreaming
video refuse to play.

* gnu/packages/librewolf.scm (librewolf): Revert video acceleration fix

Change-Id: Iaf36c64464cd078538fda677ea4fa7b13e7c110f
---
 gnu/packages/librewolf.scm                    | 22 ++++++++++++++-----
 ...librewolf-add-paths-to-rdd-allowlist.patch | 11 ----------
 2 files changed, 17 insertions(+), 16 deletions(-)
 delete mode 100644 gnu/packages/patches/librewolf-add-paths-to-rdd-allowlist.patch

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 32b6d13d54..31de7a7171 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -212,7 +212,7 @@ (define rust-librewolf rust) ; 1.75 is the default in Guix, 1.65 is the minimum.
 ;; Update this id with every update to its release date.
 ;; It's used for cache validation and therefore can lead to strange bugs.
 ;; ex: date '+%Y%m%d%H%M%S'
-(define %librewolf-build-id "20241003201141")
+(define %librewolf-build-id "20241005085731")
 
 (define-public librewolf
   (package
@@ -223,9 +223,7 @@ (define-public librewolf
       (inherit (make-librewolf-source
                 #:version version
                 #:firefox-hash "0w4z3fq5zhm63a0wmhvmqrj263bvy962dir25q3z0x5hx6hjawh2"
-                #:librewolf-hash "0f80pihn375bdjhjmmg2v1w96wpn76zb60ycy39wafwh1dnzybrd"))
-      (patches
-       (search-patches "librewolf-add-paths-to-rdd-allowlist.patch"))))
+                #:librewolf-hash "0f80pihn375bdjhjmmg2v1w96wpn76zb60ycy39wafwh1dnzybrd"))))
     (build-system gnu-build-system)
     (arguments
      (list
@@ -592,12 +590,26 @@ (define (runpaths-of-input label)
                                        ;; For U2F and WebAuthn
                                        "eudev")))
 
+                              ;; VA-API is run in the RDD (Remote Data Decoder) sandbox
+                              ;; and must be explicitly given access to files it needs.
+                              ;; Rather than adding the whole store (as Nix had
+                              ;; upstream do, see
+                              ;; <https://github.com/NixOS/nixpkgs/pull/165964> and
+                              ;; linked upstream patches), we can just follow the
+                              ;; runpaths of the needed libraries to add everything to
+                              ;; LD_LIBRARY_PATH.  These will then be accessible in the
+                              ;; RDD sandbox.
+                              (rdd-whitelist (map (cut string-append <> "/")
+                                                  (delete-duplicates (append-map
+                                                                      runpaths-of-input
+                                                                      '("mesa"
+                                                                        "ffmpeg")))))
                               (gtk-share (string-append (assoc-ref inputs
                                                                    "gtk+")
                                                         "/share")))
                          (wrap-program (car (find-files lib "^librewolf$"))
                            `("LD_LIBRARY_PATH" prefix
-                             ,libs)
+                             (,@libs ,@rdd-whitelist))
                            `("XDG_DATA_DIRS" prefix
                              (,gtk-share))
                            `("MOZ_LEGACY_PROFILES" =
diff --git a/gnu/packages/patches/librewolf-add-paths-to-rdd-allowlist.patch b/gnu/packages/patches/librewolf-add-paths-to-rdd-allowlist.patch
deleted file mode 100644
index 1bee0bddf5..0000000000
--- a/gnu/packages/patches/librewolf-add-paths-to-rdd-allowlist.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-+++ b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-@@ -920,6 +920,8 @@
-   policy->AddDir(rdonly, "/usr/lib64");
-   policy->AddDir(rdonly, "/run/opengl-driver/lib");
-   policy->AddDir(rdonly, "/nix/store");
-+  policy->AddDir(rdonly, "/gnu/store");
-+  policy->AddDir(rdonly, "/run/current-system/profile/lib");
-
-   // Bug 1647957: memory reporting.
-   AddMemoryReporting(policy.get(), aPid);
-- 
2.46.0





  reply	other threads:[~2024-10-05 16:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-05 16:12 [bug#73643] [PATCH 0/2] Fix LibreWolf context menu & livestreaming Ian Eure
2024-10-05 16:19 ` [bug#73643] [PATCH 1/2] gnu: librewolf: Fix broken context menu Ian Eure
2024-10-05 16:19   ` Ian Eure [this message]
2024-10-08  7:39 ` bug#73643: [PATCH 0/2] Fix LibreWolf context menu & livestreaming Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241005161911.24298-2-ian@retrospec.tv \
    --to=ian@retrospec.tv \
    --cc=73643@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).