You are not logged in.
I stumbled upon https://gitlab.gnome.org/bilelmoussaoui/decoder/ and I really like it, but they don't offer build instructions, only a flatpak link.
I could do a try-and-error approach following some meson packages already in the AUR as an example, but since I don't know anything about this system, I'd rather ask here if someone who does would want to create this package and maintain it.
Thanks.
Offline
Does this PKGBUILD work for you? Build tested only.
# This is an example PKGBUILD file. Use this as a start to creating your own,
# and remove these comments. For more information, see 'man PKGBUILD'.
# NOTE: Please fill out the license field for your package! If it is unknown,
# then please put 'unknown'.
# Maintainer: Your Name <youremail@domain.com>
pkgname=decoder-git
pkgver=0.1.0.r5.g83124d9
pkgrel=1
pkgdesc="Scan and Generate QR Codes"
arch=('x86_64')
url="https://gitlab.gnome.org/bilelmoussaoui/decoder"
license=('GPL3')
depends=('gtk4' 'libadwaita-git' 'zbar')
makedepends=('git' 'meson' 'rust')
provides=('decoder')
conflicts=('decoder')
source=("$pkgname::git+https://gitlab.gnome.org/bilelmoussaoui/decoder.git")
md5sums=('SKIP')
pkgver() {
cd "$pkgname"
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd "$pkgname"
cargo update -p zbar-rust --precise 0.0.16 #needed to use zbar > 0.20
}
build() {
meson --prefix /usr $pkgname build
meson compile -C build
}
package() {
DESTDIR="$pkgdir" meson install -C build
}
Offline
╰─? RUST_BACKTRACE=full decoder
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: BoolError { message: "Failed to create element from factory name", filename: "/home/icar/Baixades/decoder-git/src/build/target/cargo-home/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/72f191b/gstreamer/src/auto/element_factory.rs", function: "gstreamer::auto::element_factory", line: 195 }', src/widgets/camera.rs:134:70
stack backtrace:
0: 0x5624a1b3de20 - <unknown>
1: 0x5624a1b5c2ec - <unknown>
2: 0x5624a1b3a762 - <unknown>
3: 0x5624a1b40045 - <unknown>
4: 0x5624a1b3fba3 - <unknown>
5: 0x5624a1b407e1 - <unknown>
6: 0x5624a1b40327 - <unknown>
7: 0x5624a1b3e2bc - <unknown>
8: 0x5624a1b40289 - <unknown>
9: 0x5624a1b5acb1 - <unknown>
10: 0x5624a1b5aad3 - <unknown>
11: 0x5624a1950a6a - <unknown>
12: 0x5624a196d6ae - <unknown>
13: 0x7f2ae456466a - g_type_create_instance
14: 0x7f2ae454d5fe - <unknown>
15: 0x7f2ae454e46d - g_object_new_with_properties
16: 0x7f2ae454ee52 - g_object_new
17: 0x7f2ae49f3523 - <unknown>
18: 0x7f2ae49f77ec - <unknown>
19: 0x7f2ae49faa14 - <unknown>
20: 0x7f2ae49f448f - <unknown>
21: 0x7f2ae49fb6a3 - <unknown>
22: 0x7f2ae49efdba - gtk_builder_extend_with_template
23: 0x7f2ae4bec42c - gtk_widget_init_template
24: 0x7f2ae456466a - g_type_create_instance
25: 0x7f2ae454d5fe - <unknown>
26: 0x7f2ae454e6c1 - g_object_newv
27: 0x5624a1a98292 - <unknown>
28: 0x5624a1a97c71 - <unknown>
29: 0x5624a195931f - <unknown>
30: 0x5624a18f112c - <unknown>
31: 0x5624a18ebaed - <unknown>
32: 0x5624a19512bb - <unknown>
33: 0x7f2ae455c096 - g_signal_emit_valist
34: 0x7f2ae455c210 - g_signal_emit
35: 0x7f2ae4653019 - <unknown>
36: 0x5624a19519e1 - <unknown>
37: 0x7f2ae465319a - g_application_run
38: 0x5624a18ea76e - <unknown>
39: 0x5624a1902d5d - <unknown>
40: 0x5624a1904eb3 - <unknown>
41: 0x5624a195db59 - <unknown>
42: 0x5624a1b40c07 - <unknown>
43: 0x5624a1902ea8 - <unknown>
44: 0x7f2ae3de8b25 - __libc_start_main
45: 0x5624a18e007e - <unknown>
46: 0x0 - <unknown>
Seems like it's trying to find something where I built the package. Some option is not correct
Offline
More likely you are missing some gstreamer plugins.
You need gst-plugins-base (for videoconvert, glsinkbin), and gst-plugins-bad (for zbar)
https://gitlab.gnome.org/bilelmoussaoui … mera.rs#L8
Edit: The software has been updated for gtk4 and needs gtk4glsink. I have no idea which package contains that.
Edit: That hasn't been merged yet: https://gitlab.freedesktop.org/gstreame … quests/767 According to the merge request the gtk3 and gtk4 plugins cannot be installed at the same time, so a system with both gtk3 and gtk4 applications has to choose which are allowed to use the gstreamer plugin ...
As an alternative you may look at CoBang in the AUR (decoding only)
Last edited by progandy (2021-03-29 10:16:27)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
I have both gst-plugins-base and gst-plugins-bad.
How can I select which gstreamer plugin to use? For what I understand from that MR, sink=gtk4glsink must be specified somewhere.
I'll take a look at that alternative, but I really dig the design of Decoder.
Thanks to both of you!
Offline
Decoder tries to use gtk4glsink and crashes because that is not available and decoder has bad error handling.
To get the gtk4 plugin, you'd have to manually compile gst-plugins-good with the code from the merge request and disable the gtk3 plugin. That will cause problems with other gtk3 applications that want to use gstreamer.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline