* [bug#49970] [PATCH] gnu: Add librealsense.
@ 2021-08-09 20:54 phodina via Guix-patches via
2021-08-10 8:01 ` [bug#49970] [PATCH v2] " phodina via Guix-patches via
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: phodina via Guix-patches via @ 2021-08-09 20:54 UTC (permalink / raw)
To: 49970
* gnu/packages/video.scm (librealsense): New variable.
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 399327741f..1d4a8ad3df 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,53 @@ other software.")
;; Library.
license:lgpl3+))))
+(define-public librealsense
+ (package
+ (name "librealsense")
+ (version "2.45.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
+ "0aqf48zl7825v7x8c3x5w4d17m4qq377f1mn6xyqzf9b0dnk4i1j"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f
+ #: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 'install 'copy-udev-rules
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/etc/udev/rules.d"))
+ (copy-file "config/99-realsense-libusb.rules"
+ (string-append out
+ "/etc/udev/rules.d/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:gpl3)))
+
(define-public tslib
(package
(name "tslib")
--
2.32.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#49970] [PATCH v2] gnu: Add librealsense.
2021-08-09 20:54 [bug#49970] [PATCH] gnu: Add librealsense phodina via Guix-patches via
@ 2021-08-10 8:01 ` 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
2 siblings, 0 replies; 7+ messages in thread
From: phodina via Guix-patches via @ 2021-08-10 8:01 UTC (permalink / raw)
To: 49970@debbugs.gnu.org
* 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 399327741f..73009e97d5 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 ; no tests
+ #: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")
+ "/etc/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:gpl3)))
+
(define-public tslib
(package
(name "tslib")
--
2.32.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#49970] Patch status
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 ` phodina via Guix-patches via
2021-09-18 11:12 ` [bug#49970] [PATCH] gnu: Add librealsense Liliana Marie Prikler
2 siblings, 0 replies; 7+ messages in thread
From: phodina via Guix-patches via @ 2021-09-18 8:05 UTC (permalink / raw)
To: 49970@debbugs.gnu.org
Hi!
Is there anything to be improved to upstream this patch?
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#49970] [PATCH] gnu: Add librealsense.
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 ` Liliana Marie Prikler
2021-09-18 11:47 ` phodina via Guix-patches via
2 siblings, 1 reply; 7+ messages in thread
From: Liliana Marie Prikler @ 2021-09-18 11:12 UTC (permalink / raw)
To: phodina, 49970
Hi,
Am Montag, den 09.08.2021, 20:54 +0000 schrieb phodina:
> * gnu/packages/video.scm (librealsense): New variable.
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 399327741f..1d4a8ad3df 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,53 @@ other software.")
> ;; Library.
> license:lgpl3+))))
>
> +(define-public librealsense
> + (package
> + (name "librealsense")
> + (version "2.45.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
> + "0aqf48zl7825v7x8c3x5w4d17m4qq377f1mn6xyqzf9b0dnk4i1j"
> ))))
> + (build-system cmake-build-system)
> + (arguments
> + `(#:tests? #f
Always explain why you're disabling tests.
> + #: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 'install 'copy-udev-rules
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let ((out (assoc-ref outputs "out")))
> + (mkdir-p (string-append out "/etc/udev/rules.d"))
> + (copy-file "config/99-realsense-libusb.rules"
> + (string-append out
> + "/etc/udev/rules.d/99-realsense-
> libusb.rules"))))))))
Note that udev-service-type only searches /lib/udev, not /etc/udev.
> + (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:gpl3)))
This package seems to be covered under an Apache license, not the GPL.
Regards
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#49970] [PATCH] gnu: Add librealsense.
2021-09-18 11:12 ` [bug#49970] [PATCH] gnu: Add librealsense Liliana Marie Prikler
@ 2021-09-18 11:47 ` phodina via Guix-patches via
2021-09-18 12:02 ` Liliana Marie Prikler
0 siblings, 1 reply; 7+ messages in thread
From: phodina via Guix-patches via @ 2021-09-18 11:47 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: 49970
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#49970] [PATCH] gnu: Add librealsense.
2021-09-18 11:47 ` phodina via Guix-patches via
@ 2021-09-18 12:02 ` Liliana Marie Prikler
2021-09-18 12:46 ` phodina via Guix-patches via
0 siblings, 1 reply; 7+ messages in thread
From: Liliana Marie Prikler @ 2021-09-18 12:02 UTC (permalink / raw)
To: phodina; +Cc: 49970
Hi Petr,
Am Samstag, den 18.09.2021, 11:47 +0000 schrieb phodina:
> 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.
Looking at this patch, it only seems to disable some warnings, which
frankly we can choose to ignore. Is this really required to build
librealsense?
> 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")
librealsense also seems to bundle a bunch of software in its third-
party directory. How much of that could we unbundle?
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#49970] [PATCH] gnu: Add librealsense.
2021-09-18 12:02 ` Liliana Marie Prikler
@ 2021-09-18 12:46 ` phodina via Guix-patches via
0 siblings, 0 replies; 7+ messages in thread
From: phodina via Guix-patches via @ 2021-09-18 12:46 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: 49970
You're right Liliana the patch is indeed not neccessary.
I'll try to unbundle as much as possible of the third party code.
Regards
Petr
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-09-18 12:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2021-09-18 12:02 ` Liliana Marie Prikler
2021-09-18 12:46 ` phodina via Guix-patches via
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).