Package Details: gossip-git .r2635.g72ffea6a-1

Git Clone URL: https://aur.archlinux.org/gossip-git.git (read-only, click to copy)
Package Base: gossip-git
Description: gossip nostr client, rust, egui based.
Upstream URL: https://github.com/mikedilger/gossip
Licenses: MIT
Conflicts: gossip-git
Provides: gossip-git
Submitter: soloturn
Maintainer: soloturn (mikedilger, dreieck)
Last Packager: soloturn
Votes: 0
Popularity: 0.000000
First Submitted: 2023-02-13 17:14 (UTC)
Last Updated: 2024-06-16 18:09 (UTC)

Latest Comments

1 2 Next › Last »

troxor commented on 2026-07-06 17:02 (UTC)

I've gotten the YGGverse fork running with ffmpeg support after a fairly substantial patch and using ffmpeg-the-third:

diff --git a/PKGBUILD b/PKGBUILD
index a323e38..9064b4f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,42 +3,94 @@

 _basename=gossip
 pkgname=${_basename}-git
-pkgver=.r2635.g72ffea6a
+pkgver=r4439.142a0fe
 pkgrel=1
 pkgdesc="gossip nostr client, rust, egui based."
 arch=('x86_64')
-url="https://github.com/mikedilger/$_basename"
+url="https://github.com/yggverse/gossip"
 license=(MIT)
-makedepends=(cargo cmake ffmpeg git mold)
-optdepends=(xdg-utils)
-provides=($pkgname)
-conflicts=($pkgname)
+conflicts=(gossip)
+provides=(gossip)
+depends=(ffmpeg sdl2)
+makedepends=(cargo clang cmake ffmpeg git mold sdl2)
+optdepends=('xdg-utils: open nostr: links')
 source=(
-  "$pkgname::git+https://github.com/mikedilger/gossip.git"
+  "$pkgname::git+https://github.com/yggverse/gossip.git"
   "$pkgname.desktop"
 )
 sha256sums=(
   'SKIP'
-  '3629a8d3fbe5ea9e7e008b28b0c108e03dfdeb5a0747df6a3728989dc8477a00'
+  'b9be8cd2dac6d4720a0df4645a3fd8bbb4415d222ac30bf95526e0c059532287'
 )

 pkgver() {
   cd $pkgname
-  echo $(cat Cargo.toml | grep ^version | awk -F= '{print $2}' | awk -F\" '{print $2}' | awk -F- '{print $1}').$(git describe --long --tags | awk -F- '{print "r"$2"." $3}')
+  ( set -o pipefail
+    git describe --long --tags --abbrev=7 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
+    printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
+  )
+}
+
+_patch_egui_video() {
+  local dir
+  dir=$(find "${CARGO_HOME:-$HOME/.cargo}/git/checkouts" -path '*/egui-video-*/Cargo.toml' -print -quit)
+  dir=$(dirname "$dir")
+
+  sed -i \
+    -e 's|ffmpeg-next = { git = "https://github.com/mikedilger/rust-ffmpeg.git", rev = "2f5d8a3714247243b892d7927bad36e98c1aeb06" }|ffmpeg-the-third = "5"|' \
+    -e 's/features = \[ "bundled" \]/features = ["use-pkgconfig"]/' \
+    "$dir/Cargo.toml"
+  sed -i 's/ffmpeg-next = { workspace = true }/ffmpeg-the-third = { workspace = true }/g' \
+    "$dir/Cargo.toml" "$dir"/examples/*/Cargo.toml
+
+  sed -i 's/ffmpeg_next/ffmpeg_the_third/g' \
+    "$dir/src/lib.rs" "$dir/examples/file-player/src/main.rs"
+  sed -i \
+    -e 's/software::resampling::context::Context::get(/software::resampling::context::Context::get2(/' \
+    -e 's/audio_decoder\.channel_layout()/audio_decoder.ch_layout()/' \
+    -e 's/if let Some((stream, packet)) = self.input_context().packets().next()/if let Some(Ok((stream, packet))) = self.input_context().packets().next()/' \
+    -e 's/frame\.channels()/frame.ch_layout().channels() as u16/g' \
+    "$dir/src/lib.rs"
+
+  grep -q 'unsafe impl Send for VideoStreamer' "$dir/src/lib.rs" || sed -i \
+    '/^pub struct VideoStreamer {$/,/^}$/{
+      /^}$/a\
+\
+unsafe impl Send for VideoStreamer {}
+    }' "$dir/src/lib.rs"
+  grep -q 'unsafe impl Send for AudioStreamer' "$dir/src/lib.rs" || sed -i \
+    '/^pub struct AudioStreamer {$/,/^}$/{
+      /^}$/a\
+\
+unsafe impl Send for AudioStreamer {}
+    }' "$dir/src/lib.rs"
+}
+
+prepare() {
+  cd $pkgname
+  export RUSTUP_TOOLCHAIN=stable
+  export CARGO_TARGET_DIR=target
+  export RUSTFLAGS="-C link-arg=-fuse-ld=mold -C target-cpu=native --cfg tokio_unstable"
+  cargo fetch --target "$CARCH-unknown-linux-gnu"
+
+  sed -i 's/features = \["bundled"\]/features = ["use-pkgconfig"]/' gossip-bin/Cargo.toml gossip-lib/Cargo.toml
+  _patch_egui_video
+  cargo update -p egui-video
+  cargo fetch --target "$CARCH-unknown-linux-gnu"
 }

 build() {
   cd $pkgname
   export RUSTUP_TOOLCHAIN=stable
-  CARGO_TARGET_DIR=target
-  RUSTFLAGS="-C link-arg=-fuse-ld=mold -C target-cpu=native --cfg tokio_unstable"
-  cargo build --release --features=lang-cjk,video-ffmpeg
+  export CARGO_TARGET_DIR=target
+  export RUSTFLAGS="-C link-arg=-fuse-ld=mold -C target-cpu=native --cfg tokio_unstable"
+  cargo build --locked --offline --release --features lang-cj

soloturn commented on 2024-06-16 17:57 (UTC)

dreieck, added you as maintainer, feel free to add dependency.

dreieck commented on 2024-03-02 19:21 (UTC)

xdg-utils needs to be added as optional dependency since xdg-open is in the shabeng-line of the .desktop file.

qlrd commented on 2024-03-01 14:00 (UTC)

According @dreieck stated:

==> Starting package()...
install: cannot stat 'gossip.svg': No such file or directory

I suggest to modify the line 41 from:

install -Dm644 gossip.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg"

to:

install -Dm644 "$srcdir/$pkgname/logo/gossip.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg"

dreieck commented on 2024-02-28 19:19 (UTC) (edited on 2024-02-28 19:20 (UTC) by dreieck)

Please install the executable as /usr/bin/gossip, not /usr/bin/gossip-git.

Similar with the logo SVG file and the .desktop file: Name it gossip.*, not gossip-git.*.

Thanks for maintaining!

dreieck commented on 2024-02-28 19:02 (UTC) (edited on 2024-02-28 19:03 (UTC) by dreieck)

Error in package():

==> Starting package()...
install: cannot stat 'gossip.svg': No such file or directory

(it must be logo/gossip.svg, not gossip.svg.)

Regards!

dreieck commented on 2024-02-28 18:57 (UTC)

Can you please add ffmpeg-git to the conflicts array?:
https://github.com/mikedilger/gossip/issues/653#issuecomment-1969641377

dreieck commented on 2024-02-28 10:07 (UTC)

Information:
Build fails for me with

  • error[E0004]: non-exhaustive patterns: `sys::AVPixelFormat::AV_PIX_FMT_D3D12` not covered,
  • error[E0004]: non-exhaustive patterns: `sys::AVCodecID::AV_CODEC_ID_LEAD` and `sys::AVCodecID::AV_CODEC_ID_QOA` not covered and
  • error[E0004]: non-exhaustive patterns: `sys::AVPacketSideDataType::AV_PKT_DATA_IAMF_MIX_GAIN_PARAM`, `sys::AVPacketSideDataType::AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM`, `sys::AVPacketSideDataType::AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM` and 1 more not covered.

↗ Upstream issue report.

dreieck commented on 2024-02-28 08:56 (UTC) (edited on 2024-03-01 22:32 (UTC) by dreieck)

pkgver() currently generates .r2069.gfe45e990 -- there is the official version missing at the beginning.

Version should be parsed from gossip-lib/Cargo.toml, not Cargo.toml.

Regards and thanks for maintaining!

dreieck commented on 2024-02-28 08:51 (UTC)

  • gossip-git in the provides array should be replaced with gossip=${pkgver}.
  • gossip-git in the conflicts array should be replaced with gossip.
  • Please move the cargo related download stuff out of build() into prepare() so that build() can run offline on already downloaded sources.

Regards and thanks for maintaining!