Message ID | CAJsg1E_Sjf4rfP-Sc_pw+SNau1WC2jhnfdqgOrygrADg-_8JbQ@mail.gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#46500] gnu: Add monado | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
On Sat, Feb 13, 2021 at 06:12:01PM -0800, Andy Tai wrote: > * gnu/packages/graphics.scm (monado): New variable Thanks for the patch! You had asked in #46666 about how to make the review process go more quickly. We definitely aim for it to be fast and efficient for contributors, but there are a lot of patches (good!) and reviewers can get tired. When that happens to me, I start to focus my reviewing energy on patches that I think will be easy, which means ready-to-push, or on patches for things I find interesting. I think that's human nature. It would be better if patches were reviewed more systematically. My goal when reviewing is to push contributions to guix.git and close patch tickets. The linter found a couple issues: ------ $ guix environment guix -- ./pre-inst-env guix lint monado gnu/packages/graphics.scm:1953:5: monado@21.0.0: sentences in description should be followed by two spaces; possible infractions at 191, 285 gnu/packages/graphics.scm:1943:0: monado@21.0.0: parentheses feel lonely, move to the previous or next line gnu/packages/graphics.scm:1948:0: monado@21.0.0: parentheses feel lonely, move to the previous or next line gnu/packages/graphics.scm:1924:16: monado@21.0.0: source not archived on Software Heritage ------ I noticed the parentheses thing before linting, and some extra blank lines before and after the new package, too. These problems are effectively cosmetic but, when I see them, I guess that there might be some other problems that can't be caught with a simple linter, and I get discouraged from putting more effort into it. So, definitely run the linter. Don't hesitate to ask for help if you don't understand how to use it or what it says. I applied the patch on the current master branch and built it. It fails in the install phase like this: ------ starting phase `install' [1/14] Generating u_git_tag.c with a custom command. [2/6] Generating driver_resources_copy with a custom command. DIRECTORY ../monado-v21.0.0/src/xrt/targets/steamvr_drv/resources /tmp/guix-build-monado-21.0.0.drv-0/build/steamvr-monado/resources Copying asset ../monado-v21.0.0/src/xrt/targets/steamvr_drv/resources to /tmp/guix-build-monado-21.0.0.drv-0/build/steamvr-monado/resources [3/6] Generating driver_manifest_copy with a custom command. FILE ../monado-v21.0.0/src/xrt/targets/steamvr_drv/driver.vrdrivermanifest /tmp/guix-build-monado-21.0.0.drv-0/build/steamvr-monado/driver.vrdrivermanifest Copying asset ../monado-v21.0.0/src/xrt/targets/steamvr_drv/driver.vrdrivermanifest to /tmp/guix-build-monado-21.0.0.drv-0/build/steamvr-monado/driver.vrdrivermanifest [4/6] Generating driver_input_profiles_generate with a custom command. [5/6] Generating plugin_copy with a custom command. Copying plugin src/xrt/targets/steamvr_drv/driver_monado.so to /tmp/guix-build-monado-21.0.0.drv-0/build/steamvr-monado/bin/linux64/driver_monado.so [5/6] Installing files. + sysconfdir=/etc + manifest=/gnu/store/9598lvcgad60xfid8qxpm0w4p8g9ldr6-monado-21.0.0/share/openxr/1/openxr_monado.json + xrversion=1 + runtime_path=/etc/xdg/openxr/1/active_runtime.json + mkdir -p /etc/xdg/openxr/1 mkdir: cannot create directory ‘/etc/xdg’: Permission denied [...] ------ Can you look into that? > + (synopsis "The open source OpenXR runtime") > + (description > + "Monado is an open source XR runtime delivering immersive > experiences such as VR > +and AR on mobile, PC/desktop, and any other device(because gosh darn peoplecome > +up with a lot of weird hardware). Monado aims to be a complete and conforming > +implementation of the OpenXR API made by Khronos. The project > currently is being > +developed for GNU/Linux and aims to support other operating systems in the near > +future.") Guix only includes free software so we usually don't describe packages as "open source" or "free software". I appreciate the colloquial language in the parentheses but I would remove it. We actually have a style guide in the manual: https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html > + (license (license:x11-style > "https://gitlab.freedesktop.org/monado/monado/-/blob/master/LICENSE")))) This looks like the "Boost Software License".
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 7cb4aecec2..5b8621c390 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> +;;; Copyright © 2021 Andy Tai <atai@atai.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,6 +75,7 @@ #:use-module (gnu packages imagemagick) #:use-module (gnu packages jemalloc) #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages maths) @@ -97,6 +99,7 @@ #:use-module (gnu packages tbb) #:use-module (gnu packages upnp) #:use-module (gnu packages video) + #:use-module (gnu packages vulkan) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -1914,3 +1917,46 @@ Some feature highlights: @item Automatic port forwarding with UPnP @end itemize\n") (license license:gpl3+)))) + + +(define-public monado + (package + (name "monado") + (version "21.0.0") + (source (origin + (method url-fetch) + (uri (string-append "https://gitlab.freedesktop.org/" name "/" + name "/-/archive/v" version "/" + name "-v" version ".tar.bz2")) + (sha256 + (base32 + "0n04k7a8b0i8ga0kbzh7qxmvni1ijawgk98s83519vxg4d0yyjbq")))) + (build-system meson-build-system) + (inputs + `(("ffmpeg" ,ffmpeg) + ("glslang" ,glslang) + ("libudev" ,eudev) + ("libusb" ,libusb) + ("libxcb" ,libxcb) + ("libxrandr" ,libxrandr) + ("opengl" ,mesa) + ("v4l" ,v4l-utils) + ("vulkan-loader" ,vulkan-loader) + )) + (native-inputs + `(("eigen" ,eigen) + ("pkg-config" ,pkg-config) + ("vulkan-headers" ,vulkan-headers) + )) + + (home-page "https://monado.freedesktop.org/") + (synopsis "The open source OpenXR runtime") + (description + "Monado is an open source XR runtime delivering immersive experiences such as VR +and AR on mobile, PC/desktop, and any other device(because gosh darn peoplecome +up with a lot of weird hardware). Monado aims to be a complete and conforming +implementation of the OpenXR API made by Khronos. The project currently is being +developed for GNU/Linux and aims to support other operating systems in the near +future.")