summaryrefslogtreecommitdiffstats
path: root/main/vlc/APKBUILD
blob: 3c5e94c5b19b2736b84448ff62b02f1490ce63bf (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
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=vlc
pkgver=2.0.6
_pkgver=${pkgver/_/-}
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="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/$_pkgver/$pkgname-$_pkgver.tar.xz
	uclibc-inhibit-spawn.patch
	uclibc-no-xscreensaver.patch
	uclibc3.patch
	vlc.trigger
	"

_builddir="$srcdir"/$pkgname-$_pkgver
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 --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="b45be633c71dca04ca7d6c3d64dd728b  vlc-2.0.6.tar.xz
28349b8239fdd6987fbe0ca2c758517f  uclibc-inhibit-spawn.patch
b84c5a9121440b6a1dcf28792d783eb8  uclibc-no-xscreensaver.patch
94f11ec8394775018222781a0c875444  uclibc3.patch
350b30698eb784def7d19446eb1d6c81  vlc.trigger"
sha256sums="31cc98035e2ce36c71a8f105aa5a87e3d8b5e206a0b3f7208c5ced407cbe1963  vlc-2.0.6.tar.xz
e645f2b7457aaa18d7215225a3db116dac6312f2853933d58330d6053fba969f  uclibc-inhibit-spawn.patch
1ecd057c4f6cc02c9a98b48b96c03968d44a8a1d92cb6a62afe4dc48446614a1  uclibc-no-xscreensaver.patch
6eaa71e580ea5357f10cc6ffb281d38b22b0e88f30915d028079c0c93a4bc32c  uclibc3.patch
0639c022dc844fad95eb0246b1d24557641939bbda91af0c700374378d8f054a  vlc.trigger"
sha512sums="80793305f7e0e48c99be99adfd85d699deaff53184f740b7624cdc9cad106b7c70f1d221e26c1362a1d1e5b02b861a1289e21a3af8a4c5ae3dfc316c67f15e74  vlc-2.0.6.tar.xz
2fa65852a18d4bf0cb0cfd92282b3242b7dfec6a5d1e4550fb8a119a444d174bf97781bd90a3ada31a37a0988e7332aa1692a84a6cf5f1f46747d5fd08d4421f  uclibc-inhibit-spawn.patch
66765557f40ec5a48507c2c3a0f82a3245ac19a83b2aa5b4b4b66335b4ca12a3d359a0c9b7a981039fb9ecf842c97ec11633c9c2fa1834f2c7c98ac088a2c891  uclibc-no-xscreensaver.patch
14a01f2cf686903c03c4f3b2783487baa0c4ccb89d570c7201f829b00a8e1a0531f7267f28364f6c5f5e52c694183b9b8d0f514f16803e7bace61b5d7cfacd50  uclibc3.patch
a081dd93248b63724ffb65cde0a00db0e1f3b9a1d47074800d898e39dc71c074b3dd3fa18e5fbc45fa90376e7df6d7ef8689c4253c1d9405868a3f8bbd76adcc  vlc.trigger"