summaryrefslogtreecommitdiffstats
path: root/main/vlc/APKBUILD
blob: b2c8fb8e6d0e9e9cd53c8ec9fbd9d5001f349304 (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
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=vlc
pkgver=2.1.1
_pkgver=${pkgver/_/-}
_ver=${_pkgver%[a-z]}
pkgrel=1
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
	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="1331cd853d56762c96afcb92dd498348  vlc-2.1.1.tar.xz
350b30698eb784def7d19446eb1d6c81  vlc.trigger
7b1a482e521b9d6dcdb6710aff51894f  fix-waitpid-usage.patch
34bacc70c150bdbe19476d84a76f2849  uclibc-define-fminf.patch
a57ecdeb28b93c2ac0ade2adff2da2b4  uclibc-fix-idn.patch"
sha256sums="339c92cfb939ef6517b42fce7db59e59f259476d79d15b9b39e9d7f2b966b992  vlc-2.1.1.tar.xz
0639c022dc844fad95eb0246b1d24557641939bbda91af0c700374378d8f054a  vlc.trigger
0c802698c215dd2d2ad9a4889b1d46dfd5d6c304d4cd1b34bacb2bacc35dd3c9  fix-waitpid-usage.patch
b16801cca70c0f13830a27146025cc55b947897744d9da1ab713c5f5ce0460a0  uclibc-define-fminf.patch
8e15a1c29fed29eeafef4dd37c73cc0da578b40d9d94713ac12a69c101040901  uclibc-fix-idn.patch"
sha512sums="9e6fd36daf750d7f0c06de5fc73b35cf017c6c13f3e54f0ec71e1b8fa8302674d48e72112c552113fea290e788b2832d749f8e06d2212109fca57d9f78bd4c14  vlc-2.1.1.tar.xz
a081dd93248b63724ffb65cde0a00db0e1f3b9a1d47074800d898e39dc71c074b3dd3fa18e5fbc45fa90376e7df6d7ef8689c4253c1d9405868a3f8bbd76adcc  vlc.trigger
3c6ff4f25b7e1f0041bc47872a2b59b6c4f8bc1747d6830e9f2d9c35ee75cd2581558a12225070dede37d6a2287b0fc5c089c8f4f8ae26784aa6aded7177bed0  fix-waitpid-usage.patch
0d9310afef1afbf15a19bcc8aa1835416830666d79a5461b45df900afde5b115ec7c18d4bc15d36efe45b912ebb51ceb91cc20ebd0be0ecc4ff3fd0e06dd4a55  uclibc-define-fminf.patch
24d7ae347a81e05aa2273c180ed76dfb0c8140ef1e4f877a88326fdf37acec0ac8bf1bde98845e40cd57c93fe6e5c186623a6f6f66ed6fe94386826260d88738  uclibc-fix-idn.patch"