Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
- # Contributor: Jan de Groot <jgc@archlinux.org>
- pkgbase=lib32-gstreamer
- pkgname=lib32-gst-plugins-ugly
- pkgver=1.20.0
- pkgrel=1
- pkgdesc="GStreamer open-source multimedia framework core library (32-bit)"
- url="https://gstreamer.freedesktop.org/"
- arch=(x86_64)
- makedepends=(
- # superproject
- git meson
- # gstreamer
- lib32-libunwind bash-completion lib32-gtk3
- # gst-plugins-ugly
- a52dec opencore-amr libcdio libdvdread libmpeg2 libsidplay x264
- )
- checkdepends=(xorg-server-xvfb)
- source=(
- "git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git?signed#tag=$pkgver"
- "https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-$pkgver.tar.xz"{,.asc}
- 0001-openaptx-Support-libfreeaptx.patch
- 0002-wpe-Clean-up-build-script.patch
- )
- sha256sums=('SKIP'
- '8c0cdf6faf99bb7ed9d54d5ea1bb31bfb58dcce77cbf7e17e54ca5d7c64ceb62'
- 'SKIP'
- 'dafd73f4264a027b207b2907d54f89f5c5731eab3f4806843878f29504f39b03'
- 'bbb07e1e21d385b40a69a0f2ae70ca07ccb41adfa1d35d9648e2e16df7d6d59e')
- validpgpkeys=(D637032E45B8C6585B9456565D2EEE6F6F349D7C) # Tim Müller <tim@gstreamer-foundation.org>
- pkgver() {
- cd gstreamer
- git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
- }
- prepare() {
- cd gstreamer
- # Build fixes
- git apply -3 ../0001-openaptx-Support-libfreeaptx.patch
- git apply -3 ../0002-wpe-Clean-up-build-script.patch
- # Fix linking with system orc
- sed -i "s/get_option('orc')/false/" meson.build
- # Disable broken tests
- sed -i "/subdir('tests')/d" subprojects/{gst-editing-services,gstreamer-vaapi}/meson.build
- sed -i "/subdir('testsuite')/d" subprojects/gst-python/meson.build
- sed -i "/'gst\/rtspserver'/d" subprojects/gst-rtsp-server/tests/check/meson.build
- # Workaround broken detection of underscore prefixes
- # https://github.com/mesonbuild/meson/issues/5482
- sed -i 's/-DPREFIX/-UPREFIX/' subprojects/gst-plugins-good/gst/deinterlace/meson.build
- }
- build() {
- export CC='gcc -m32'
- export CXX='g++ -m32'
- export PKG_CONFIG_PATH='/usr/lib32/pkgconfig'
- arch-meson gstreamer build \
- --libdir=lib32 \
- --libexecdir=lib32 \
- -D devtools=disabled \
- -D doc=disabled \
- -D examples=disabled \
- -D gpl=enabled \
- -D gst-examples=disabled \
- -D introspection=disabled \
- -D libnice=disabled \
- -D gstreamer:dbghelp=disabled \
- -D gstreamer:gobject-cast-checks=disabled \
- -D gstreamer:package-name="Arch Linux gstreamer $pkgver-$pkgrel" \
- -D gstreamer:package-origin="https://www.archlinux.org/" \
- -D gstreamer:ptp-helper-permissions=capabilities \
- -D gst-plugins-base:gobject-cast-checks=disabled \
- -D gst-plugins-base:package-name="Arch Linux gst-plugins-base $pkgver-$pkgrel" \
- -D gst-plugins-base:package-origin="https://www.archlinux.org/" \
- -D gst-plugins-base:tremor=disabled \
- -D gst-plugins-base:gl-graphene=disabled \
- -D gst-plugins-ugly:gobject-cast-checks=disabled \
- -D gst-plugins-ugly:package-name="Arch Linux gst-plugins-ugly $pkgver-$pkgrel" \
- -D gst-plugins-ugly:package-origin="https://www.archlinux.org/" \
- -D libnice=disabled \
- -D bad=disabled \
- -D base=disabled \
- -D good=disabled \
- -D libav=disabled \
- -D rtsp_server=disabled \
- -D ges=disabled \
- -D vaapi=disabled \
- -D omx=disabled \
- -D sharp=disabled \
- -D python=disabled \
- -D rs=disabled \
- -D orc=disabled
- meson compile -C build
- }
- check() (
- mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
- export XDG_RUNTIME_DIR
- # Flaky due to timeouts
- xvfb-run -s '-nolisten local' \
- meson test -C build --print-errorlogs || :
- )
- _install() {
- local src dir
- for src in "${files[@]}"; do
- dir="$pkgdir/$(dirname "$src")"
- mkdir -p "$dir"
- mv -v "$src" "$dir"
- done
- }
- package_lib32-gstreamer() {
- pkgdesc+=" - core"
- depends=(lib32-libxml2 lib32-glib2 lib32-libunwind lib32-gtk3 lib32-libelf gstreamer)
- DESTDIR="$srcdir/root" meson install -C build
- rm -R "$srcdir"/root/usr/{share,include}
- for _i in "$srcdir"/root/usr/bin/*; do
- mv "${_i}" "${_i}-32"
- done
- cd root; local files=(
- usr/lib32/libgst{reamer,base,check,controller,net}-1.0.so*
- usr/lib32/pkgconfig/gstreamer{,-base,-check,-controller,-net}-1.0.pc
- usr/lib32/gstreamer-1.0/gst-ptp-helper
- usr/lib32/gstreamer-1.0/gst-{hotdoc-plugins,plugin}-scanner
- usr/lib32/gstreamer-1.0/gst-plugins-doc-cache-generator
- usr/lib32/gstreamer-1.0/libgstcoreelements.so
- usr/lib32/gstreamer-1.0/libgstcoretracers.so
- usr/bin/gst-{inspect,launch,stats,tester,typefind}-1.0-32
- ); _install
- }
- package_lib32-gst-plugins-ugly() {
- pkgdesc+=" - ugly plugins"
- depends=(
- "gst-plugins-base-libs=$pkgver"
- lib32-libdvdread lib32-libmpeg2 lib32-a52dec lib32-libsidplay lib32-libcdio lib32-x264 lib32-opencore-amr
- )
- cd root; local files=(
- usr/lib32/gstreamer-1.0/libgsta52dec.so
- usr/lib32/gstreamer-1.0/libgstamrnb.so
- usr/lib32/gstreamer-1.0/libgstamrwbdec.so
- usr/lib32/gstreamer-1.0/libgstasf.so
- usr/lib32/gstreamer-1.0/libgstcdio.so
- usr/lib32/gstreamer-1.0/libgstdvdlpcmdec.so
- usr/lib32/gstreamer-1.0/libgstdvdread.so
- usr/lib32/gstreamer-1.0/libgstdvdsub.so
- usr/lib32/gstreamer-1.0/libgstmpeg2dec.so
- usr/lib32/gstreamer-1.0/libgstrealmedia.so
- usr/lib32/gstreamer-1.0/libgstsid.so
- usr/lib32/gstreamer-1.0/libgstx264.so
- usr/lib32/gstreamer-1.0/libgstxingmux.so
- usr/share/gstreamer-1.0/presets/Gst{Amrnb,X264}Enc.prs
- usr/share/locale/*/LC_MESSAGES/gst-plugins-ugly-1.0.mo
- ); _install
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement