summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/check.scm8
-rw-r--r--gnu/packages/freedesktop.scm162
-rw-r--r--gnu/packages/image.scm51
-rw-r--r--gnu/packages/jami.scm5
-rw-r--r--gnu/packages/lisp.scm15
-rw-r--r--gnu/packages/patches/vlc-dav1d-compat.patch70
-rw-r--r--gnu/packages/video.scm57
-rw-r--r--gnu/packages/vulkan.scm113
9 files changed, 267 insertions, 215 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 02cd182f06..a630af7a0b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1981,6 +1981,7 @@ dist_patch_DATA = \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
%D%/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch \
+ %D%/packages/patches/vlc-dav1d-compat.patch \
%D%/packages/patches/vsearch-unbundle-cityhash.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index c900a055d5..56a848fd17 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1400,13 +1400,13 @@ Python's @code{random.seed}.")
(define-public python-pytest-mock
(package
(name "python-pytest-mock")
- (version "3.6.1")
+ (version "3.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-mock" version))
(sha256
- (base32 "0qhfmd05z3g88bnwq6644jl6p5wy01i4yy7h8883z9jjih2pl8a0"))
+ (base32 "0kzdwwdjw001qzf1n4qzh7c364rvmb0cmkfqdwr2l9bwxy2v1ggv"))
(modules '((guix build utils)))
(snippet
;; Some tests do a string match on Pytest output, and fails when
@@ -1512,14 +1512,14 @@ result back.")
(define-public python-pytest-timeout
(package
(name "python-pytest-timeout")
- (version "2.0.2")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-timeout" version))
(sha256
(base32
- "04l1cd2qyp3fbccw95a8nqg682r647v7yil8807dgs7xv9a8pyg6"))))
+ "1nf339zg6qam3681f72j9c8fbqk8qcilna92psmzh4n60isa0z60"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index d74d6aa935..7d0ba22f75 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -391,112 +391,82 @@ inappropriate content.")
(name "xdg-utils")
(version "1.1.3")
(source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://portland.freedesktop.org/download/xdg-utils-"
- version ".tar.gz"))
- (sha256
- (base32
- "1nai806smz3zcb2l5iny4x7li0fak0rzmjg6vlyhdqm8z25b166p"))))
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://portland.freedesktop.org/download/xdg-utils-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1nai806smz3zcb2l5iny4x7li0fak0rzmjg6vlyhdqm8z25b166p"))))
(build-system gnu-build-system)
(native-inputs
(list docbook-xsl docbook-xml-4.1.2 libxslt w3m xmlto))
(inputs
- `(("awk" ,gawk)
- ;; TODO(staging): Make this unconditional, to avoid canonical packages,
- ;; see <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00148.html>.
- ,@(if (%current-target-system)
- `(("bash-minimal" ,bash-minimal)) ; for 'wrap-program'
- '())
- ("coreutils" ,coreutils)
- ,@(if (%current-target-system)
- `(("file" ,file))
- '())
- ("grep" ,grep)
- ("inetutils" ,inetutils) ; xdg-screensaver uses `hostname'
- ("perl-file-mimeinfo" ,perl-file-mimeinfo) ; for mimeopen fallback
- ("sed" ,sed)
- ("xprop" ,xprop) ; for Xfce detecting
- ("xset" ,xset))) ; for xdg-screensaver
+ (list bash-minimal ;for 'wrap-program'
+ coreutils
+ file
+ gawk
+ grep
+ inetutils ;xdg-screensaver uses `hostname'
+ perl-file-mimeinfo ;for mimeopen fallback
+ sed
+ xprop ;for Xfce detecting
+ xset)) ;for xdg-screensaver
(arguments
- `(#:tests? #f ; no check target
- #:modules ((srfi srfi-26)
+ (list
+ #:tests? #f ;no check target
+ #:modules `((srfi srfi-26)
,@%gnu-build-system-modules)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-hardcoded-paths
- ;; TODO(staging): make unconditional
- (,@(if (%current-target-system)
- '(lambda* (#:key inputs #:allow-other-keys))
- '(lambda _))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-hardcoded-paths
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "scripts/xdg-mime.in"
(("/usr/bin/file")
- (,@(if (%current-target-system)
- '(search-input-file inputs "bin/file")
- '(which "file")))))
+ (search-input-file inputs "bin/file")))
(substitute* "scripts/xdg-open.in"
(("/usr/bin/printf")
- (,@(if (%current-target-system)
- '(search-input-file inputs "bin/printf")
- '(which "printf")))))
- #t))
- (add-before 'build 'locate-catalog-files
- ;; TODO(staging): Make unconditional for simplicity.
- (lambda* (#:key inputs ,@(if (%current-target-system)
- '(native-inputs)
- '()) #:allow-other-keys)
- ;; TODO(staging): Make unconditional for simplicity and
- ;; to avoid depending on input labels.
- (let ,(if (%current-target-system)
- `((native-inputs (or native-inputs inputs))
- (xmldoc (search-input-directory native-inputs
- "xml/dtd/docbook"))
- (xsldoc
- (search-input-directory
- native-inputs
- (string-append "xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl)))))
- `((xmldoc
- (string-append (assoc-ref inputs "docbook-xml")
- "/xml/dtd/docbook"))
- (xsldoc
- (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl)))))
- (for-each (lambda (file)
- (substitute* file
- (("http://.*/docbookx\\.dtd")
- (string-append xmldoc "/docbookx.dtd"))))
- (find-files "scripts/desc" "\\.xml$"))
- (substitute* "scripts/Makefile"
- ;; Apparently `xmlto' does not bother to looks up the stylesheets
- ;; specified in the XML, unlike the above substitition. Instead it
- ;; uses a hard-coded URL. Work around it here, but if this is
- ;; common perhaps we should hardcode this path in xmlto itself.
- (("\\$\\(XMLTO\\) man")
- (string-append "$(XMLTO) -x " xsldoc
- "/manpages/docbook.xsl man")))
- (setenv "STYLESHEET"
- (string-append xsldoc "/html/docbook.xsl"))
- ;; TODO(staging): Might as well remove the #t while we are at
- ;; it.
- #t)))
- (add-after 'install 'wrap-executables
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (with-directory-excursion (string-append out "/bin")
- (let ((path-ext
- (map (cute string-append <> "/bin")
- (cons out
- (map (cute assoc-ref inputs <>)
- '("awk" "coreutils" "grep" "inetutils"
- "perl-file-mimeinfo" "sed" "xprop"
- "xset"))))))
- (for-each (cute wrap-program <>
- `("PATH" ":" prefix ,path-ext))
- (find-files "."))))
- #t))))))
+ (search-input-file inputs "bin/printf")))))
+ (add-before 'build 'locate-catalog-files
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (let* ((native (or native-inputs inputs))
+ (xmldoc (search-input-directory native
+ "xml/dtd/docbook"))
+ (xsldoc (search-input-directory
+ native
+ (string-append "xml/xsl/docbook-xsl-"
+ #$(package-version
+ (this-package-native-input
+ "docbook-xsl"))))))
+ (for-each (lambda (file)
+ (substitute* file
+ (("http://.*/docbookx\\.dtd")
+ (string-append xmldoc "/docbookx.dtd"))))
+ (find-files "scripts/desc" "\\.xml$"))
+ (substitute* "scripts/Makefile"
+ ;; Apparently `xmlto' does not bother to looks up the stylesheets
+ ;; specified in the XML, unlike the above substitition. Instead it
+ ;; uses a hard-coded URL. Work around it here, but if this is
+ ;; common perhaps we should hardcode this path in xmlto itself.
+ (("\\$\\(XMLTO\\) man")
+ (string-append "$(XMLTO) -x " xsldoc
+ "/manpages/docbook.xsl man")))
+ (setenv "STYLESHEET"
+ (string-append xsldoc "/html/docbook.xsl")))))
+ (add-after 'install 'wrap-executables
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((dependencies '("awk" "grep" "hostname" "ls" "mimeopen"
+ "sed" "xprop" "xset"))
+ (pkgs (map (lambda (cmd)
+ (search-input-file inputs
+ (string-append "bin/" cmd)))
+ dependencies))
+ (bindirs (map dirname pkgs)))
+ (with-directory-excursion (string-append #$output "/bin")
+ (for-each (cute wrap-program <>
+ `("PATH" ":" prefix ,bindirs))
+ (find-files ".")))))))))
(home-page "https://www.freedesktop.org/wiki/Software/xdg-utils/")
(synopsis "Freedesktop.org scripts for desktop integration")
(description "The xdg-utils package is a set of simple scripts that
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 9e53b7483e..b2d9d12c4d 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2155,7 +2155,7 @@ This package can be used to create @code{favicon.ico} files for web sites.")
(define-public libavif
(package
(name "libavif")
- (version "0.9.2")
+ (version "0.11.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2164,35 +2164,38 @@ This package can be used to create @code{favicon.ico} files for web sites.")
(file-name (git-file-name name version))
(sha256
(base32
- "1yxmgjlxm1srm98zyj79bj8r8vmg67daqnq0ggcvxknq54plkznk"))))
+ "02zmb62g0yx6rfz4w1isyzfrckv5i7dzyz26rp2mspbx9w6v8j4r"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON"
- ,@(if (string-prefix? "x86_64"
- (or (%current-target-system)
- (%current-system)))
- '("-DAVIF_CODEC_RAV1E=ON")
- '())
- "-DAVIF_BUILD_TESTS=ON")
+ (list #:configure-flags
+ #~'("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON"
+ #$@(if (string-prefix? "x86_64"
+ (or (%current-target-system)
+ (%current-system)))
+ '("-DAVIF_CODEC_RAV1E=ON")
+ '())
+ "-DAVIF_BUILD_TESTS=ON")
#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "./aviftest" "../source/tests/data")))
- (add-after 'install 'install-readme
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/libavif-" ,version)))
- (install-file "../source/README.md" doc)))))))
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-readme
+ (lambda _
+ (let ((doc (string-append #$output "/share/doc/libavif-"
+ #$(package-version this-package))))
+ (install-file "../source/README.md" doc)))))))
+ (native-inputs (list googletest))
(inputs
- `(("dav1d" ,dav1d)
- ("libaom" ,libaom)
+ (append
+ (list dav1d
+ libaom
+ libjpeg-turbo
+ libpng
+ zlib)
;; XXX: rav1e depends on rust, which currently only works on x86_64.
;; See also the related configure flag when changing this.
- ,@(if (string-prefix? "x86_64" (or (%current-target-system)
- (%current-system)))
- `(("rav1e" ,rav1e))
- '())))
+ (if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ (list rav1e)
+ '())))
(synopsis "Encode and decode AVIF files")
(description "Libavif is a C implementation of @acronym{AVIF, the AV1 Image
File Format}. It can encode and decode all YUV formats and bit depths supported
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index a9a988ca5a..7e4fb04e0f 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -422,10 +422,7 @@
(substitute* "tests/fate/lavf-container.mak"
(("mov mov_rtphint ismv")
"mov ismv")
- (("fate-lavf-mov_rtphint:.*") ""))))))))
- (inputs (modify-inputs (package-inputs ffmpeg-5)
- (replace "libvpx" libvpx-next)
- (replace "libx264" libx264-next)))))
+ (("fate-lavf-mov_rtphint:.*") ""))))))))))
(define-public libjami
(package
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 0749a02cd7..800bba21a0 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -433,7 +433,13 @@ an interpreter, a compiler, a debugger, and much more.")
;; TODO: remove this patch when updating to sbcl > 2.2.10.
(search-patches "sbcl-fix-build-on-arm64-with-clisp-as-host.patch"))
(sha256
- (base32 "0cq8x4svkawirxq5s5gs4qxkl23m4q5p722a2kpss8qjfslc7hwc"))))
+ (base32 "0cq8x4svkawirxq5s5gs4qxkl23m4q5p722a2kpss8qjfslc7hwc"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Don't force ARMv5.
+ (substitute* "src/runtime/Config.arm-linux"
+ (("-march=armv5") ""))))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(native-inputs
@@ -479,13 +485,6 @@ an interpreter, a compiler, a debugger, and much more.")
(srfi srfi-1))
#:phases
(modify-phases %standard-phases
- ,@(if (target-arm32?)
- ;; TODO: Move to snippet in staging.
- `((add-after 'unpack 'dont-force-armv5
- (lambda _
- (substitute* "src/runtime/Config.arm-linux"
- (("-march=armv5") "")))))
- '())
(delete 'configure)
(add-after 'unpack 'fix-build-id
;; One of the build scripts makes a build id using the current date.
diff --git a/gnu/packages/patches/vlc-dav1d-compat.patch b/gnu/packages/patches/vlc-dav1d-compat.patch
new file mode 100644
index 0000000000..3cb737faba
--- /dev/null
+++ b/gnu/packages/patches/vlc-dav1d-compat.patch
@@ -0,0 +1,70 @@
+Fix build against dav1d 1.0.
+
+ https://code.videolan.org/videolan/vlc/-/merge_requests/1618
+
+Patch adjusted for VLC 3.0 taken from Gentoo:
+
+ https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch
+
+--- a/modules/codec/dav1d.c
++++ b/modules/codec/dav1d.c
+@@ -63,10 +63,16 @@ vlc_module_begin ()
+ set_category(CAT_INPUT)
+ set_subcategory(SUBCAT_INPUT_VCODEC)
+
++#if DAV1D_API_VERSION_MAJOR >= 6
++ add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_THREADS,
++ THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false)
++ add_obsolete_string("dav1d-thread-tiles") // unused with dav1d 1.0
++#else
+ add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
+ THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false)
+ add_integer_with_range("dav1d-thread-tiles", 0, 0, DAV1D_MAX_TILE_THREADS,
+ THREAD_TILES_TEXT, THREAD_TILES_LONGTEXT, false)
++#endif
+ vlc_module_end ()
+
+ /*****************************************************************************
+@@ -294,6 +300,11 @@ static int OpenDecoder(vlc_object_t *p_this)
+ return VLC_ENOMEM;
+
+ dav1d_default_settings(&p_sys->s);
++#if DAV1D_API_VERSION_MAJOR >= 6
++ p_sys->s.n_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
++ if (p_sys->s.n_threads == 0)
++ p_sys->s.n_threads = (i_core_count < 16) ? i_core_count : 16;
++#else
+ p_sys->s.n_tile_threads = var_InheritInteger(p_this, "dav1d-thread-tiles");
+ if (p_sys->s.n_tile_threads == 0)
+ p_sys->s.n_tile_threads =
+@@ -303,6 +314,7 @@ static int OpenDecoder(vlc_object_t *p_this)
+ p_sys->s.n_frame_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
+ if (p_sys->s.n_frame_threads == 0)
+ p_sys->s.n_frame_threads = (i_core_count < 16) ? i_core_count : 16;
++#endif
+ p_sys->s.allocator.cookie = dec;
+ p_sys->s.allocator.alloc_picture_callback = NewPicture;
+ p_sys->s.allocator.release_picture_callback = FreePicture;
+@@ -313,12 +325,20 @@ static int OpenDecoder(vlc_object_t *p_this)
+ return VLC_EGENERIC;
+ }
+
++#if DAV1D_API_VERSION_MAJOR >= 6
++ msg_Dbg(p_this, "Using dav1d version %s with %d threads",
++ dav1d_version(), p_sys->s.n_threads);
++
++ dec->i_extra_picture_buffers = (p_sys->s.n_threads - 1);
++#else
+ msg_Dbg(p_this, "Using dav1d version %s with %d/%d frame/tile threads",
+ dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
+
++ dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
++#endif
++
+ dec->pf_decode = Decode;
+ dec->pf_flush = FlushDecoder;
+- dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
+
+ dec->fmt_out.video.i_width = dec->fmt_in.video.i_width;
+ dec->fmt_out.video.i_height = dec->fmt_in.video.i_height;
+GitLab
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c394c65442..19ca1d8267 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -846,7 +846,7 @@ television and DVD. It is also known as AC-3.")
(define-public libaom
(package
(name "libaom")
- (version "3.3.0")
+ (version "3.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -855,7 +855,7 @@ television and DVD. It is also known as AC-3.")
(file-name (git-file-name name version))
(sha256
(base32
- "024vhsx7bw9kajk65hhh5vmqrja0h33rmlcpngsj3yg4p8l29943"))))
+ "0arn8a88jz4mj69n8cs4qmrdjwhbvzsqgnx20wr9mq01b06kqich"))))
(build-system cmake-build-system)
(native-inputs
(list perl pkg-config python)) ; to detect the version
@@ -863,7 +863,6 @@ television and DVD. It is also known as AC-3.")
`(#:tests? #f ; downloads many video clips
#:configure-flags
(list "-DBUILD_SHARED_LIBS=YES"
- "-DENABLE_PIC=TRUE"
"-DAOM_TARGET_CPU=generic"
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out")))
@@ -913,8 +912,8 @@ shared library and encoder and decoder command-line executables.")
(define-public libx264
;; There are no tags in the repository, so we take the version number from
;; the X264_BUILD variable defined in x264.h.
- (let ((version "161")
- (commit "4c2aafd864dd201832ec2be0fef4484925146650")
+ (let ((version "164")
+ (commit "b093bbe7d9bc642c8f24067cbdcc73bb43562eab")
(revision "0"))
(package
(name "libx264")
@@ -927,7 +926,7 @@ shared library and encoder and decoder command-line executables.")
(file-name (git-file-name name version))
(sha256
(base32
- "1i6v9h3xx9pi0zmlj3anwwjxqa63sbhy9crrif8dphipwfn9hyg5"))))
+ "095pv8y6fqjg8mdvsfk12d0jqgyhip536a6vxhzm7qz8hfp96qhq"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config nasm))
@@ -977,27 +976,6 @@ H.264 (MPEG-4 AVC) video streams.")
"file://extras/cl.h"
"See extras/cl.h in the distribution."))))))
-;;; TODO: Merge into libx264 on staging.
-(define-public libx264-next
- ;; There are no tags in the repository, so we take the version number from
- ;; the X264_BUILD variable defined in x264.h.
- (let ((version "164")
- (commit "b093bbe7d9bc642c8f24067cbdcc73bb43562eab")
- (revision "0"))
- (package
- (inherit libx264)
- (name "libx264")
- (version (git-version version revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://code.videolan.org/videolan/x264.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "095pv8y6fqjg8mdvsfk12d0jqgyhip536a6vxhzm7qz8hfp96qhq")))))))
-
(define-public mkvtoolnix
(package
(name "mkvtoolnix")
@@ -1944,6 +1922,7 @@ videoformats depend on the configuration flags of ffmpeg.")
"https://download.videolan.org/pub/videolan/vlc/"
(car (string-split version #\-))
"/vlc-" version ".tar.xz"))
+ (patches (search-patches "vlc-dav1d-compat.patch"))
(sha256
(base32
"0cs1vnv91mg7p6253v6wms3zlz91xzphpwaw14dmrd2gibc64nlc"))))
@@ -2388,7 +2367,7 @@ To load this plugin, specify the following option when starting mpv:
(define-public libvpx
(package
(name "libvpx")
- (version "1.11.0")
+ (version "1.12.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2397,7 +2376,7 @@ To load this plugin, specify the following option when starting mpv:
(file-name (git-file-name name version))
(sha256
(base32
- "00f1jrclai2b6ys78dpsg6r1mvcyxlna93vxcz8zjyia24c2pjsb"))
+ "1x12f2bd4jqd532rnixmwvcx8d29yxiacpcxqqh86qczc49la8gm"))
(patches (search-patches "libvpx-CVE-2016-2818.patch"))))
(build-system gnu-build-system)
(arguments
@@ -2427,22 +2406,6 @@ To load this plugin, specify the following option when starting mpv:
(license license:bsd-3)
(home-page "https://www.webmproject.org/")))
-;;; TODO: Merge into libvpx on staging.
-(define-public libvpx-next
- (package
- (inherit libvpx)
- (name "libvpx")
- (version "1.12.0")
- (source (origin
- (inherit (package-source libvpx))
- (uri (git-reference
- (url "https://chromium.googlesource.com/webm/libvpx")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1x12f2bd4jqd532rnixmwvcx8d29yxiacpcxqqh86qczc49la8gm"))))))
-
(define-public youtube-dl
(package
(name "youtube-dl")
@@ -4937,7 +4900,7 @@ and audio capture, network stream playback, and many more.")
(define-public dav1d
(package
(name "dav1d")
- (version "0.9.2")
+ (version "1.0.0")
(source
(origin
(method git-fetch)
@@ -4946,7 +4909,7 @@ and audio capture, network stream playback, and many more.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0bkps488h9s15ylvkm4fmfywgrpbw570glawpnv6khpq9n223dzl"))))
+ (base32 "0jkvb5as7danpalzlwd0w1dc9i2vijvmf39z0j6fwqvialsgnnj5"))))
(build-system meson-build-system)
(native-inputs (list nasm))
(home-page "https://code.videolan.org/videolan/dav1d")
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index f5c619a2b2..57beee7f5b 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
+;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,16 +46,16 @@
(define-public spirv-headers
(package
(name "spirv-headers")
- (version "1.5.3")
+ (version "1.3.231.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/SPIRV-Headers")
- (commit version)))
+ (commit (string-append "sdk-" version))))
(sha256
(base32
- "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj"))
+ "0z8b485hryya2g0jxv7amwg3fjj7pchbgnsa5ldf5fwgh5js0icm"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -77,7 +78,7 @@ and for the GLSL.std.450 extended instruction set.
(define-public spirv-tools
(package
(name "spirv-tools")
- (version "2020.2")
+ (version "2022.4")
(source
(origin
(method git-fetch)
@@ -85,11 +86,14 @@ and for the GLSL.std.450 extended instruction set.
(url "https://github.com/KhronosGroup/SPIRV-Tools")
(commit (string-append "v" version))))
(sha256
- (base32 "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6"))
+ (base32 "03d489ind2az7w7q1slj3mdc04372r3qqbnd7m9akxbg7yix1a5j"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
+ ;; Some packages like mpv fail to link
+ ;; when the static libraries are built.
+ "-DSPIRV_TOOLS_BUILD_STATIC=OFF"
(string-append
"-DSPIRV-Headers_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers")))))
@@ -149,19 +153,17 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
(define-public glslang
(package
(name "glslang")
- (version "10-11.0.0")
+ (version "11.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/glslang")
- ;; Tag "10-11.0.0" was moved to "11.0.0".
- ;; FIXME: Use (commit version) on next update.
- (commit "11.0.0")))
+ (commit version)))
(sha256
(base32
- "14mn2awswl022ls75mfpsnpsl0ai0jgfbqj3sxcsqawyj5f432py"))
- (file-name (string-append name "-" version "-checkout"))))
+ "1q6gjlx2y6g0hfvahnw063anb4yb4ky82hfh3b7nbsm43crzzfb0"))
+ (file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ;FIXME: requires bundled SPIRV-Tools
@@ -183,7 +185,7 @@ interpretation of the specifications for these languages.")
(define-public vulkan-headers
(package
(name "vulkan-headers")
- (version "1.2.164")
+ (version "1.2.202")
(source
(origin
(method git-fetch)
@@ -193,7 +195,7 @@ interpretation of the specifications for these languages.")
(file-name (git-file-name name version))
(sha256
(base32
- "11wzxvwim4jna1yssbmprl211dhmz8vmrd498zww3bghzlj7bljv"))))
+ "0lsjpxqb7k2mf0w1qadpki6vnwxr29kjg5y1jafl3pvk0mdy1azj"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
@@ -207,7 +209,7 @@ interpretation of the specifications for these languages.")
(define-public vulkan-loader
(package
(name "vulkan-loader")
- (version "1.2.162")
+ (version "1.2.202")
(source
(origin
(method git-fetch)
@@ -217,32 +219,23 @@ interpretation of the specifications for these languages.")
(file-name (git-file-name name version))
(sha256
(base32
- "15gx9ab6w1sjq9hkpbas7z2f8f47j6mlln6p3w26qmydjj8gfjjv"))))
+ "1vsaa16clncz19lihgj39rdg4dspkxjay1ii6pkf6fpl1vkw1dh2"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
,#~(list
(string-append "-DVULKAN_HEADERS_INSTALL_DIR="
#$(this-package-input "vulkan-headers"))
- (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
- #$(this-package-input "vulkan-headers")
- "/include"))
+ (string-append "-DGOOGLETEST_INSTALL_DIR="
+ (getcwd) "/source/external/googletest")
+ "-DBUILD_TESTS=ON")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'unpack-googletest
(lambda* (#:key inputs #:allow-other-keys)
(let ((gtest (assoc-ref inputs "googletest:source")))
(when gtest
(copy-recursively gtest "external/googletest"))
- #t)))
- (add-after 'unpack 'disable-loader-tests
- (lambda _
- ;; Many tests require a Vulkan driver. Skip those.
- (substitute* "tests/loader_validation_tests.cpp"
- ((".*= vkCreateInstance.*" all)
- (string-append "GTEST_SKIP();\n" all))
- (("TEST_F.*InstanceExtensionEnumerated.*" all)
- (string-append all "\nGTEST_SKIP();\n")))
- #t)))))
+ #t))))))
(native-inputs
`(("googletest:source" ,(package-source googletest))
("libxrandr" ,libxrandr)
@@ -269,7 +262,7 @@ and the ICD.")
(define-public vulkan-tools
(package
(name "vulkan-tools")
- (version "1.2.162")
+ (version "1.2.201")
(source
(origin
(method git-fetch)
@@ -279,7 +272,7 @@ and the ICD.")
(file-name (git-file-name name version))
(sha256
(base32
- "129wzk7xj3vn3c8b4p7fzkd0npl58118s2i1d88gsfnlix54nagq"))))
+ "1ik90d7pygaw2pq81brqmcjiczag3biqvgpqp3cpws07glf29lf9"))))
(build-system cmake-build-system)
(inputs
(list glslang libxrandr vulkan-loader wayland))
@@ -301,7 +294,7 @@ API.")
(define-public shaderc
(package
(name "shaderc")
- (version "2020.4")
+ (version "2021.3")
(source
(origin
(method git-fetch)
@@ -311,7 +304,7 @@ API.")
(file-name (git-file-name name version))
(sha256
(base32
- "07h78nd964h2bdm4drzws8i1gvyal8a3wlhbcm5qxqk6vknv8hrk"))))
+ "0qjwixcx74dvx68jl51x2mp2q1346hvhwxr8w3wk36nzla62k2s6"))))
(build-system cmake-build-system)
(arguments
`(;; FIXME: Skip most of the tests, because enabling system gtest breaks
@@ -402,3 +395,59 @@ shader compilation.")
(synopsis "Direct3D 12 to Vulkan translation library")
(description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
(license license:lgpl2.1))))
+
+(define-public vulkan-validationlayers
+ (package
+ (name "vulkan-validationlayers")
+ (version "1.2.201")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jnz9cmy5d5g6jh9p4wr0qrlqlpfp07b3cizq37i5p1bcabdgmrz"))))
+ (build-system cmake-build-system)
+ (inputs (list glslang
+ libxrandr
+ mesa
+ shaderc
+ spirv-tools
+ vulkan-loader
+ wayland))
+ (native-inputs (list pkg-config python spirv-headers vulkan-headers))
+ (arguments
+ (list #:tests? #f ;no tests
+ #:configure-flags
+ #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
+ (string-append "-DGLSLANG_INSTALL_DIR="
+ (dirname (dirname
+ (search-input-directory
+ %build-inputs
+ "include/glslang"))))
+ (string-append "-DSPIRV_HEADERS_INSTALL_DIR="
+ (dirname (dirname
+ (search-input-directory
+ %build-inputs
+ "include/spirv"))))
+ "-Wno-dev")
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'set-layer-path-in-manifest
+ (lambda _
+ (let ((manifest (string-append #$output
+ "/share/vulkan/explicit_layer.d"
+ "/VkLayer_khronos_validation.json")))
+ (substitute* manifest
+ (("\"libVkLayer_khronos_validation.so\"")
+ (string-append "\"" #$output
+ "/lib/libVkLayer_khronos_validation.so\"")))))))))
+ (home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+ (synopsis "Khronos official validation layers for Vulkan")
+ (description
+ "Vulkan-ValidationLayers provides the Khronos official validation layers that
+can assist development by enabling developers to verify their applications correctly
+use the Vulkan API.")
+ (license license:asl2.0)))