aboutsummaryrefslogtreecommitdiffstats
path: root/main/vlc/APKBUILD
blob: be3662ed3107d30becac94c099d2a46a4cf15acf (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
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=vlc
pkgver=2.1.0
_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="GPL-2"
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
	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
	libvorbis-dev
	libx11-dev
	libxext-dev
	libxinerama-dev
	libxpm-dev
	libxv-dev
	live-media-dev>=2012.01.26
	lua-dev
	ncurses-dev
	mesa-dev
	pkgconfig
	qt-dev
	sdl-dev
	speex-dev
	sysfsutils-dev
	taglib-dev
	v4l-utils-dev
	x264-dev
	xcb-util-renderutil-dev
	xcb-util-keysyms-dev
	"
source="http://download.videolan.org/pub/videolan/$pkgname/${_ver}/$pkgname-$_pkgver.tar.xz
	vlc.trigger
	uclibc-inhibit-spawn.patch
	uclibc-define-fminf.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 -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' modules/misc/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"

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--disable-mmx \
		--disable-nls \
		--disable-optimizations \
		--disable-rpath \
		--enable-a52 \
		--enable-avcodec \
		--enable-avformat \
		--enable-bluray \
		--enable-dbus \
		--enable-dbus-control \
		--enable-dc1394 \
		--enable-dv \
		--enable-dvbpsi \
		--enable-dvdread \
		--enable-dvdnav \
		--enable-faad \
		--enable-flac \
		--enable-httpd \
		--enable-live555 \
		--enable-matroska \
		--enable-merge-ffmpeg \
		--enable-ncurses \
		--enable-qt4 \
		--enable-realrtsp \
		--enable-sdl \
		--enable-shout \
		--enable-skins2 \
		--enable-speex \
		--enable-sout \
		--enable-taglib \
		--enable-theora \
		--enable-v4l2 \
		--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>=2.0.0-r1"
	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>=2.0.0_rc1-r4"

	# 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"; 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>=2.0.0_rc1-r0"

	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="8c77bda671821f5b9ede96b6816e2ade  vlc-2.1.0.tar.xz
350b30698eb784def7d19446eb1d6c81  vlc.trigger
aa338f067d054887c3834a70686fb3f2  uclibc-inhibit-spawn.patch
34bacc70c150bdbe19476d84a76f2849  uclibc-define-fminf.patch"
sha256sums="d2177daa31786acf1e961b2f63429797a8c62c090e5359bcc7929a1ba5fe41f7  vlc-2.1.0.tar.xz
0639c022dc844fad95eb0246b1d24557641939bbda91af0c700374378d8f054a  vlc.trigger
c56d36afe86733715bdf48d9236dd6f807744a0f80ae01391f24d51ab02abfde  uclibc-inhibit-spawn.patch
b16801cca70c0f13830a27146025cc55b947897744d9da1ab713c5f5ce0460a0  uclibc-define-fminf.patch"
sha512sums="abf397e1382289d579fec3dc540885c45ba055f158f7c248c5de27a7c50dac5a4c317145c4a786ed3819a9199fc304fa8f43ccde8c33c2938d40c805e7e9b124  vlc-2.1.0.tar.xz
a081dd93248b63724ffb65cde0a00db0e1f3b9a1d47074800d898e39dc71c074b3dd3fa18e5fbc45fa90376e7df6d7ef8689c4253c1d9405868a3f8bbd76adcc  vlc.trigger
7f285dd070d4998f0af3dd4a4965a7a181fed5e1e52271a5b30d1b72c3d3cd4a9771a7ef6ff9f094ada95b31c3400a34bdf8f29905d30c1ac3b765621d81e6d4  uclibc-inhibit-spawn.patch
0d9310afef1afbf15a19bcc8aa1835416830666d79a5461b45df900afde5b115ec7c18d4bc15d36efe45b912ebb51ceb91cc20ebd0be0ecc4ff3fd0e06dd4a55  uclibc-define-fminf.patch"