summaryrefslogtreecommitdiffstats
path: root/main/vlc/APKBUILD
blob: dfa91a8191f3d2f458d07e817da55567153661cf (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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=vlc
pkgver=2.1.2
_pkgver=${pkgver/_/-}
_ver=${_pkgver%[a-z]}
pkgrel=0
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
pkgusers="vlc"
pkggroups="vlc"
url="http://www.videolan.org/vlc/"
arch="all"
license="GPL2+"
triggers="$pkgname.trigger=/usr/lib/vlc/plugins"
subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg
	$pkgname-daemon"
depends="ttf-dejavu"
makedepends="
	a52dec-dev
	alsa-lib-dev
	automake
	autoconf
	avahi-dev
	libtool
	dbus-dev
	faad2-dev
	ffmpeg-dev
	flac-dev
	freetype-dev
	fribidi-dev
	gtk+-dev
	libbluray-dev>=0.2.1 libbluray-dev<20100000
	libavc1394-dev
	libcddb-dev
	libdc1394-dev>=2.1.0
	libdvbpsi-dev
	libdvdnav-dev
	libdvdread-dev
	libgcrypt-dev
	libice-dev
	libiconv-dev
	libmad-dev
	libmatroska-dev
	libmpeg2-dev
	libnotify-dev
	libogg-dev
	libraw1394-dev>=2.0.1
	libshout-dev
	libsm-dev
	libtheora-dev
	libva-dev
	libvdpau-dev
	libvorbis-dev
	libx11-dev
	libxext-dev
	libxinerama-dev
	libxml2-dev
	libxpm-dev
	libxv-dev
	live-media-dev>=2012.01.26
	lua5.2-dev
	ncurses-dev
	mesa-dev
	pkgconfig
	qt-dev
	sdl-dev
	speex-dev
	sysfsutils-dev
	taglib-dev
	udev-dev
	v4l-utils-dev
	x264-dev
	xcb-util-renderutil-dev
	xcb-util-keysyms-dev
	xdg-utils
	"
source="http://download.videolan.org/pub/videolan/$pkgname/${_ver}/$pkgname-$_pkgver.tar.xz
	vlc.trigger
	fix-waitpid-usage.patch
	uclibc-define-fminf.patch
	dbus-fmaxf.patch
	uclibc-fix-idn.patch"

_builddir="$srcdir"/$pkgname-$_ver
prepare() {
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch)
			msg "Applying $i"
			patch -p1 -i "$srcdir"/$i || return 1
			;;
		esac;
	done
	sed -i -e "/^libxscreensaver_plugin_la_SOURCES/s/^/#/" modules/misc/Modules.am
	./bootstrap
}

build() {
	cd "$_builddir"
	sed -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' \
		-i modules/text_renderer/freetype.c

	# -fpermissive is needed due to zlib 1.2.6 changing
	# void* to gzFile on gz*() functions
	export CFLAGS="$CFLAGS -D_GNU_SOURCE"
	export CXXFLAGS="$CXXFLAGS -fpermissive"

	LUA=lua5.2 \
	LUAC=luac5.2 \
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--disable-mmx \
		--disable-sse \
		--disable-nls \
		--disable-optimizations \
		--disable-rpath \
		--enable-a52 \
		--enable-avcodec \
		--enable-avformat \
		--enable-bluray \
		--enable-dbus \
		--enable-dc1394 \
		--enable-dvbpsi \
		--enable-dvdread \
		--enable-dvdnav \
		--enable-faad \
		--enable-flac \
		--enable-httpd \
		--enable-libcddb \
		--enable-libva \
		--enable-live555 \
		--enable-merge-ffmpeg \
		--enable-ncurses \
		--enable-realrtsp \
		--enable-sdl \
		--enable-shout \
		--enable-skins2 \
		--enable-speex \
		--enable-sout \
		--enable-taglib \
		--enable-theora \
		--enable-v4l2 \
		--enable-vdpau \
		--enable-vlm \
		--enable-vorbis \
		--enable-wma-fixed \
		--enable-x264 \
		--enable-xvideo \
		|| return 1

	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
#	for res in 16 32 48 128; do
#		install -D -m644 share/vlc${res}x${res}.png \
#			"$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
#	done
	# delete cache as it's autocreated by trigger
	rm -rf "$pkgdir"/usr/lib/vlc/plugins/plugins.dat
	# delete unneeded mozilla and kde support files
	rm -rf "$pkgdir"/usr/lib/mozilla
	rm -rf "$pkgdir"/usr/share/kde4
	find "$pkgdir" -name '*.la' -delete
}

_mv() {
	local dir=${1%/*}
	mkdir -p "$subpkgdir"/$dir
	mv "$1" "$subpkgdir"/$dir/
}

qt() {
	pkgdesc="Qt frontend for VLC"
	depends="vlc-xorg=$pkgver-r$pkgrel"
	cd "$pkgdir"
	# scan for elf files that directly or indirectly depends on
	# libQt* libraries
	cd "$pkgdir"
	for i in $(find -type f ); do
		if ldd $i 2>/dev/null | grep -q "libQt"; then
			_mv "$i" || return 1
		fi
	done
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/qvlc \
		"$subpkgdir"/usr/bin/
}

xorg() {
	pkgdesc="Video LAN X.org support"
	depends="xdg-utils vlc=$pkgver-r$pkgrel"

	# scan for elf files that directly or indirectly depends on
	# libX* libraries
	cd "$pkgdir"
	for i in $(find -type f ); do
		if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb|libGL"; then
			echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1
		fi
	done

	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/svlc \
		"$subpkgdir"/usr/bin

	mkdir -p "$subpkgdir"/usr/share/vlc
	mv "$pkgdir"/usr/share/applications \
		"$pkgdir"/usr/share/icons \
		"$subpkgdir"/usr/share/

	mv "$pkgdir"/usr/share/vlc/skins2 \
		"$subpkgdir"/usr/share/vlc
}

daemon() {
	pkgdesc="Support for running VLC as a daemon"
	install="vlc-daemon.pre-install"
	arch="noarch"
	depends="vlc=$pkgver-r$pkgrel"

	mkdir -p "$subpkgdir"
	cd "$pkgdir"
	install -D -m755 ../../vlc.initd $subpkgdir/etc/init.d/vlc
	install -D -m664 ../../vlc.confd $subpkgdir/etc/conf.d/vlc
	install -d -o vlc -g vlc "$subpkgdir"/var/log/vlc
}

md5sums="fb6787ad749aadcfaeab3471939b3426  vlc-2.1.2.tar.xz
350b30698eb784def7d19446eb1d6c81  vlc.trigger
7b1a482e521b9d6dcdb6710aff51894f  fix-waitpid-usage.patch
34bacc70c150bdbe19476d84a76f2849  uclibc-define-fminf.patch
0f373eaee7e74def94d0dab2be9d0c01  dbus-fmaxf.patch
a57ecdeb28b93c2ac0ade2adff2da2b4  uclibc-fix-idn.patch"
sha256sums="219b812be1bc2eba40faa86419d0aa2c479a7380af8af216e8bfa22eb6fc8ec4  vlc-2.1.2.tar.xz
0639c022dc844fad95eb0246b1d24557641939bbda91af0c700374378d8f054a  vlc.trigger
0c802698c215dd2d2ad9a4889b1d46dfd5d6c304d4cd1b34bacb2bacc35dd3c9  fix-waitpid-usage.patch
b16801cca70c0f13830a27146025cc55b947897744d9da1ab713c5f5ce0460a0  uclibc-define-fminf.patch
3ebb0577b1ef9780eba27cd829c9839b2ddf7729c5a2a81019d08b2c0a7e5b79  dbus-fmaxf.patch
8e15a1c29fed29eeafef4dd37c73cc0da578b40d9d94713ac12a69c101040901  uclibc-fix-idn.patch"
sha512sums="24ea51befb30ec2e4f796866bf086d36e809cb97bf04203a4637518c91a3035fa38a8e778aaf6fb3481db49d19236ae88bcbf31e1e4f7ae79b9d7bcc3cf037af  vlc-2.1.2.tar.xz
a081dd93248b63724ffb65cde0a00db0e1f3b9a1d47074800d898e39dc71c074b3dd3fa18e5fbc45fa90376e7df6d7ef8689c4253c1d9405868a3f8bbd76adcc  vlc.trigger
3c6ff4f25b7e1f0041bc47872a2b59b6c4f8bc1747d6830e9f2d9c35ee75cd2581558a12225070dede37d6a2287b0fc5c089c8f4f8ae26784aa6aded7177bed0  fix-waitpid-usage.patch
0d9310afef1afbf15a19bcc8aa1835416830666d79a5461b45df900afde5b115ec7c18d4bc15d36efe45b912ebb51ceb91cc20ebd0be0ecc4ff3fd0e06dd4a55  uclibc-define-fminf.patch
b51041adcb16234289c928444a8c03db549640af28cc8dc75f732863bea519141dc36a44f353d2e42d8afde1fd8052faff0b2b661bf04a10c64f1f18f120e87b  dbus-fmaxf.patch
24d7ae347a81e05aa2273c180ed76dfb0c8140ef1e4f877a88326fdf37acec0ac8bf1bde98845e40cd57c93fe6e5c186623a6f6f66ed6fe94386826260d88738  uclibc-fix-idn.patch"