all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: phodina via Guix-patches via <guix-patches@gnu.org>
To: Liliana Marie Prikler <liliana.prikler@gmail.com>
Cc: 49970@debbugs.gnu.org
Subject: [bug#49970] [PATCH] gnu: Add librealsense.
Date: Sat, 18 Sep 2021 11:47:54 +0000	[thread overview]
Message-ID: <Z3a1-3BsctuJKXMug3q-FLJ1G6HdBnh3ZqeRNvipMBRRNiDCAZtUsnTV-9pmtBlZULh9nj2Re0pahX5s8HFhFNyXbEIJ3C8Qldf7gEOBzdE=@protonmail.com> (raw)
In-Reply-To: <feb1d43e0d6e838130367842bb004d6a65a9695d.camel@gmail.com>

Hi Liliana,

thanks for the comment! My appology for the licence.
--8<---------------cut here---------------start------------->8---
* gnu/packages/video.scm (librealsense): New variable.
* gnu/packages/patches/librealsense-remove-network-connectivity.patch: New file.

diff --git a/gnu/packages/patches/librealsense-remove-network-connectivity.patch b/gnu/packages/patches/librealsense-remove-network-connectivity.patch
new file mode 100644
index 0000000000..73926587ff
--- /dev/null
+++ b/gnu/packages/patches/librealsense-remove-network-connectivity.patch
@@ -0,0 +1,68 @@
+From cfc87289d7636f439e2b91d88e35430949b29c0f Mon Sep 17 00:00:00 2001
+From: Petr Hodina <phodina@protonmail.com>
+Date: Sat, 31 Jul 2021 05:58:40 +0200
+Subject: [PATCH] Remove network connectivity
+
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0c15d9510..a4d891444 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.1.0)
+ project(librealsense2 LANGUAGES CXX C)
+
+ include(CMake/lrs_options.cmake)
+-include(CMake/connectivity_check.cmake)
+
+ #Deprecation message, should be removed in future releases
+ if(${FORCE_LIBUVC} OR ${FORCE_WINUSB_UVC} OR ${ANDROID_USB_HOST_UVC})
+@@ -12,14 +11,12 @@ if(${FORCE_LIBUVC} OR ${FORCE_WINUSB_UVC} OR ${ANDROID_USB_HOST_UVC})
+ endif()
+
+ # Checking Internet connection, as TM2 needs to download the FW from amazon cloud
+-if(BUILD_WITH_TM2 AND NOT INTERNET_CONNECTION)
+-    message(WARNING "No internet connection, disabling BUILD_WITH_TM2")
++if(BUILD_WITH_TM2)
+     set(BUILD_WITH_TM2 OFF)
+ endif()
+
+ # Checking Internet connection, as DEPTH CAM needs to download the FW from amazon cloud
+-if(IMPORT_DEPTH_CAM_FW AND NOT INTERNET_CONNECTION)
+-    message(WARNING "No internet connection, disabling IMPORT_DEPTH_CAM_FW")
++if(IMPORT_DEPTH_CAM_FW)
+     set(IMPORT_DEPTH_CAM_FW OFF)
+ endif()
+
+diff --git a/common/fw/CMakeLists.txt b/common/fw/CMakeLists.txt
+index 32b1dd29a..9961e4d1d 100644
+--- a/common/fw/CMakeLists.txt
++++ b/common/fw/CMakeLists.txt
+@@ -6,8 +6,6 @@ project(fw)
+
+ file(READ "firmware-version.h" ver)
+
+-message(STATUS "Fetching recommended firmwares:")
+-
+ set(REALSENSE_FIRMWARE_URL "https://librealsense.intel.com" CACHE STRING
+     "URL to download firmware binaries from")
+
+@@ -51,16 +49,6 @@ set_target_properties (${PROJECT_NAME} PROPERTIES FOLDER Resources)
+
+ function(target_binary url version sha1 symbol ext)
+   set(binary "${CMAKE_CURRENT_BINARY_DIR}/${symbol}-${version}${ext}")
+-  message(STATUS "${url}/${symbol}-${version}${ext}")
+-  file(DOWNLOAD "${url}/${symbol}-${version}${ext}" "${binary}"
+-       EXPECTED_HASH SHA1=${sha1}
+-       STATUS status)
+-  list(GET status 0 error_code)
+-  if (NOT ${error_code} EQUAL 0)
+-    message(FATAL_ERROR "Download firmwnare (${status}) - ${url}")
+-  else()
+-    message(STATUS "Download firmware ${status} for ${symbol}-${version}${ext}")
+-  endif()
+   string(TOUPPER ${symbol} SYMBOL)
+   string(REPLACE "." "," version_commas ${version})
+   string(REPLACE "\\" "\\\\" binary_escaped "${binary}")
+--
+2.32.0
+
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1b9179c6a8..ee783338f4 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -53,6 +53,7 @@
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -145,6 +146,7 @@
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages ninja)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
@@ -577,6 +579,54 @@ other software.")
       ;; Library.
       license:lgpl3+))))

+(define-public librealsense
+ (package
+  (name "librealsense")
+  (version "2.47.0")
+  (source (origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/IntelRealSense/librealsense")
+                 (commit (string-append "v" version))))
+           (patches
+            (search-patches "librealsense-remove-network-connectivity.patch"))
+           (file-name (git-file-name name version))
+           (modules '((guix build utils)))
+            (sha256
+             (base32
+              "1jshhcnvbaa3xm5jr1s5m6z62wn1cspb7wkfdc1w88kp9j02ss8w"))))
+  (build-system cmake-build-system)
+  (arguments
+       `(#:tests? #f ; tests require camera hardware
+         #:configure-flags (list "-DBUILD_EXAMPLES=ON"
+                                 "-DBUILD_GRAPHICAL_EXAMPLES=ON"
+                                 "-DINTERNET_CONNECTION=OFF"
+                                 "-DCHECK_FOR_UPDATES=OFF")
+         #:phases
+           (modify-phases %standard-phases
+            ;; more convenient than manually invoking setup_udev_rules.sh
+            ;; and substituting the path in the script
+            (add-after 'unpack 'copy-udev-rules
+              (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out (string-append (assoc-ref outputs "out")
+                            "/lib/udev/rules.d")))
+               (mkdir-p (string-append out))
+               (copy-file "config/99-realsense-libusb.rules"
+                          (string-append out
+                           "/99-realsense-libusb.rules"))))))))
+  (native-inputs `(("pkg-config" ,pkg-config)
+                   ("ninja" ,ninja)))
+  (inputs `(("glfw" ,glfw)
+            ("gtk+" ,gtk+)
+            ("libusb" ,libusb)
+            ("glu" ,glu)))
+  (synopsis "Intel RealSense SDK")
+  (description "Intel RealSense SDK 2.0 is a cross-platform library for
+Intel RealSense depth cameras (D400 & L500 series and the SR300) and the
+T265 tracking camera.")
+  (home-page "https://github.com/IntelRealSense/librealsense")
+  (license license:asl2.0)))
+
 (define-public tslib
   (package
     (name "tslib")
--
2.32.0




  reply	other threads:[~2021-09-18 11:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-09 20:54 [bug#49970] [PATCH] gnu: Add librealsense phodina via Guix-patches via
2021-08-10  8:01 ` [bug#49970] [PATCH v2] " phodina via Guix-patches via
2021-09-18  8:05 ` [bug#49970] Patch status phodina via Guix-patches via
2021-09-18 11:12 ` [bug#49970] [PATCH] gnu: Add librealsense Liliana Marie Prikler
2021-09-18 11:47   ` phodina via Guix-patches via [this message]
2021-09-18 12:02     ` Liliana Marie Prikler
2021-09-18 12:46       ` phodina via Guix-patches via

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

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

  git send-email \
    --in-reply-to='Z3a1-3BsctuJKXMug3q-FLJ1G6HdBnh3ZqeRNvipMBRRNiDCAZtUsnTV-9pmtBlZULh9nj2Re0pahX5s8HFhFNyXbEIJ3C8Qldf7gEOBzdE=@protonmail.com' \
    --to=guix-patches@gnu.org \
    --cc=49970@debbugs.gnu.org \
    --cc=liliana.prikler@gmail.com \
    --cc=phodina@protonmail.com \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.