From a864d407119980ef5cfd4be079b8ec2b8038102b Mon Sep 17 00:00:00 2001
From: Marius Bakke <marius@gnu.org>
Date: Tue, 23 Jun 2020 22:23:56 +0200
Subject: [PATCH] gnu: mpv: Use deterministic ordering of shared library
 dependencies.

Fixes <https://bugs.gnu.org/42025>.
Reported by Msavoritias <marinus.savoritias@disroot.org>.

* gnu/packages/video.scm (mpv)[arguments]: Add phase 'build-reproducibly'.
---
 gnu/packages/video.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index b206fb32f55..406a2ad5a13 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1534,6 +1534,14 @@ (define-public mpv
                 (("\"youtube-dl\",")
                  (string-append "\"" ytdl "/bin/youtube-dl\",")))
               #t)))
+         (add-before 'configure 'build-reproducibly
+           (lambda _
+             ;; Somewhere in the build system library dependencies are enumerated
+             ;; and passed as linker flags, but the order in which they are added
+             ;; varies.  See <https://github.com/mpv-player/mpv/issues/7855>.
+             ;; Set PYTHONHASHSEED as a workaround for deterministic results.
+             (setenv "PYTHONHASHSEED" "1")
+             #t))
          (add-before
           'configure 'setup-waf
           (lambda* (#:key inputs #:allow-other-keys)
-- 
GitLab