PKGBUILDs/community/guvcview/PKGBUILD
2021-12-13 13:38:30 +00:00

90 lines
3.2 KiB
Bash

# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - disable distcc - configure checks for clang first and finds distcc's symlink but no clang
pkgbase=guvcview
pkgname=(guvcview guvcview-common guvcview-qt)
pkgver=2.0.7
pkgrel=3
pkgdesc='Simple interface for capturing and viewing video from v4l2 devices'
arch=('x86_64')
url='http://guvcview.sourceforge.net/'
license=('GPL3')
depends=('ffmpeg' 'gsl' 'gtk3' 'qt5-base' 'portaudio')
makedepends=('intltool')
options=('!emptydirs' '!distcc')
source=("https://downloads.sourceforge.net/$pkgbase/$pkgbase-src-$pkgver-2.tar.bz2"
'0001-Update-AppStream-metadata-to-a-newer-version.patch')
sha256sums=('f0d1d7814597d42fddf1655f3654f74efd9f27e35bbe39ee4f0d42683de85c98'
'd9c65a9bf53eb28c48f9a9126035f5ebe520923124eae507d1cb2994e2a0d08f')
noextract=($pkgbase-src-$pkgver-2.tar.bz2) # missing root dir
prepare() {
mkdir $pkgbase
tar xjf $pkgbase-src-$pkgver-2.tar.bz2 -C $pkgbase
cd $pkgbase
# Update AppStream metadata to a newer version
patch -Np1 -i ../0001-Update-AppStream-metadata-to-a-newer-version.patch
autoreconf -fi
cd ..
cp -a $pkgbase{,-qt}
}
build() {
# GTK+ version
cd $pkgbase
./configure --prefix=/usr --disable-debian-menu
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
# Qt version
cd ../$pkgbase-qt
./configure --prefix=/usr --disable-debian-menu --disable-gtk3 --enable-qt5
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
package_guvcview-common() {
pkgdesc="Common files for guvcview"
depends=('ffmpeg' 'gsl' 'libusb' 'portaudio')
cd $pkgbase
make DESTDIR="$pkgdir" install
make -C guvcview DESTDIR="$pkgdir" uninstall
make -C data DESTDIR="$pkgdir" uninstall-man1 uninstall-appdataDATA uninstall-desktopDATA
install -Dm644 data/icons/guvcview.png "$pkgdir"/usr/share/icons/hicolor/128x128/apps/guvcview.png
}
package_guvcview() {
pkgdesc="Simple GTK+ interface for capturing and viewing video from v4l2 devices"
depends=('guvcview-common' 'gtk3')
cd $pkgbase
make -C guvcview DESTDIR="$pkgdir" install
make -C data DESTDIR="$pkgdir" install-man1 install-appdataDATA install-desktopDATA
sed -i 's/^Icon=.*/Icon=guvcview/' "$pkgdir"/usr/share/applications/guvcview.desktop
}
package_guvcview-qt() {
pkgdesc="Simple Qt interface for capturing and viewing video from v4l2 devices"
depends=('guvcview-common' 'qt5-base')
cd $pkgbase-qt
make -C guvcview DESTDIR="$pkgdir" install
make -C data DESTDIR="$pkgdir" install-man1 install-appdataDATA install-desktopDATA
mv "$pkgdir"/usr/bin/guvcview{,-qt}
mv "$pkgdir"/usr/share/man/man1/guvcview{,-qt}.1
mv "$pkgdir"/usr/share/applications/guvcview{,-qt}.desktop
sed -i 's/Exec=guvcview/Exec=guvcview-qt/
s/^Icon=.*/Icon=guvcview/' "$pkgdir"/usr/share/applications/guvcview-qt.desktop
mv "$pkgdir"/usr/share/metainfo/guvcview{,-qt}.appdata.xml
sed -i 's/net.sourceforge.guvcview/net.sourceforge.guvcview-qt/
s/guvcview.desktop/guvcview-qt.desktop/' "$pkgdir"/usr/share/metainfo/guvcview-qt.appdata.xml
}