summaryrefslogtreecommitdiff
path: root/libre/gst-plugins-bad/PKGBUILD
blob: 98b8299e2907b441656e5c50523cd3bfe8f856a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor (Arch): Jan de Groot <jgc@archlinux.org>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
# Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
# Contributor: Márcio Silva <coadde@hyperbola.info>
# Contributor: bill-auger <bill-auger@programmer.net>

# parabola changes and rationale
# * removed support for non-free faac codec
# * removed failing check() function (Failed to start up HTTP server)


pkgbase=gst-plugins-bad
pkgname=(gst-plugins-bad-libs gst-plugins-bad)
pkgver=1.16.2
pkgrel=10
pkgrel+=.parabola1
pkgdesc="GStreamer Multimedia Framework Bad Plugins, without nonfree faac support"
url="https://gstreamer.freedesktop.org/"
arch=(x86_64)
arch+=(i686 armv7h)
license=(LGPL)
depends=(gst-plugins-base-libs orc libdrm libx11 libgudev libusb libvdpau)
makedepends=(mjpegtools curl chromaprint libmms faad2 libdca libdvdnav
             libmodplug libgme nettle libkate wayland libofa openjpeg2 libwebp
             libsrtp sbc rtmpdump libexif libdvdread wildmidi ladspa openal
             vulkan-icd-loader libfdk-aac soundtouch spandsp neon
             webrtc-audio-processing libdc1394 libmpcdec zvbi openexr libbs2b
             libnice lcms2 bluez-libs glu srt aom x265 liblrdf libde265 zbar
             librsvg fluidsynth lilv lv2 gst-plugins-good python gtk-doc git
             gobject-introspection vulkan-headers vulkan-validation-layers
             wayland-protocols gtk3 meson)
replaces=("${pkgbase}-libre" "${pkgbase}-parabola")
conflicts=("${pkgbase}-libre" "${pkgbase}-parabola")
options=(!emptydirs)
_commit=a6f26408f74a60d02ce6b4f0daee392ce847055f  # tags/1.16.2^0
source=("git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git#commit=$_commit"
        0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch)
sha256sums=('SKIP'
            '0c6c51a371d8f381a2190280913cc41e06c17c25dbb1167043072003b3f0d338')

pkgver() {
  cd $pkgbase
  git describe --tags | sed 's/-/+/g'
}

prepare() {
  cd $pkgbase

  # Fix build with neon 0.31
  git cherry-pick -n f10b424418e448211e3427a76fcd046e157ef0b7

  # Fix build with vulkan-headers 1.2.140
  git apply -3 ../0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch

  # Fix build with GCC 10
  git cherry-pick -n a0cd455dd0e0375c6395fe732173225ea7e18562
}

build() {
  arch-meson $pkgbase build \
    -D directfb=disabled \
    -D faac=disabled \
    -D flite=disabled \
    -D gsm=disabled \
    -D iqa=disabled \
    -D msdk=disabled \
    -D nvdec=disabled \
    -D nvenc=disabled \
    -D opencv=disabled \
    -D openh264=disabled \
    -D openmpt=disabled \
    -D openni2=disabled \
    -D opensles=disabled \
    -D sctp=disabled \
    -D tinyalsa=disabled \
    -D voaacenc=disabled \
    -D voamrwbenc=disabled \
    -D wasapi=disabled \
    -D wpe=disabled \
    -D gobject-cast-checks=disabled \
    -D glib-asserts=disabled \
    -D glib-checks=disabled \
    -D package-name="GStreamer Bad Plugins (Parabola GNU/Linux-libre)" \
    -D package-origin="https://www.parabola.nu/"
  ninja -C build
}

package_gst-plugins-bad-libs() {
  pkgdesc="${pkgdesc/plugins/libraries}"

  DESTDIR="$pkgdir" meson install -C build

  mkdir -p ext/lib/gstreamer-1.0
  for _x in aom assrender bs2b bz2 chromaprint closedcaption colormanagement \
            curl dashdemux dc1394 de265 dtls dtsdec faad fdkaac \
            fluidsynthmidi gme hls kate ladspa lv2 mms modplug mpeg2enc mplex \
            musepack neonhttpsrc ofa openal openexr openjpeg opusparse \
            resindvd rsvg rtmp sbc smoothstreaming sndfile soundtouch spandsp \
            srt srtp teletext ttmlsubs vulkan waylandsink webp webrtc \
            webrtcdsp wildmidi x265 zbar; do
    _x="lib/gstreamer-1.0/libgst${_x}.so"
    mv "$pkgdir/usr/$_x" "ext/$_x"
  done
}

package_gst-plugins-bad() {
  depends=("gst-plugins-bad-libs=$pkgver" gst-plugins-good
           aom libass libbs2b bzip2 chromaprint pango lcms2 curl libxml2
           libdc1394 libde265 openssl libdca faad2 libfdk-aac fluidsynth
           libgme nettle libkate liblrdf lilv libmms libmodplug mjpegtools
           libmpcdec neon libofa openal openexr openjpeg2 opus libdvdnav
           libdvdread librsvg rtmpdump sbc libsndfile soundtouch spandsp srt
           libsrtp zvbi vulkan-icd-loader libxcb wayland libwebp libnice
           webrtc-audio-processing wildmidi x265 zbar)

  mv ext "$pkgdir/usr"
}