summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorluca <luca.kredel@web.de>2025-11-20 01:38:14 +0100
committerAndreas Enge <andreas@enge.fr>2026-07-07 12:51:09 +0200
commit4bd8d5ed079c28d1be4f523216fc3bf94e6753eb (patch)
tree5a19603fbd23d39fc04a7f502a9ac10e102018d1 /gnu
parent395a5eaa2c5c09402bd3998bc9efa2bbd734cf8f (diff)
gnu: libcamera: Move to photo.
* gnu/packages/networking.scm (libcamera-minimal, libcamera): Move from here ... * gnu/packages/photo.scm: ... to here. * gnu/packages/linux.scm: Use module. Signed-off-by: Andreas Enge <andreas@enge.fr>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/linux.scm1
-rw-r--r--gnu/packages/networking.scm112
-rw-r--r--gnu/packages/photo.scm118
3 files changed, 121 insertions, 110 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 846ee3f94ca..2817642cbab 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -174,6 +174,7 @@
174 #:use-module (gnu packages oneapi) 174 #:use-module (gnu packages oneapi)
175 #:use-module (gnu packages pciutils) 175 #:use-module (gnu packages pciutils)
176 #:use-module (gnu packages perl) 176 #:use-module (gnu packages perl)
177 #:use-module (gnu packages photo)
177 #:use-module (gnu packages pkg-config) 178 #:use-module (gnu packages pkg-config)
178 #:use-module (gnu packages polkit) 179 #:use-module (gnu packages polkit)
179 #:use-module (gnu packages popt) 180 #:use-module (gnu packages popt)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1a6dfebb7de..e65b4161420 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -200,6 +200,7 @@
200 #:use-module (guix build-system pyproject) 200 #:use-module (guix build-system pyproject)
201 #:use-module (guix build-system qt) 201 #:use-module (guix build-system qt)
202 #:use-module (guix build-system trivial) 202 #:use-module (guix build-system trivial)
203 #:use-module (guix deprecation)
203 #:use-module (guix download) 204 #:use-module (guix download)
204 #:use-module (guix gexp) 205 #:use-module (guix gexp)
205 #:use-module (guix git-download) 206 #:use-module (guix git-download)
@@ -480,115 +481,10 @@ Raspberry Pi ISP (PiSP), consisting of the Frontend and Backend hardware
480components.") 481components.")
481 (license license:bsd-2))) 482 (license license:bsd-2)))
482 483
483(define-public libcamera-minimal 484(define-deprecated/public-alias libcamera-minimal (@ (gnu packages photo)
484 (package 485 libcamera-minimal))
485 (name "libcamera-minimal")
486 (version "0.6.0")
487 (source
488 (origin
489 (method git-fetch)
490 (uri
491 (git-reference
492 (url "https://git.libcamera.org/libcamera/libcamera.git")
493 (commit (string-append "v" version))))
494 (patches (search-patches
495 "libcamera-ipa_manager-disable-signature-verification.patch"))
496 (file-name (git-file-name "libcamera" version))
497 (sha256
498 (base32 "0g6rphsa1hi9y22l2vw5cj75bf57clq3cggviwd1bnjhpp61nryc"))))
499 (build-system meson-build-system)
500 (arguments
501 (list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
502 #:configure-flags
503 #~(list "-Dudev=enabled"
504 "-Dv4l2=enabled"
505 "-Dtest=true")
506 #:phases
507 #~(modify-phases %standard-phases
508 (add-after 'unpack 'disable-gstreamer-tests
509 ;; these require /dev/udmabuf
510 (lambda _
511 (substitute* "test/meson.build"
512 (("subdir\\('gstreamer'\\)") ""))))
513 #$@(if (target-aarch64?)
514 #~((add-after 'unpack 'disable-problematic-tests
515 (lambda _
516 ;; The 'log_process' test fails on aarch64-linux with a
517 ;; SIGinvalid error (see:
518 ;; https://bugs.libcamera.org/show_bug.cgi?id=173).
519 (substitute* "test/log/meson.build"
520 ((".*'name': 'log_process'.*")
521 ""))
522 ;; The 'file' test fails on aarch64-linux with SIGinvalid.
523 (substitute* "test/meson.build"
524 ((".*'name': 'file'.*")
525 "")))))
526 #~()))))
527 (native-inputs
528 (list pkg-config
529 python-wrapper
530 python-pyyaml
531 python-packaging))
532 (inputs
533 (append
534 (list eudev
535 glib
536 gstreamer
537 gst-plugins-base
538 libjpeg-turbo
539 libyaml
540 libyuv
541 pybind11-2
542 python-jinja2
543 python-ply)
544 ;; libpisp is only needed for the rpi/pisp pipeline on ARM.
545 (if (target-arm?)
546 (list libpisp)
547 '())))
548 (synopsis "Camera stack and framework")
549 (description "LibCamera is a complex camera support library for GNU+Linux,
550Android, and ChromeOS.")
551 (home-page "https://libcamera.org/")
552 (license license:lgpl2.1+)))
553 486
554;; Drop the documentation and the sample utilities. 487(define-deprecated/public-alias libcamera (@ (gnu packages photo) libcamera))
555;; The README.rst gives a nice list of what packages are required.
556(define-public libcamera
557 (package/inherit libcamera-minimal
558 (name "libcamera")
559 (outputs '("out" "doc" "gst" "tools"))
560 (arguments
561 (substitute-keyword-arguments (package-arguments libcamera-minimal)
562 ((#:configure-flags flags #~'())
563 #~(cons (string-append "-Dbindir=" #$output:tools "/bin")
564 #$flags))
565 ((#:phases phases #~%standard-phases)
566 #~(modify-phases #$phases
567 (add-after 'unpack 'set-sphinx-theme
568 ;; sphinx_book_theme requires node for packaging
569 ;; use the default sphinx theme instead
570 (lambda _
571 (substitute* "Documentation/conf.py.in"
572 (("sphinx_book_theme") "alabaster"))))
573 (add-after 'install 'move-doc-and-gst
574 (lambda _
575 (mkdir-p (string-append #$output:doc "/share"))
576 (rename-file (string-append #$output "/share/doc")
577 (string-append #$output:doc "/share/doc"))
578 (mkdir-p (string-append #$output:gst "/lib"))
579 (rename-file
580 (string-append #$output "/lib/gstreamer-1.0")
581 (string-append #$output:gst "/lib/gstreamer-1.0"))))))))
582 (native-inputs
583 (modify-inputs (package-native-inputs libcamera-minimal)
584 (append googletest
585 doxygen
586 graphviz
587 python-sphinx
588 python-sphinxcontrib-doxylink)))
589 (inputs
590 (modify-inputs (package-inputs libcamera-minimal)
591 (append libevent libtiff qtbase)))))
592 488
593(define-public libdnet 489(define-public libdnet
594 (package 490 (package
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index df6f7d01dc7..ef22b2d55cf 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -2,14 +2,14 @@
2;;; Copyright © 2014, 2015, 2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2014, 2015, 2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2015, 2025, 2026 Ricardo Wurmus <rekado@elephly.net> 3;;; Copyright © 2015, 2025, 2026 Ricardo Wurmus <rekado@elephly.net>
4;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr> 4;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr>
5;;; Copyright © 2016-2019, 2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il> 5;;; Copyright © 2016-2019, 2021, 2023, 2024, 2026 Efraim Flashner <efraim@flashner.co.il>
6;;; Copyright © 2017 Roel Janssen <roel@gnu.org> 6;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
7;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> 7;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
8;;; Copyright © 2018 Leo Famulari <leo@famulari.name> 8;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
9;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org> 9;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org>
10;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> 10;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
11;;; Copyright © 2020, 2024. 2021, 2022, 2024 Vinicius Monego <monego@posteo.net> 11;;; Copyright © 2020, 2024. 2021, 2022, 2024 Vinicius Monego <monego@posteo.net>
12;;; Copyright © 2025-2026 Maxim Cournoyer <maxim@guixotic.coop> 12;;; Copyright © 2023, 2025-2026 Maxim Cournoyer <maxim@guixotic.coop>
13;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> 13;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
14;;; Copyright © 2022, 2023, 2025 John Kehayias <john.kehayias@protonmail.com> 14;;; Copyright © 2022, 2023, 2025 John Kehayias <john.kehayias@protonmail.com>
15;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com> 15;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
@@ -79,7 +79,9 @@
79 #:use-module (gnu packages imagemagick) 79 #:use-module (gnu packages imagemagick)
80 #:use-module (gnu packages iso-codes) 80 #:use-module (gnu packages iso-codes)
81 #:use-module (gnu packages libcanberra) 81 #:use-module (gnu packages libcanberra)
82 #:use-module (gnu packages libevent)
82 #:use-module (gnu packages libusb) 83 #:use-module (gnu packages libusb)
84 #:use-module (gnu packages linux)
83 #:use-module (gnu packages llvm) 85 #:use-module (gnu packages llvm)
84 #:use-module (gnu packages lua) 86 #:use-module (gnu packages lua)
85 #:use-module (gnu packages m4) 87 #:use-module (gnu packages m4)
@@ -98,7 +100,9 @@
98 #:use-module (gnu packages qt) 100 #:use-module (gnu packages qt)
99 #:use-module (gnu packages readline) 101 #:use-module (gnu packages readline)
100 #:use-module (gnu packages ruby) 102 #:use-module (gnu packages ruby)
103 #:use-module (gnu packages serialization)
101 #:use-module (gnu packages sdl) 104 #:use-module (gnu packages sdl)
105 #:use-module (gnu packages sphinx)
102 #:use-module (gnu packages sqlite) 106 #:use-module (gnu packages sqlite)
103 #:use-module (gnu packages tex) 107 #:use-module (gnu packages tex)
104 #:use-module (gnu packages time) 108 #:use-module (gnu packages time)
@@ -337,6 +341,116 @@ include:
337phones and memory cards and generate meaningful file and folder names.") 341phones and memory cards and generate meaningful file and folder names.")
338 (license license:gpl2+))) 342 (license license:gpl2+)))
339 343
344(define-public libcamera-minimal
345 (package
346 (name "libcamera-minimal")
347 (version "0.6.0")
348 (source
349 (origin
350 (method git-fetch)
351 (uri
352 (git-reference
353 (url "https://git.libcamera.org/libcamera/libcamera.git")
354 (commit (string-append "v" version))))
355 (patches (search-patches
356 "libcamera-ipa_manager-disable-signature-verification.patch"))
357 (file-name (git-file-name "libcamera" version))
358 (sha256
359 (base32 "0g6rphsa1hi9y22l2vw5cj75bf57clq3cggviwd1bnjhpp61nryc"))))
360 (build-system meson-build-system)
361 (arguments
362 (list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
363 #:configure-flags
364 #~(list "-Dudev=enabled"
365 "-Dv4l2=enabled"
366 "-Dtest=true")
367 #:phases
368 #~(modify-phases %standard-phases
369 (add-after 'unpack 'disable-gstreamer-tests
370 ;; these require /dev/udmabuf
371 (lambda _
372 (substitute* "test/meson.build"
373 (("subdir\\('gstreamer'\\)") ""))))
374 #$@(if (target-aarch64?)
375 #~((add-after 'unpack 'disable-problematic-tests
376 (lambda _
377 ;; The 'log_process' test fails on aarch64-linux with a
378 ;; SIGinvalid error (see:
379 ;; https://bugs.libcamera.org/show_bug.cgi?id=173).
380 (substitute* "test/log/meson.build"
381 ((".*'name': 'log_process'.*")
382 ""))
383 ;; The 'file' test fails on aarch64-linux with SIGinvalid.
384 (substitute* "test/meson.build"
385 ((".*'name': 'file'.*")
386 "")))))
387 #~()))))
388 (native-inputs
389 (list pkg-config
390 python-wrapper
391 python-pyyaml
392 python-packaging))
393 (inputs
394 (append
395 (list eudev
396 glib
397 gstreamer
398 gst-plugins-base
399 libjpeg-turbo
400 libyaml
401 libyuv
402 pybind11-2
403 python-jinja2
404 python-ply)
405 ;; libpisp is only needed for the rpi/pisp pipeline on ARM.
406 (if (target-arm?)
407 (list libpisp)
408 '())))
409 (synopsis "Camera stack and framework")
410 (description "LibCamera is a complex camera support library for GNU+Linux,
411Android, and ChromeOS.")
412 (home-page "https://libcamera.org/")
413 (license license:lgpl2.1+)))
414
415;; Drop the documentation and the sample utilities.
416;; The README.rst gives a nice list of what packages are required.
417(define-public libcamera
418 (package/inherit libcamera-minimal
419 (name "libcamera")
420 (outputs '("out" "doc" "gst" "tools"))
421 (arguments
422 (substitute-keyword-arguments (package-arguments libcamera-minimal)
423 ((#:configure-flags flags #~'())
424 #~(cons (string-append "-Dbindir=" #$output:tools "/bin")
425 #$flags))
426 ((#:phases phases #~%standard-phases)
427 #~(modify-phases #$phases
428 (add-after 'unpack 'set-sphinx-theme
429 ;; sphinx_book_theme requires node for packaging
430 ;; use the default sphinx theme instead
431 (lambda _
432 (substitute* "Documentation/conf.py.in"
433 (("sphinx_book_theme") "alabaster"))))
434 (add-after 'install 'move-doc-and-gst
435 (lambda _
436 (mkdir-p (string-append #$output:doc "/share"))
437 (rename-file (string-append #$output "/share/doc")
438 (string-append #$output:doc "/share/doc"))
439 (mkdir-p (string-append #$output:gst "/lib"))
440 (rename-file
441 (string-append #$output "/lib/gstreamer-1.0")
442 (string-append #$output:gst "/lib/gstreamer-1.0"))))))))
443 (native-inputs
444 (modify-inputs (package-native-inputs libcamera-minimal)
445 (append googletest
446 doxygen
447 graphviz
448 python-sphinx
449 python-sphinxcontrib-doxylink)))
450 (inputs
451 (modify-inputs (package-inputs libcamera-minimal)
452 (append libevent libtiff qtbase)))))
453
340(define-public libraw 454(define-public libraw
341 (package 455 (package
342 (name "libraw") 456 (name "libraw")