[PATCH 0/8] Remove gtk@4 input dependency on qtbase@5.

  • Open
  • quality assurance status badge
Details
2 participants
  • Maxim Cournoyer
  • Nicolas Graves
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal
N
N
Nicolas Graves wrote on 24 Nov 23:09 +0100
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124221354.838-1-ngraves@ngraves.fr
I found that curious that building gtk@4 inherently requires qtbase@5
in the store's inputs. Turns out it's based on a few libraries that
have optional graphical helping tools. I've disabled them using
minimal variants. After this patch series there are no input-only
path from gtk@4 to qtbase@5.

Nicolas Graves (8):
gnu: Add v4l-utils-minimal.
gnu: zbar: Split outputs.
gnu: Add zbar-minimal.
gnu: libde265: Remove unused qtbase-5 input.
gnu: libde265: Update to 1.0.14.
gnu: libdc1394: Replace v4l-utils by v4l-utils-minimal.
gnu: gst-plugins-bad: Replace inputs with -minimal variants.
gnu: gst-plugins-good: Replace v4l-utils by v4l-utils-minimal.

gnu/packages/aidc.scm | 119 ++++++++++++++++++++++++++++++-------
gnu/packages/gstreamer.scm | 8 +--
gnu/packages/video.scm | 41 +++++++++----
3 files changed, 132 insertions(+), 36 deletions(-)

--
2.46.0
N
N
Nicolas Graves wrote on 24 Nov 23:29 +0100
[PATCH 1/8] gnu: Add v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124222934.524-1-ngraves@ngraves.fr
* gnu/packages/video.scm (v4l-utils-minimal): New variable.
---
gnu/packages/video.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2da458ed01..4cc6735dca 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4035,6 +4035,30 @@ (define-public v4l-utils
;; libv4l2 is LGPL2.1+, while utilities are GPL2 only.
(license (list license:lgpl2.1+ license:gpl2))))
+(define-public v4l-utils-minimal
+ (package
+ (inherit v4l-utils)
+ (source #f)
+ (name "v4l-utils-minimal")
+ (build-system trivial-build-system)
+ (arguments
+ (list
+ #:builder
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (copy-recursively #$(this-package-native-input "v4l-utils")
+ #$output)
+ (substitute* (find-files (string-append #$output "/lib/pkgconfig")
+ "\\.pc$")
+ (("^prefix=.*")
+ (string-append "prefix=" #$output "\n")))))))
+ (outputs '("out"))
+ (native-inputs (modify-inputs (package-native-inputs v4l-utils)
+ (prepend v4l-utils)))
+ (inputs (modify-inputs (package-inputs v4l-utils)
+ (delete "qtbase")))))
+
(define-public obs
(package
(name "obs")
--
2.46.0
N
N
Nicolas Graves wrote on 24 Nov 23:29 +0100
[PATCH 2/8] gnu: zbar: Split outputs.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124222934.524-2-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar): Split outputs.
[build-system]: Switch to glib-or-gtk-build-system.
[arguments]<#:configure-flags>: Add --disable-static.
<#:modules>: Use srfi-26 and gremlin's file-runpath.
<#:phases>: Add phase 'split-outputs.
[native-inputs]: Improve style.
[inputs]: Improve style. Replace v4l-utils by v4l-utils-minimal.
---
gnu/packages/aidc.scm | 94 +++++++++++++++++++++++++++++++++----------
1 file changed, 73 insertions(+), 21 deletions(-)

Toggle diff (134 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index bc9c47a480..281f87dc78 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,6 +31,7 @@ (define-module (gnu packages aidc)
#:use-module (guix git-download)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -43,7 +45,8 @@ (define-module (gnu packages aidc)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
#:use-module (guix build-system cmake)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system glib-or-gtk))
(define-public zxing-cpp
;; Use the master branch as it includes unreleased build system improvements
@@ -184,32 +187,81 @@ (define-public zbar
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
- (build-system gnu-build-system)
+ (base32 "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
+ (build-system glib-or-gtk-build-system)
+ ;; XXX: qt output is broken: zbarcam-qt fails with segmentation fault, but
+ ;; this error happened before the output split.
+ (outputs '("out" "gtk" "qt"))
(arguments
- '(#:configure-flags (list "--with-gtk=auto"
+ (list
+ #:configure-flags '(list "--disable-static"
+ "--with-gtk=auto"
"--with-python=auto"
(string-append "--with-dbusconfdir="
(assoc-ref %outputs "out")
- "/etc"))))
+ "/etc"))
+ #:modules `(((guix build gremlin) #:select (file-runpath))
+ (srfi srfi-26)
+ ,@%glib-or-gtk-build-system-modules)
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'split-outputs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gtk (assoc-ref outputs "gtk")))
+
+ ;; XXX: Using set-file-runpath leads to runpath-too-long-error
+ (define (prepend-to-runpath path file)
+ (invoke "patchelf" "--set-rpath"
+ (string-join (cons* path (file-runpath file)) ":")
+ file))
+
+ (define (move-output-file target file)
+ (let* ((source (string-append out file))
+ (destination (string-append target file)))
+ (mkdir-p (dirname destination))
+ (rename-file source destination)
+ (when (and (eq? (stat:type (lstat destination)) 'regular)
+ (elf-file? destination))
+ (prepend-to-runpath
+ (string-append out "/lib:" target "/lib")
+ destination))))
+
+ (for-each
+ (lambda (kind)
+ (for-each
+ (cut move-output-file (assoc-ref outputs kind) <>)
+ (cons*
+ (string-append "/lib/pkgconfig/zbar-" kind ".pc")
+ (string-append "/bin/zbarcam-" kind)
+ (map (cut string-drop <> 1)
+ (with-directory-excursion out
+ (find-files
+ "./lib"
+ (string-append "lib.*" kind "\\.so.*")))))))
+ '("gtk" "qt"))
+
+ (for-each
+ (cut move-output-file gtk <>)
+ '("/share/gir-1.0" "/lib/girepository-1.0"))))))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
+ (list autoconf
+ automake
+ gettext-minimal
+ `(,glib "bin")
+ gobject-introspection
+ libtool
+ patchelf
+ pkg-config
+ python-wrapper))
(inputs
- `(("dbus" ,dbus)
- ("imagemagick" ,imagemagick)
- ("libjpeg" ,libjpeg-turbo)
- ("perl" ,perl)
- ("python" ,python)
- ("qtx11extras" ,qtx11extras)
- ("v4l-utils" ,v4l-utils)))
+ (list dbus
+ imagemagick
+ libjpeg-turbo
+ perl
+ python
+ qtx11extras
+ v4l-utils-minimal))
(propagated-inputs
;; These are in 'requires' field of .pc files.
(list glib gtk+ qtbase-5))
--
2.46.0
N
N
Nicolas Graves wrote on 24 Nov 23:29 +0100
[PATCH 3/8] gnu: Add zbar-minimal.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124222934.524-3-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar-minimal): New variable.
---
gnu/packages/aidc.scm | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)

Toggle diff (47 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index 281f87dc78..58b5b9a6f6 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -46,7 +46,8 @@ (define-module (gnu packages aidc)
#:use-module (gnu packages video)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
- #:use-module (guix build-system glib-or-gtk))
+ #:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system trivial))
(define-public zxing-cpp
;; Use the master branch as it includes unreleased build system improvements
@@ -277,6 +278,30 @@ (define (move-output-file target file)
(home-page "https://github.com/mchehab/zbar")
(license license:lgpl2.1+)))
+(define-public zbar-minimal
+ (package
+ (inherit zbar)
+ (source #f)
+ (name "zbar-minimal")
+ (build-system trivial-build-system)
+ (arguments
+ (list
+ #:builder
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (copy-recursively #$(this-package-native-input "zbar")
+ #$output)
+ (substitute* (string-append #$output "/lib/pkgconfig/zbar.pc")
+ (("^prefix=.*")
+ (string-append "prefix=" #$output "\n")))))))
+ (outputs '("out"))
+ (native-inputs (modify-inputs (package-native-inputs zbar)
+ (prepend zbar)))
+ (inputs (modify-inputs (package-inputs zbar)
+ (delete "qtx11extras")))
+ (propagated-inputs '())))
+
(define-public qrcodegen-cpp
(package
(name "qrcodegen-cpp")
--
2.46.0
N
N
Nicolas Graves wrote on 24 Nov 23:29 +0100
[PATCH 5/8] gnu: libde265: Update to 1.0.14.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124222934.524-5-ngraves@ngraves.fr
* gnu/packages/video.scm (libde265): Update to 1.0.14.
[inputs]: Replace sdl by sdl2.
---
gnu/packages/video.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8dd647bf20..84e4a4fe3a 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -695,7 +695,7 @@ (define-public libvideogfx
(define-public libde265
(package
(name "libde265")
- (version "1.0.8")
+ (version "1.0.14")
(source
(origin
(method git-fetch)
@@ -705,7 +705,7 @@ (define-public libde265
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1dzflqbk248lz5ws0ni5acmf32b3rmnq5gsfaz7691qqjxkl1zml"))))
+ (base32 "1a4n1hnr9ybji87irg2kya95slf4jnybnkg4x2zihnqqihbnv539"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -715,7 +715,7 @@ (define-public libde265
(inputs
;; XXX: Build a complete version using libswscale or libvideogfx
;; and qtbase-5.
- (list sdl))
+ (list sdl2))
(synopsis "H.265 video codec implementation")
(description "Libde265 is an implementation of the h.265 video codec. It is
written from scratch and has a plain C API to enable a simple integration into
--
2.46.0
N
N
Nicolas Graves wrote on 24 Nov 23:29 +0100
[PATCH 4/8] gnu: libde265: Remove unused qtbase-5 input.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124222934.524-4-ngraves@ngraves.fr
* gnu/packages/video.scm (libde265)
[native-inputs]: Improve style.
[inputs]: Improve style. Remove qtbase-5 which wasn't actually
used (need more inputs to build graphical tools).
---
gnu/packages/video.scm | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 4cc6735dca..8dd647bf20 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -711,16 +711,11 @@ (define-public libde265
`(#:configure-flags
(list "--disable-static")))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
+ (list autoconf automake libtool pkg-config python-wrapper))
(inputs
- `(;; XXX: Build fails with libvideogfx.
- ;; ("libvideogfx" ,libvideogfx)
- ("qt" ,qtbase-5)
- ("sdl" ,sdl)))
+ ;; XXX: Build a complete version using libswscale or libvideogfx
+ ;; and qtbase-5.
+ (list sdl))
(synopsis "H.265 video codec implementation")
(description "Libde265 is an implementation of the h.265 video codec. It is
written from scratch and has a plain C API to enable a simple integration into
--
2.46.0
N
N
Nicolas Graves wrote on 24 Nov 23:29 +0100
[PATCH 6/8] gnu: libdc1394: Replace v4l-utils by v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124222934.524-6-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (libdc1394)[inputs]: Replace v4l-utils by
v4l-utils-minimal.
---
gnu/packages/gstreamer.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 13c8734e68..5ce33faa51 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -160,7 +160,7 @@ (define-public libdc1394
libxv
mesa
sdl
- v4l-utils))
+ v4l-utils-minimal))
(synopsis "1394-Based Digital Camera Control Library")
(description "LibDC1394 is a library that provides functionality to control
any camera that conforms to the 1394-Based Digital Camera Specification written
--
2.46.0
N
N
Nicolas Graves wrote on 24 Nov 23:29 +0100
[PATCH 7/8] gnu: gst-plugins-bad: Replace inputs with -minimal variants.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124222934.524-7-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (gst-plugins-bad)[inputs]: Replace
v4l-utils by v4l-utils-minimal. Replace zbar by zbar-minimal.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 5ce33faa51..bb1bdcb4a1 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -936,7 +936,7 @@ (define-public gst-plugins-bad
tinyalsa
transcode
usrsctp
- v4l-utils
+ v4l-utils-minimal
vo-aacenc
vo-amrwbenc
vulkan-headers
@@ -946,7 +946,7 @@ (define-public gst-plugins-bad
webrtc-audio-processing
wildmidi
wpebackend-fdo
- zbar
+ zbar-minimal
zxing-cpp-1.2)))
(home-page "https://gstreamer.freedesktop.org/")
(synopsis "Plugins for the GStreamer multimedia library")
--
2.46.0
N
N
Nicolas Graves wrote on 24 Nov 23:29 +0100
[PATCH 8/8] gnu: gst-plugins-good: Replace v4l-utils by v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241124222934.524-8-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Replace
v4l-utils by v4l-utils-minimal.
---
gnu/packages/gstreamer.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index bb1bdcb4a1..905ac2d79a 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -732,7 +732,7 @@ (define libsoup
speex
taglib
twolame
- v4l-utils
+ v4l-utils-minimal
wavpack
zlib))
(propagated-inputs
--
2.46.0
M
M
Maxim Cournoyer wrote on 25 Nov 03:38 +0100
Re: [bug#74517] [PATCH 0/8] Remove gtk@4 input dependency on qtbase@5.
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 74517@debbugs.gnu.org)
87o724m41b.fsf@gmail.com
Hi Nicolas,

Nicolas Graves <ngraves@ngraves.fr> writes:

Toggle quote (6 lines)
> I found that curious that building gtk@4 inherently requires qtbase@5
> in the store's inputs. Turns out it's based on a few libraries that
> have optional graphical helping tools. I've disabled them using
> minimal variants. After this patch series there are no input-only
> path from gtk@4 to qtbase@5.

I agree that was sub-optimal, thank you for addressing that. This
actually would resolve #51994 I had reported some time ago ("GTK 4
requires qtbase through various sources (gstreamer plugins)"), so you
(or the person who pushes) should add this as a git trailer:

Toggle snippet (3 lines)
Fixes: https://issues.guix.gnu.org/51994

and close the associate bug after it's pushed.

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 25 Nov 03:54 +0100
Re: [bug#74517] [PATCH 1/8] gnu: Add v4l-utils-minimal.
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 74517@debbugs.gnu.org)
87jzcsm3ac.fsf@gmail.com
Hi,

Nicolas Graves <ngraves@ngraves.fr> writes:

Toggle quote (33 lines)
> * gnu/packages/video.scm (v4l-utils-minimal): New variable.
> ---
> gnu/packages/video.scm | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 2da458ed01..4cc6735dca 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -4035,6 +4035,30 @@ (define-public v4l-utils
> ;; libv4l2 is LGPL2.1+, while utilities are GPL2 only.
> (license (list license:lgpl2.1+ license:gpl2))))
>
> +(define-public v4l-utils-minimal
> + (package
> + (inherit v4l-utils)
> + (source #f)
> + (name "v4l-utils-minimal")
> + (build-system trivial-build-system)
> + (arguments
> + (list
> + #:builder
> + (with-imported-modules '((guix build utils))
> + #~(begin
> + (use-modules (guix build utils))
> + (copy-recursively #$(this-package-native-input "v4l-utils")
> + #$output)
> + (substitute* (find-files (string-append #$output "/lib/pkgconfig")
> + "\\.pc$")
> + (("^prefix=.*")
> + (string-append "prefix=" #$output "\n")))))))
> + (outputs '("out"))

I don't understand how this resolves the issue, at a glance. Is the
issue that some v4l-utils tools, kept in a distinct output, are referred
to in the pkg-config files, present in the main output?

A comment explaining would be beneficial, but mostly I would rather we
use the more traditional style of rebuilding the package with the
modified inputs, so that it's cleanly built as a 'qtbase-less' variant;
that should lead to less bad surprises down the road, at the expense of
a bit more computation, which we can afford.

As a variant (a package sharing the same source but using different
inputs/build flags), the package should be defined via
'package/inherit', which will honor the parent package's replacements
(grafts).

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 25 Nov 03:56 +0100
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 74517@debbugs.gnu.org)
87frngm372.fsf@gmail.com
Also,

Toggle quote (2 lines)
> * gnu/packages/video.scm (v4l-utils-minimal): New variable.

I'd explain in a comment what this variant is for (break dependency on
Qt); better yet, a #:disallowed-reference could be use along such
comment to ensure the property is preserved in time.

Thanks.
M
M
Maxim Cournoyer wrote on 25 Nov 04:04 +0100
Re: [bug#74517] [PATCH 2/8] gnu: zbar: Split outputs.
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 74517@debbugs.gnu.org)
87bjy4m2t4.fsf@gmail.com
Hi,

Nicolas Graves <ngraves@ngraves.fr> writes:

Toggle quote (11 lines)
> * gnu/packages/aidc.scm (zbar): Split outputs.
> [build-system]: Switch to glib-or-gtk-build-system.
> [arguments]<#:configure-flags>: Add --disable-static.
> <#:modules>: Use srfi-26 and gremlin's file-runpath.
> <#:phases>: Add phase 'split-outputs.
> [native-inputs]: Improve style.
> [inputs]: Improve style. Replace v4l-utils by v4l-utils-minimal.
> ---
> gnu/packages/aidc.scm | 94 +++++++++++++++++++++++++++++++++----------
> 1 file changed, 73 insertions(+), 21 deletions(-)

[...]

Toggle quote (14 lines)
> (define-public zxing-cpp
> ;; Use the master branch as it includes unreleased build system improvements
> @@ -184,32 +187,81 @@ (define-public zbar
> (commit version)))
> (file-name (git-file-name name version))
> (sha256
> - (base32
> - "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
> - (build-system gnu-build-system)
> + (base32 "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
> + (build-system glib-or-gtk-build-system)
> + ;; XXX: qt output is broken: zbarcam-qt fails with segmentation fault, but
> + ;; this error happened before the output split.

As an alternative to packaging broken outputs, perhaps we could simply
tell the build system to not build with Qt, or wholly remove it from the
inputs?

Toggle quote (21 lines)
> + (outputs '("out" "gtk" "qt"))
> (arguments
> - '(#:configure-flags (list "--with-gtk=auto"
> + (list
> + #:configure-flags '(list "--disable-static"
> + "--with-gtk=auto"
> "--with-python=auto"
> (string-append "--with-dbusconfdir="
> (assoc-ref %outputs "out")
> - "/etc"))))
> + "/etc"))
> + #:modules `(((guix build gremlin) #:select (file-runpath))
> + (srfi srfi-26)
> + ,@%glib-or-gtk-build-system-modules)
> + #:phases
> + #~(modify-phases %standard-phases
> + (add-after 'install 'split-outputs
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let ((out (assoc-ref outputs "out"))
> + (gtk (assoc-ref outputs "gtk")))

This can be rewritten using the gexp variabls #$output and #$output:gtk.
Toggle quote (36 lines)
> +
> + ;; XXX: Using set-file-runpath leads to runpath-too-long-error
> + (define (prepend-to-runpath path file)
> + (invoke "patchelf" "--set-rpath"
> + (string-join (cons* path (file-runpath file)) ":")
> + file))
> +
> + (define (move-output-file target file)
> + (let* ((source (string-append out file))
> + (destination (string-append target file)))
> + (mkdir-p (dirname destination))
> + (rename-file source destination)
> + (when (and (eq? (stat:type (lstat destination)) 'regular)
> + (elf-file? destination))
> + (prepend-to-runpath
> + (string-append out "/lib:" target "/lib")
> + destination))))
> +
> + (for-each
> + (lambda (kind)
> + (for-each
> + (cut move-output-file (assoc-ref outputs kind) <>)
> + (cons*
> + (string-append "/lib/pkgconfig/zbar-" kind ".pc")
> + (string-append "/bin/zbarcam-" kind)
> + (map (cut string-drop <> 1)
> + (with-directory-excursion out
> + (find-files
> + "./lib"
> + (string-append "lib.*" kind "\\.so.*")))))))
> + '("gtk" "qt"))
> +
> + (for-each
> + (cut move-output-file gtk <>)
> + '("/share/gir-1.0" "/lib/girepository-1.0"))))))))

That is clever, perhaps too clever (in comparison to the simple brute
force approach of using a distinct minimal package variant built without
the extra inputs) :-).

Toggle quote (34 lines)
> (native-inputs
> - `(("autoconf" ,autoconf)
> - ("automake" ,automake)
> - ("gettext" ,gettext-minimal)
> - ("glib" ,glib "bin")
> - ("gobject-introspection" ,gobject-introspection)
> - ("libtool" ,libtool)
> - ("pkg-config" ,pkg-config)
> - ("python-wrapper" ,python-wrapper)))
> + (list autoconf
> + automake
> + gettext-minimal
> + `(,glib "bin")
> + gobject-introspection
> + libtool
> + patchelf
> + pkg-config
> + python-wrapper))
> (inputs
> - `(("dbus" ,dbus)
> - ("imagemagick" ,imagemagick)
> - ("libjpeg" ,libjpeg-turbo)
> - ("perl" ,perl)
> - ("python" ,python)
> - ("qtx11extras" ,qtx11extras)
> - ("v4l-utils" ,v4l-utils)))
> + (list dbus
> + imagemagick
> + libjpeg-turbo
> + perl
> + python
> + qtx11extras
> + v4l-utils-minimal))

Could be done in a separate commit; this entangles concern and makes it
easier if in the future a revert needs to be made.

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 25 Nov 04:08 +0100
Re: [bug#74517] [PATCH 3/8] gnu: Add zbar-minimal.
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 74517@debbugs.gnu.org)
877c8sm2n7.fsf@gmail.com
Hi Nicolas,

Nicolas Graves <ngraves@ngraves.fr> writes:

Toggle quote (47 lines)
> * gnu/packages/aidc.scm (zbar-minimal): New variable.
> ---
> gnu/packages/aidc.scm | 27 ++++++++++++++++++++++++++-
> 1 file changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
> index 281f87dc78..58b5b9a6f6 100644
> --- a/gnu/packages/aidc.scm
> +++ b/gnu/packages/aidc.scm
> @@ -46,7 +46,8 @@ (define-module (gnu packages aidc)
> #:use-module (gnu packages video)
> #:use-module (guix build-system cmake)
> #:use-module (guix build-system gnu)
> - #:use-module (guix build-system glib-or-gtk))
> + #:use-module (guix build-system glib-or-gtk)
> + #:use-module (guix build-system trivial))
>
> (define-public zxing-cpp
> ;; Use the master branch as it includes unreleased build system improvements
> @@ -277,6 +278,30 @@ (define (move-output-file target file)
> (home-page "https://github.com/mchehab/zbar")
> (license license:lgpl2.1+)))
>
> +(define-public zbar-minimal
> + (package
> + (inherit zbar)
> + (source #f)
> + (name "zbar-minimal")
> + (build-system trivial-build-system)
> + (arguments
> + (list
> + #:builder
> + (with-imported-modules '((guix build utils))
> + #~(begin
> + (use-modules (guix build utils))
> + (copy-recursively #$(this-package-native-input "zbar")
> + #$output)
> + (substitute* (string-append #$output "/lib/pkgconfig/zbar.pc")
> + (("^prefix=.*")
> + (string-append "prefix=" #$output "\n")))))))
> + (outputs '("out"))
> + (native-inputs (modify-inputs (package-native-inputs zbar)
> + (prepend zbar)))
> + (inputs (modify-inputs (package-inputs zbar)
> + (delete "qtx11extras")))
> + (propagated-inputs '())))

I see; the previous commit neatly organized dependencies on gtk/qt in
separate outputs, and this variant ensures any reference to these output
is severed, without any rebuild. It's a researched approach, but I'm a
bit worried about long term maintenance/correctness; I feel a classic
variant rebuilt without the problematic inputs would be both easier to
understand and maintain in the long term.

Also, same earlier comments hold about package/inherit and using
#:disallowed-reference along with an explanatory comment.

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 25 Nov 04:08 +0100
Re: [bug#74517] [PATCH 4/8] gnu: libde265: Remove unused qtbase-5 input.
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 74517@debbugs.gnu.org)
8734jgm2lz.fsf@gmail.com
Nicolas Graves <ngraves@ngraves.fr> writes:

Toggle quote (5 lines)
> * gnu/packages/video.scm (libde265)
> [native-inputs]: Improve style.
> [inputs]: Improve style. Remove qtbase-5 which wasn't actually
> used (need more inputs to build graphical tools).

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 25 Nov 04:09 +0100
Re: [bug#74517] [PATCH 5/8] gnu: libde265: Update to 1.0.14.
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 74517@debbugs.gnu.org)
87y118ko17.fsf@gmail.com
Nicolas Graves <ngraves@ngraves.fr> writes:

Toggle quote (3 lines)
> * gnu/packages/video.scm (libde265): Update to 1.0.14.
> [inputs]: Replace sdl by sdl2.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 25 Nov 04:11 +0100
Re: [bug#74517] [PATCH 0/8] Remove gtk@4 input dependency on qtbase@5.
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 74517@debbugs.gnu.org)
87ttbwknxb.fsf@gmail.com
Hi,

Nicolas Graves <ngraves@ngraves.fr> writes:

Toggle quote (12 lines)
> I found that curious that building gtk@4 inherently requires qtbase@5
> in the store's inputs. Turns out it's based on a few libraries that
> have optional graphical helping tools. I've disabled them using
> minimal variants. After this patch series there are no input-only
> path from gtk@4 to qtbase@5.
>
> Nicolas Graves (8):
> gnu: Add v4l-utils-minimal.
> gnu: zbar: Split outputs.
> gnu: Add zbar-minimal.
> gnu: libde265: Remove unused qtbase-5 input.

I left some comments; I think I'd prefer a simpler rebuilt variant
solution compared to the fancier but more frail (because of more
complex) runpath hacking/trivial-build-system copying business involved
in this version.

Toggle quote (5 lines)
> gnu: libde265: Update to 1.0.14.
> gnu: libdc1394: Replace v4l-utils by v4l-utils-minimal.
> gnu: gst-plugins-bad: Replace inputs with -minimal variants.
> gnu: gst-plugins-good: Replace v4l-utils by v4l-utils-minimal.

These LGTM.

Thanks a lot for tackling this problem!

--
Maxim
N
N
Nicolas Graves wrote on 25 Nov 08:42 +0100
Re: [bug#74517] [PATCH 2/8] gnu: zbar: Split outputs.
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 74517@debbugs.gnu.org)
87wmgrsqrw.fsf@ngraves.fr
On 2024-11-25 12:04, Maxim Cournoyer wrote:

Toggle quote (97 lines)
> Hi,
>
> Nicolas Graves <ngraves@ngraves.fr> writes:
>
>> * gnu/packages/aidc.scm (zbar): Split outputs.
>> [build-system]: Switch to glib-or-gtk-build-system.
>> [arguments]<#:configure-flags>: Add --disable-static.
>> <#:modules>: Use srfi-26 and gremlin's file-runpath.
>> <#:phases>: Add phase 'split-outputs.
>> [native-inputs]: Improve style.
>> [inputs]: Improve style. Replace v4l-utils by v4l-utils-minimal.
>> ---
>> gnu/packages/aidc.scm | 94 +++++++++++++++++++++++++++++++++----------
>> 1 file changed, 73 insertions(+), 21 deletions(-)
>
> [...]
>
>> (define-public zxing-cpp
>> ;; Use the master branch as it includes unreleased build system improvements
>> @@ -184,32 +187,81 @@ (define-public zbar
>> (commit version)))
>> (file-name (git-file-name name version))
>> (sha256
>> - (base32
>> - "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
>> - (build-system gnu-build-system)
>> + (base32 "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
>> + (build-system glib-or-gtk-build-system)
>> + ;; XXX: qt output is broken: zbarcam-qt fails with segmentation fault, but
>> + ;; this error happened before the output split.
>
> As an alternative to packaging broken outputs, perhaps we could simply
> tell the build system to not build with Qt, or wholly remove it from the
> inputs?
>
>> + (outputs '("out" "gtk" "qt"))
>> (arguments
>> - '(#:configure-flags (list "--with-gtk=auto"
>> + (list
>> + #:configure-flags '(list "--disable-static"
>> + "--with-gtk=auto"
>> "--with-python=auto"
>> (string-append "--with-dbusconfdir="
>> (assoc-ref %outputs "out")
>> - "/etc"))))
>> + "/etc"))
>> + #:modules `(((guix build gremlin) #:select (file-runpath))
>> + (srfi srfi-26)
>> + ,@%glib-or-gtk-build-system-modules)
>> + #:phases
>> + #~(modify-phases %standard-phases
>> + (add-after 'install 'split-outputs
>> + (lambda* (#:key outputs #:allow-other-keys)
>> + (let ((out (assoc-ref outputs "out"))
>> + (gtk (assoc-ref outputs "gtk")))
>
> This can be rewritten using the gexp variabls #$output and #$output:gtk.
>> +
>> + ;; XXX: Using set-file-runpath leads to runpath-too-long-error
>> + (define (prepend-to-runpath path file)
>> + (invoke "patchelf" "--set-rpath"
>> + (string-join (cons* path (file-runpath file)) ":")
>> + file))
>> +
>> + (define (move-output-file target file)
>> + (let* ((source (string-append out file))
>> + (destination (string-append target file)))
>> + (mkdir-p (dirname destination))
>> + (rename-file source destination)
>> + (when (and (eq? (stat:type (lstat destination)) 'regular)
>> + (elf-file? destination))
>> + (prepend-to-runpath
>> + (string-append out "/lib:" target "/lib")
>> + destination))))
>> +
>> + (for-each
>> + (lambda (kind)
>> + (for-each
>> + (cut move-output-file (assoc-ref outputs kind) <>)
>> + (cons*
>> + (string-append "/lib/pkgconfig/zbar-" kind ".pc")
>> + (string-append "/bin/zbarcam-" kind)
>> + (map (cut string-drop <> 1)
>> + (with-directory-excursion out
>> + (find-files
>> + "./lib"
>> + (string-append "lib.*" kind "\\.so.*")))))))
>> + '("gtk" "qt"))
>> +
>> + (for-each
>> + (cut move-output-file gtk <>)
>> + '("/share/gir-1.0" "/lib/girepository-1.0"))))))))
>
> That is clever, perhaps too clever (in comparison to the simple brute
> force approach of using a distinct minimal package variant built without
> the extra inputs) :-).

Yes, but I think the output split is desirable independently of the
minimal variant (for when we won't have to carry the propagated-inputs
anymore), and thus it makes sense to keep it. WDYT?

I could also try to package :
- one minimal version
- one gtk version in its own package, trying not to rebuild but to link
if not too complex
- not try to package a qt version (I'm not able to debug this).

--
Best regards,
Nicolas Graves
N
N
Nicolas Graves wrote on 25 Nov 08:47 +0100
Re: [bug#74517] [PATCH 0/8] Remove gtk@4 input dependency on qtbase@5.
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 74517@debbugs.gnu.org)
87v7wbsqk2.fsf@ngraves.fr
On 2024-11-25 12:11, Maxim Cournoyer wrote:

Toggle quote (21 lines)
> Hi,
>
> Nicolas Graves <ngraves@ngraves.fr> writes:
>
>> I found that curious that gtk@4 inherently requires qtbase@5
>> in the store's inputs. Turns out it's based on a few libraries that
>> have optional graphical helping tools. I've disabled them using
>> minimal variants. After this patch series there are no input-only
>> path from gtk@4 to qtbase@5.
>>
>> Nicolas Graves (8):
>> gnu: Add v4l-utils-minimal.
>> gnu: zbar: Split outputs.
>> gnu: Add zbar-minimal.
>> gnu: libde265: Remove unused qtbase-5 input.
>
> I left some comments; I think I'd prefer a simpler rebuilt variant
> solution compared to the fancier but more frail (because of more
> complex) runpath hacking/trivial-build-system copying business involved
> in this version.

I get it, I chose that because of its lack of need to rebuild, while the
simpler rebuild variant would indeed require a rebuild (here a copy).
It's not that big of a subject here, these libraries are not super heavy
themselves so I'll change that.

I still like this solution for this reason, and I think this could be
applied for some other packages I've worked on (e.g. libreoffice is very
tricky to separate the build into steps, because some of its build
elements require the whole package, but it can be split at the end).
Agree to keep this as an exception when the alternative is really more
complex though, or when the build is very heavy (and thus making a copy
despite additional complexity makes sense).

Toggle quote (9 lines)
>> gnu: libde265: Update to 1.0.14.
>> gnu: libdc1394: Replace v4l-utils by v4l-utils-minimal.
>> gnu: gst-plugins-bad: Replace inputs with -minimal variants.
>> gnu: gst-plugins-good: Replace v4l-utils by v4l-utils-minimal.
>
> These LGTM.
>
> Thanks a lot for tackling this problem!

--
Best regards,
Nicolas Graves
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 02/10] gnu: zbar: Improve style.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-2-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar)[native-inputs, inputs]: Improve style.
---
gnu/packages/aidc.scm | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index bc9c47a480..0c1f26495b 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -194,22 +194,22 @@ (define-public zbar
(assoc-ref %outputs "out")
"/etc"))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
+ (list autoconf
+ automake
+ gettext-minimal
+ `(,glib "bin")
+ gobject-introspection
+ libtool
+ patchelf
+ pkg-config
+ python-wrapper))
(inputs
- `(("dbus" ,dbus)
- ("imagemagick" ,imagemagick)
- ("libjpeg" ,libjpeg-turbo)
- ("perl" ,perl)
- ("python" ,python)
- ("qtx11extras" ,qtx11extras)
- ("v4l-utils" ,v4l-utils)))
+ (list dbus
+ imagemagick
+ libjpeg-turbo
+ perl
+ python
+ v4l-utils))
(propagated-inputs
;; These are in 'requires' field of .pc files.
(list glib gtk+ qtbase-5))
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 01/10] gnu: Add v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-1-ngraves@ngraves.fr
* gnu/packages/video.scm (v4l-utils-minimal): New variable.
---
gnu/packages/video.scm | 13 +++++++++++++
1 file changed, 13 insertions(+)

Toggle diff (26 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2da458ed01..cf5ff45fb7 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4035,6 +4035,19 @@ (define-public v4l-utils
;; libv4l2 is LGPL2.1+, while utilities are GPL2 only.
(license (list license:lgpl2.1+ license:gpl2))))
+(define-public v4l-utils-minimal
+ (package
+ (inherit v4l-utils)
+ (name "v4l-utils-minimal")
+ (arguments
+ (substitute-keyword-arguments (package-arguments v4l-utils)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'split)))))
+ (outputs '("out"))
+ (inputs (modify-inputs (package-inputs v4l-utils)
+ (delete "qtbase")))))
+
(define-public obs
(package
(name "obs")
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 03/10] gnu: zbar: Disable static and qt build.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-3-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar): Disable static and qt build.
[build-system]: Switch to glib-or-gtk-build-system.
[arguments]<#:configure-flags>: Add --disable-static.
[inputs]: Replace v4l-utils by v4l-utils-minimal.
---
gnu/packages/aidc.scm | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index 0c1f26495b..dbbab0e22b 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,8 +29,10 @@ (define-module (gnu packages aidc)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -43,7 +46,8 @@ (define-module (gnu packages aidc)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
#:use-module (guix build-system cmake)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system glib-or-gtk))
(define-public zxing-cpp
;; Use the master branch as it includes unreleased build system improvements
@@ -171,6 +175,7 @@ (define-public libdmtx
C/C++ programs to use its capabilities without restrictions or overhead.")
(license license:bsd-3)))
+;; XXX: qt variant utils are broken: zbarcam-qt fails with segmentation fault.
(define-public zbar
(package
(name "zbar")
@@ -184,11 +189,12 @@ (define-public zbar
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
- (build-system gnu-build-system)
+ (base32 "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
+ (build-system glib-or-gtk-build-system)
(arguments
- '(#:configure-flags (list "--with-gtk=auto"
+ (list
+ #:configure-flags '(list "--disable-static"
+ "--with-gtk=auto"
"--with-python=auto"
(string-append "--with-dbusconfdir="
(assoc-ref %outputs "out")
@@ -209,10 +215,10 @@ (define-public zbar
libjpeg-turbo
perl
python
- v4l-utils))
+ v4l-utils-minimal))
(propagated-inputs
;; These are in 'requires' field of .pc files.
- (list glib gtk+ qtbase-5))
+ (list glib gtk+))
(synopsis "Bar code reader")
(description
"ZBar can read barcodes from various sources, such as video streams,
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 04/10] gnu: zbar: Update to 0.23.92.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-4-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar): Update to 0.23.92.
---
gnu/packages/aidc.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index dbbab0e22b..cf18801aec 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -179,7 +179,7 @@ (define-public libdmtx
(define-public zbar
(package
(name "zbar")
- (version "0.23.90")
+ (version "0.23.92")
(source
(origin
(method git-fetch)
@@ -189,7 +189,7 @@ (define-public zbar
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
+ (base32 "0k3g0ql2m4dnflppp9r3k804d927g7zslczblzcrbvhp02g6n5an"))))
(build-system glib-or-gtk-build-system)
(arguments
(list
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 05/10] gnu: Add zbar-minimal.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-5-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar-minimal): New variable.
---
gnu/packages/aidc.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)

Toggle diff (25 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index cf18801aec..a08b89e252 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -231,6 +231,18 @@ (define-public zbar
(home-page "https://github.com/mchehab/zbar")
(license license:lgpl2.1+)))
+(define-public zbar-minimal
+ (package/inherit zbar
+ (name "zbar-minimal")
+ (build-system gnu-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments zbar)
+ ((#:configure-flags flags)
+ #~(cons* "--with-gtk=no" (delete "--with-gtk=auto" #$flags)))))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs zbar)
+ (delete "gtk+")))))
+
(define-public qrcodegen-cpp
(package
(name "qrcodegen-cpp")
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 06/10] gnu: libde265: Remove unused qtbase-5 input.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-6-ngraves@ngraves.fr
* gnu/packages/video.scm (libde265)
[native-inputs]: Improve style.
[inputs]: Improve style. Remove qtbase-5 which wasn't actually
used (need more inputs to build graphical tools).
---
gnu/packages/video.scm | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index cf5ff45fb7..2ee0058c81 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -711,16 +711,11 @@ (define-public libde265
`(#:configure-flags
(list "--disable-static")))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
+ (list autoconf automake libtool pkg-config python-wrapper))
(inputs
- `(;; XXX: Build fails with libvideogfx.
- ;; ("libvideogfx" ,libvideogfx)
- ("qt" ,qtbase-5)
- ("sdl" ,sdl)))
+ ;; XXX: Build a complete version using libswscale or libvideogfx
+ ;; and qtbase-5.
+ (list sdl))
(synopsis "H.265 video codec implementation")
(description "Libde265 is an implementation of the h.265 video codec. It is
written from scratch and has a plain C API to enable a simple integration into
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 07/10] gnu: libde265: Update to 1.0.14.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-7-ngraves@ngraves.fr
* gnu/packages/video.scm (libde265): Update to 1.0.14.
[inputs]: Replace sdl by sdl2.
---
gnu/packages/video.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2ee0058c81..6f78a966c9 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -695,7 +695,7 @@ (define-public libvideogfx
(define-public libde265
(package
(name "libde265")
- (version "1.0.8")
+ (version "1.0.14")
(source
(origin
(method git-fetch)
@@ -705,7 +705,7 @@ (define-public libde265
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1dzflqbk248lz5ws0ni5acmf32b3rmnq5gsfaz7691qqjxkl1zml"))))
+ (base32 "1a4n1hnr9ybji87irg2kya95slf4jnybnkg4x2zihnqqihbnv539"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -715,7 +715,7 @@ (define-public libde265
(inputs
;; XXX: Build a complete version using libswscale or libvideogfx
;; and qtbase-5.
- (list sdl))
+ (list sdl2))
(synopsis "H.265 video codec implementation")
(description "Libde265 is an implementation of the h.265 video codec. It is
written from scratch and has a plain C API to enable a simple integration into
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 08/10] gnu: libdc1394: Replace v4l-utils by v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-8-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (libdc1394)[inputs]: Replace v4l-utils by
v4l-utils-minimal.
---
gnu/packages/gstreamer.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 13c8734e68..5ce33faa51 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -160,7 +160,7 @@ (define-public libdc1394
libxv
mesa
sdl
- v4l-utils))
+ v4l-utils-minimal))
(synopsis "1394-Based Digital Camera Control Library")
(description "LibDC1394 is a library that provides functionality to control
any camera that conforms to the 1394-Based Digital Camera Specification written
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 09/10] gnu: gst-plugins-bad: Replace inputs with -minimal variants.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-9-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (gst-plugins-bad)[inputs]: Replace
v4l-utils by v4l-utils-minimal. Replace zbar by zbar-minimal.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 5ce33faa51..bb1bdcb4a1 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -936,7 +936,7 @@ (define-public gst-plugins-bad
tinyalsa
transcode
usrsctp
- v4l-utils
+ v4l-utils-minimal
vo-aacenc
vo-amrwbenc
vulkan-headers
@@ -946,7 +946,7 @@ (define-public gst-plugins-bad
webrtc-audio-processing
wildmidi
wpebackend-fdo
- zbar
+ zbar-minimal
zxing-cpp-1.2)))
(home-page "https://gstreamer.freedesktop.org/")
(synopsis "Plugins for the GStreamer multimedia library")
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:43 +0100
[PATCH v2 10/10] gnu: gst-plugins-good: Replace v4l-utils by v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241125094407.6865-10-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Replace
v4l-utils by v4l-utils-minimal.
---
gnu/packages/gstreamer.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index bb1bdcb4a1..905ac2d79a 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -732,7 +732,7 @@ (define libsoup
speex
taglib
twolame
- v4l-utils
+ v4l-utils-minimal
wavpack
zlib))
(propagated-inputs
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 01/10] gnu: Add v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-1-ngraves@ngraves.fr
* gnu/packages/video.scm (v4l-utils-minimal): New variable.
---
gnu/packages/video.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2da458ed01..6f9eea6fc2 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4035,6 +4035,20 @@ (define-public v4l-utils
;; libv4l2 is LGPL2.1+, while utilities are GPL2 only.
(license (list license:lgpl2.1+ license:gpl2))))
+(define-public v4l-utils-minimal
+ (package/inherit v4l-utils
+ (name "v4l-utils-minimal")
+ (arguments
+ (substitute-keyword-arguments (package-arguments v4l-utils)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'split)))
+ ((#:disallowed-references _)
+ #~("qtbase"))))
+ (outputs '("out"))
+ (inputs (modify-inputs (package-inputs v4l-utils)
+ (delete "qtbase")))))
+
(define-public obs
(package
(name "obs")
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 02/10] gnu: zbar: Improve style.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-2-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar)[native-inputs, inputs]: Improve style.
---
gnu/packages/aidc.scm | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index bc9c47a480..0c1f26495b 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -194,22 +194,22 @@ (define-public zbar
(assoc-ref %outputs "out")
"/etc"))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib "bin")
- ("gobject-introspection" ,gobject-introspection)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("python-wrapper" ,python-wrapper)))
+ (list autoconf
+ automake
+ gettext-minimal
+ `(,glib "bin")
+ gobject-introspection
+ libtool
+ patchelf
+ pkg-config
+ python-wrapper))
(inputs
- `(("dbus" ,dbus)
- ("imagemagick" ,imagemagick)
- ("libjpeg" ,libjpeg-turbo)
- ("perl" ,perl)
- ("python" ,python)
- ("qtx11extras" ,qtx11extras)
- ("v4l-utils" ,v4l-utils)))
+ (list dbus
+ imagemagick
+ libjpeg-turbo
+ perl
+ python
+ v4l-utils))
(propagated-inputs
;; These are in 'requires' field of .pc files.
(list glib gtk+ qtbase-5))
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 03/10] gnu: zbar: Disable static and qt build.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-3-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar): Disable static and qt build.
[build-system]: Switch to glib-or-gtk-build-system.
[arguments]<#:configure-flags>: Add --disable-static.
[inputs]: Replace v4l-utils by v4l-utils-minimal.
---
gnu/packages/aidc.scm | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index 0c1f26495b..dbbab0e22b 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,8 +29,10 @@ (define-module (gnu packages aidc)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -43,7 +46,8 @@ (define-module (gnu packages aidc)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
#:use-module (guix build-system cmake)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system glib-or-gtk))
(define-public zxing-cpp
;; Use the master branch as it includes unreleased build system improvements
@@ -171,6 +175,7 @@ (define-public libdmtx
C/C++ programs to use its capabilities without restrictions or overhead.")
(license license:bsd-3)))
+;; XXX: qt variant utils are broken: zbarcam-qt fails with segmentation fault.
(define-public zbar
(package
(name "zbar")
@@ -184,11 +189,12 @@ (define-public zbar
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
- (build-system gnu-build-system)
+ (base32 "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
+ (build-system glib-or-gtk-build-system)
(arguments
- '(#:configure-flags (list "--with-gtk=auto"
+ (list
+ #:configure-flags '(list "--disable-static"
+ "--with-gtk=auto"
"--with-python=auto"
(string-append "--with-dbusconfdir="
(assoc-ref %outputs "out")
@@ -209,10 +215,10 @@ (define-public zbar
libjpeg-turbo
perl
python
- v4l-utils))
+ v4l-utils-minimal))
(propagated-inputs
;; These are in 'requires' field of .pc files.
- (list glib gtk+ qtbase-5))
+ (list glib gtk+))
(synopsis "Bar code reader")
(description
"ZBar can read barcodes from various sources, such as video streams,
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 04/10] gnu: zbar: Update to 0.23.92.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-4-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar): Update to 0.23.92.
---
gnu/packages/aidc.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index dbbab0e22b..cf18801aec 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -179,7 +179,7 @@ (define-public libdmtx
(define-public zbar
(package
(name "zbar")
- (version "0.23.90")
+ (version "0.23.92")
(source
(origin
(method git-fetch)
@@ -189,7 +189,7 @@ (define-public zbar
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
+ (base32 "0k3g0ql2m4dnflppp9r3k804d927g7zslczblzcrbvhp02g6n5an"))))
(build-system glib-or-gtk-build-system)
(arguments
(list
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 05/10] gnu: Add zbar-minimal.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-5-ngraves@ngraves.fr
* gnu/packages/aidc.scm (zbar-minimal): New variable.
---
gnu/packages/aidc.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index cf18801aec..7add0f0a2f 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -231,6 +231,20 @@ (define-public zbar
(home-page "https://github.com/mchehab/zbar")
(license license:lgpl2.1+)))
+(define-public zbar-minimal
+ (package/inherit zbar
+ (name "zbar-minimal")
+ (build-system gnu-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments zbar)
+ ((#:configure-flags flags)
+ #~(cons* "--with-gtk=no" (delete "--with-gtk=auto" #$flags)))
+ ((#:disallowed-references _)
+ #~("qtbase" "gtk+"))))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs zbar)
+ (delete "gtk+")))))
+
(define-public qrcodegen-cpp
(package
(name "qrcodegen-cpp")
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 06/10] gnu: libde265: Remove unused qtbase-5 input.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-6-ngraves@ngraves.fr
* gnu/packages/video.scm (libde265)
[native-inputs]: Improve style.
[inputs]: Improve style. Remove qtbase-5 which wasn't actually
used (need more inputs to build graphical tools).
---
gnu/packages/video.scm | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 6f9eea6fc2..a2d7a1dfbb 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -711,16 +711,11 @@ (define-public libde265
`(#:configure-flags
(list "--disable-static")))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
+ (list autoconf automake libtool pkg-config python-wrapper))
(inputs
- `(;; XXX: Build fails with libvideogfx.
- ;; ("libvideogfx" ,libvideogfx)
- ("qt" ,qtbase-5)
- ("sdl" ,sdl)))
+ ;; XXX: Build a complete version using libswscale or libvideogfx
+ ;; and qtbase-5.
+ (list sdl))
(synopsis "H.265 video codec implementation")
(description "Libde265 is an implementation of the h.265 video codec. It is
written from scratch and has a plain C API to enable a simple integration into
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 07/10] gnu: libde265: Update to 1.0.14.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-7-ngraves@ngraves.fr
* gnu/packages/video.scm (libde265): Update to 1.0.14.
[inputs]: Replace sdl by sdl2.
---
gnu/packages/video.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index a2d7a1dfbb..75fb77bb0d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -695,7 +695,7 @@ (define-public libvideogfx
(define-public libde265
(package
(name "libde265")
- (version "1.0.8")
+ (version "1.0.14")
(source
(origin
(method git-fetch)
@@ -705,7 +705,7 @@ (define-public libde265
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1dzflqbk248lz5ws0ni5acmf32b3rmnq5gsfaz7691qqjxkl1zml"))))
+ (base32 "1a4n1hnr9ybji87irg2kya95slf4jnybnkg4x2zihnqqihbnv539"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -715,7 +715,7 @@ (define-public libde265
(inputs
;; XXX: Build a complete version using libswscale or libvideogfx
;; and qtbase-5.
- (list sdl))
+ (list sdl2))
(synopsis "H.265 video codec implementation")
(description "Libde265 is an implementation of the h.265 video codec. It is
written from scratch and has a plain C API to enable a simple integration into
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 08/10] gnu: libdc1394: Replace v4l-utils by v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-8-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (libdc1394)[inputs]: Replace v4l-utils by
v4l-utils-minimal.
---
gnu/packages/gstreamer.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 13c8734e68..5ce33faa51 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -160,7 +160,7 @@ (define-public libdc1394
libxv
mesa
sdl
- v4l-utils))
+ v4l-utils-minimal))
(synopsis "1394-Based Digital Camera Control Library")
(description "LibDC1394 is a library that provides functionality to control
any camera that conforms to the 1394-Based Digital Camera Specification written
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 09/10] gnu: gst-plugins-bad: Replace inputs with -minimal variants.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-9-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (gst-plugins-bad)[inputs]: Replace
v4l-utils by v4l-utils-minimal. Replace zbar by zbar-minimal.
---
gnu/packages/gstreamer.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 5ce33faa51..bb1bdcb4a1 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -936,7 +936,7 @@ (define-public gst-plugins-bad
tinyalsa
transcode
usrsctp
- v4l-utils
+ v4l-utils-minimal
vo-aacenc
vo-amrwbenc
vulkan-headers
@@ -946,7 +946,7 @@ (define-public gst-plugins-bad
webrtc-audio-processing
wildmidi
wpebackend-fdo
- zbar
+ zbar-minimal
zxing-cpp-1.2)))
(home-page "https://gstreamer.freedesktop.org/")
(synopsis "Plugins for the GStreamer multimedia library")
--
2.46.0
N
N
Nicolas Graves wrote on 25 Nov 10:52 +0100
[PATCH v3 10/10] gnu: gst-plugins-good: Replace v4l-utils by v4l-utils-minimal.
(address . 74517@debbugs.gnu.org)
20241125095249.19053-10-ngraves@ngraves.fr
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Replace
v4l-utils by v4l-utils-minimal.
---
gnu/packages/gstreamer.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index bb1bdcb4a1..905ac2d79a 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -732,7 +732,7 @@ (define libsoup
speex
taglib
twolame
- v4l-utils
+ v4l-utils-minimal
wavpack
zlib))
(propagated-inputs
--
2.46.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 74517@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 74517
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch