diff options
-rw-r--r-- | .SRCINFO | 13 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 80 | ||||
-rw-r--r-- | pipewire.patch | 44 |
4 files changed, 106 insertions, 35 deletions
@@ -1,7 +1,7 @@ pkgbase = mkchromecast pkgdesc = Cast Audio/Video to your Google Cast and Sonos Devices pkgver = 0.3.8.1 - pkgrel = 2 + pkgrel = 3 url = http://mkchromecast.com arch = any license = MIT @@ -21,11 +21,12 @@ pkgbase = mkchromecast optdepends = python-pychromecast: to cast to Chromecast devices optdepends = python-pyqt5: for system tray menu support optdepends = python-soco: to cast to Sonos devices - optdepends = youtube-dl: for --youtube + optdepends = yt-dlp: for --youtube source = https://github.com/muammar/mkchromecast/archive/0.3.8.1/mkchromecast-0.3.8.1.tar.gz - source = pychromecast_optional.patch::https://github.com/muammar/mkchromecast/commit/0070f9f2b505f1c5a1b6d63324ff337f2de09860.patch - sha512sums = ee66450768f3221500f198bf618120f02b93108797209ca0d6c2be9f882eee36753d3e1038354e51b5d76d130c12d193c7d152b33f80776cb225347a3743f376 - sha512sums = 2fa2fa3986075582ed7f1d881ec32660b97278e47afffadecbd7cfc1c58833a734f5a7d442d4699fc99582c00b18e3c43cf87f974c8a8ec3af4b8ebfea40435f + source = https://github.com/muammar/mkchromecast/commit/0070f9f2b505f1c5a1b6d63324ff337f2de09860.patch + source = pipewire.patch + sha256sums = c680a398385d95d51c47eb522b95cf98f932b55caf065ab8b5725e78bf0099b2 + sha256sums = SKIP + sha256sums = ba2d8c5080469a77df145b5430ce7abd0041040ba095a26d7fc04ae117905d0c pkgname = mkchromecast - diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..018a3de08144 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +* +!PKGBUILD +!.SRCINFO +!.gitignore @@ -1,46 +1,68 @@ -# Maintainer: Daniel M. Capella <polyzen@archlinux.org> +# Contributor: Daniel M. Capella <polyzen@archlinux.org> pkgname=mkchromecast pkgver=0.3.8.1 -pkgrel=2 +pkgrel=3 pkgdesc='Cast Audio/Video to your Google Cast and Sonos Devices' arch=('any') url=http://mkchromecast.com license=('MIT') -depends=('faac' 'flac' 'lame' 'python-flask' 'python-gobject' 'python-psutil' - 'sox' 'vorbis-tools') -optdepends=('alsa-utils: to cast with ALSA' - 'ffmpeg: for ffmpeg backend (which is also needed to cast with ALSA)' - 'gstreamer: for gstreamer backend' - 'pavucontrol: for parec backend or just to cast with PulseAudio' - 'pulseaudio: for parec backend or just to cast with PulseAudio' - 'python-pychromecast: to cast to Chromecast devices' - 'python-pyqt5: for system tray menu support' - 'python-soco: to cast to Sonos devices' - 'youtube-dl: for --youtube') -source=("https://github.com/muammar/$pkgname/archive/$pkgver/$pkgname-$pkgver.tar.gz" - 'pychromecast_optional.patch::https://github.com/muammar/mkchromecast/commit/0070f9f2b505f1c5a1b6d63324ff337f2de09860.patch') -sha512sums=('ee66450768f3221500f198bf618120f02b93108797209ca0d6c2be9f882eee36753d3e1038354e51b5d76d130c12d193c7d152b33f80776cb225347a3743f376' - '2fa2fa3986075582ed7f1d881ec32660b97278e47afffadecbd7cfc1c58833a734f5a7d442d4699fc99582c00b18e3c43cf87f974c8a8ec3af4b8ebfea40435f') +depends=( + 'faac' + 'flac' + 'lame' + 'python-flask' + 'python-gobject' + 'python-psutil' + 'sox' + 'vorbis-tools' +) +optdepends=( + 'alsa-utils: to cast with ALSA' + 'ffmpeg: for ffmpeg backend (which is also needed to cast with ALSA)' + 'gstreamer: for gstreamer backend' + 'pavucontrol: for parec backend or just to cast with PulseAudio' + 'pulseaudio: for parec backend or just to cast with PulseAudio' + 'python-pychromecast: to cast to Chromecast devices' + 'python-pyqt5: for system tray menu support' + 'python-soco: to cast to Sonos devices' + 'yt-dlp: for --youtube' +) +source=( + "https://github.com/muammar/$pkgname/archive/$pkgver/$pkgname-$pkgver.tar.gz" + "https://github.com/muammar/mkchromecast/commit/0070f9f2b505f1c5a1b6d63324ff337f2de09860.patch" + pipewire.patch +) +sha256sums=( + 'c680a398385d95d51c47eb522b95cf98f932b55caf065ab8b5725e78bf0099b2' + 'SKIP' + 'ba2d8c5080469a77df145b5430ce7abd0041040ba095a26d7fc04ae117905d0c' +) prepare() { - cd $pkgname-$pkgver - sed -i '1s/env //' mkchromecast.py - patch -Np1 --no-backup-if-mismatch -i ../pychromecast_optional.patch + cd "$srcdir/$pkgname-$pkgver" + + for p in ../*.patch ; do + echo "$p" + patch -Np1 -F50 --verbose -i "$p" + done + + sed -i 's/\byoutube-dl\b/yt-dlp/' mkchromecast/audio.py + sed -i 's/\byoutube-dl\b/yt-dlp/' mkchromecast/video.py } package() { - cd $pkgname-$pkgver - install -d "$pkgdir"/usr/bin - ln -s /usr/share/$pkgname/$pkgname.py "$pkgdir"/usr/bin/$pkgname + cd "$srcdir/$pkgname-$pkgver" + install -d "$pkgdir/usr/bin" + ln -s "/usr/share/$pkgname/$pkgname.py" "$pkgdir/usr/bin/$pkgname" - install -Dt "$pkgdir"/usr/share/$pkgname $pkgname.py - cp -a --parents images/google* $pkgname "$pkgdir"/usr/share/$pkgname + install -Dt "$pkgdir/usr/share/$pkgname" "$pkgname.py" + cp -a --parents images/google* "$pkgname" "$pkgdir/usr/share/$pkgname" - install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname LICENSE - install -Dm644 -t "$pkgdir"/usr/share/applications $pkgname.desktop - install -Dm644 -t "$pkgdir"/usr/share/pixmaps images/$pkgname.xpm - install -Dm644 -t "$pkgdir"/usr/share/man/man1 man/$pkgname.1 + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE + install -Dm644 -t "$pkgdir/usr/share/applications" "$pkgname.desktop" + install -Dm644 -t "$pkgdir/usr/share/pixmaps" "images/$pkgname.xpm" + install -Dm644 -t "$pkgdir/usr/share/man/man1" "man/$pkgname.1" } # vim:set ts=2 sw=2 et: diff --git a/pipewire.patch b/pipewire.patch new file mode 100644 index 000000000000..b1c869486437 --- /dev/null +++ b/pipewire.patch @@ -0,0 +1,44 @@ +--- a/mkchromecast/pulseaudio.py ++++ b/mkchromecast/pulseaudio.py +@@ -13,14 +13,8 @@ + 'pactl', + 'load-module', + 'module-null-sink', +- 'sink_name=' + sink_name +- ] +- +- rename_sink = [ +- 'pacmd', +- 'update-sink-proplist', +- sink_name, +- 'device.description=' + sink_name ++ 'sink_name=' + sink_name, ++ "sink_properties=device.description=" + sink_name, + ] + + cs = subprocess.Popen( +@@ -32,12 +26,6 @@ + + time.sleep(1) + +- rs = subprocess.Popen( +- rename_sink, +- stdout=subprocess.PIPE, +- stderr=subprocess.PIPE +- ) +- rsoutput, rserror = rs.communicate() + return + + +@@ -59,8 +47,9 @@ + + def check_sink(): + check_sink = [ +- 'pacmd', +- 'list-sinks' ++ 'pactl', ++ 'list', ++ 'sinks' + ] + chk = subprocess.Popen( + check_sink, |