GNU bug report logs - #66035
[PATCH] gnu: Add renderdoc.

Previous Next

Package: guix-patches;

Reported by: dan <i <at> dan.games>

Date: Sat, 16 Sep 2023 16:03:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 66035 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#66035; Package guix-patches. (Sat, 16 Sep 2023 16:03:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to dan <i <at> dan.games>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 16 Sep 2023 16:03:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add renderdoc.
Date: Sun, 17 Sep 2023 00:01:08 +0800
* gnu/packages/graphics.scm (renderdoc): New variable.
---
 gnu/packages/graphics.scm | 90 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 89 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 9362666274..002d93f75b 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -32,7 +32,7 @@
 ;;; Copyright © 2022 Zheng Junjie <873216071 <at> qq.com>
 ;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
 ;;; Copyright © 2022 Paul A. Patience <paul <at> apatience.com>
-;;; Copyright © 2022 dan <i <at> dan.games>
+;;; Copyright © 2022, 2023 dan <i <at> dan.games>
 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus <at> gmail.com>
 ;;; Copyright © 2023 David Thompson <dthompson2 <at> worcester.edu>
 ;;; Copyright © 2023 Eric Bavier <bavier <at> posteo.net>
@@ -101,6 +101,7 @@ (define-module (gnu packages graphics)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ninja)
   #:use-module (gnu packages pciutils)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -2851,3 +2852,90 @@ (define-public gpaint
 It features cut-and-paste for irregular regions or polygons.")
     (home-page "https://www.gnu.org/software/gpaint/")
     (license license:gpl3+)))
+
+(define %swig-for-renderdoc-version
+  "renderdoc-modified-7")
+
+(define swig-for-renderdoc
+  (origin
+    (method url-fetch)
+    (uri (string-append "https://github.com/baldurk/swig/archive/refs/tags/"
+                        %swig-for-renderdoc-version ".tar.gz"))
+    (sha256 (base32
+             "19sb4vik8kgy9pxjfam8qc8i52iraj2971p1hrzh850fvl0nibg7"))))
+
+(define-public renderdoc
+  (package
+    (name "renderdoc")
+    (version "1.28")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/baldurk/renderdoc.git")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "1rny39s1b48bgv8x2871ylkzk1f9llvrskb809c6gcawnfazzivb"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:tests? #f
+           #:configure-flags #~(list (string-append "-DVULKAN_LAYER_FOLDER="
+                                      #$output
+                                      "/share/vulkan/implicit_layer.d"))
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'unpack-additional-sources
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (let ((sh (search-input-file inputs "/bin/sh")))
+                              (invoke "tar" "xvf"
+                                      #$swig-for-renderdoc)
+                              (rename-file (string-append "swig-"
+                                            #$%swig-for-renderdoc-version)
+                                           "swig")
+                              (substitute* "qrenderdoc/CMakeLists.txt"
+                                (("URL \\$\\{RENDERDOC_SWIG_PACKAGE\\}")
+                                 "SOURCE_DIR ${CMAKE_SOURCE_DIR}/swig")
+                                (("CONFIGURE_COMMAND\\s.*")
+                                 "CONFIGURE_COMMAND \"\"\n")
+                                (("^\\s+COMMAND CC.*")
+                                 ""))
+                              (substitute* "swig/Makefile.in"
+                                (("/bin/sh")
+                                 sh))
+                              (chdir "swig")
+                              (invoke sh "autogen.sh")
+                              (chdir ".."))))
+                        (add-after 'configure 'configure-swig
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (let ((build-dir (getcwd))
+                                  (sh (search-input-file inputs "/bin/sh")))
+                              (chdir "../source/swig")
+                              (apply invoke sh "./configure"
+                                     (list "CC=gcc"
+                                           "CXX=g++"
+                                           "CFLAGS=-fPIC"
+                                           "CXXFLAGS=-fPIC"
+                                           (string-append "SHELL=" sh)
+                                           "--with-pcre=yes"
+                                           (string-append "--prefix="
+                                                          build-dir)))
+                              (chdir "../../build")))))))
+    (inputs (list libx11
+                  libxcb
+                  xcb-util-keysyms
+                  mesa
+                  qtbase-5
+                  qtsvg-5
+                  qtx11extras))
+    (native-inputs (list autoconf
+                         automake
+                         bison
+                         (list pcre "bin")
+                         pkg-config
+                         python))
+    (home-page "https://renderdoc.org")
+    (synopsis "Graphics debugging tool")
+    (description
+     "RenderDoc is a frame-capture based graphics debugger, currently
+available for Vulkan, D3D11, D3D12, OpenGL, and OpenGL ES development on
+Windows, Linux, Android, and Nintendo Switch™.")
+    (license license:expat)))

base-commit: 04fad62acdcffa50c18528ce71f015907b9eb558
-- 
2.41.0





This bug report was last modified 230 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.