summaryrefslogtreecommitdiffstats
path: root/multimedia/mplayer2/Makefile
blob: 992e01a5d71547c469b59fc9fa2ead67f7d13aa2 (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
# $FreeBSD$

PORTNAME=	mplayer2
PORTVERSION=	${MPLAYER2_PORT_VERSION}
PORTREVISION=	18
CATEGORIES=	multimedia audio
MASTER_SITES=	LOCAL/gblach/

MAINTAINER=	cpm@FreeBSD.org
COMMENT=	Advanced general-purpose video player

LICENSE=	GPLv2

LIB_DEPENDS=	libpng.so:graphics/png \
		libfreetype.so:print/freetype2 \
		libavcodec.so:multimedia/ffmpeg
BUILD_DEPENDS=	rst2man:textproc/py-docutils

USES=		cpe gmake iconv ncurses pkgconfig python:3,build tar:xz
HAS_CONFIGURE=	yes
CONFIGURE_ENV=	TMPDIR="${WRKSRC}"
CONFIGURE_ARGS=	--cc=${CC} \
		--extra-libs='${LIBS}' \
		--mandir=${PREFIX}/man \
		--disable-alsa \
		--disable-directfb \
		--disable-faad \
		--disable-mng \
		--disable-libdca \
		--disable-xvid \
		--disable-mpg123 \
		--disable-musepack
MAKE_ARGS+=	BINDIR=${STAGEDIR}${PREFIX}/bin \
		CONFDIR=${STAGEDIR}${PREFIX}/etc/mplayer

MPLAYER2_SNAPSHOT_DATE=	2013-04-28
MPLAYER2_PORT_VERSION=	2.0.${MPLAYER2_SNAPSHOT_DATE:S/-//g}

OPTIONS_DEFINE=	A52 ASS CACA CDIO DEBUG DV DVDREAD DVDNAV GIF IPV6 JACK LADSPA \
		LIBBLURAY LIRC MAD OPENGL PORTAUDIO PULSEAUDIO REALPLAYER \
		RTC SDL SMB SPEEX THEORA V4L VDPAU X11 XINERAMA
OPTIONS_DEFAULT=A52 ASS ENCA DVDREAD DVDNAV X11
OPTIONS_SUB=	yes

OPTIONS_DEFINE_i386+=		WIN32
.if !defined(PACKAGE_BUILDING)
# Depend on RESTRICTED package only when building manually
OPTIONS_DEFAULT_i386+=		WIN32
.endif

.for _arch in i386 amd64 powerpc powerpc64
OPTIONS_DEFAULT_${_arch}+=	RTCPU
OPTIONS_DEFINE_${_arch}+=	RTCPU
.endfor

ASS_DESC=	Enable ASS/SSA subtitle rendering
DVDREAD_DESC=	DVD Playback support
DVDNAV_DESC=	DVD menu navigation
REALPLAYER_DESC=Enable realplayer plugin
RTC_DESC=	Enable kernel realtime clock timing
RTCPU_DESC=	Allow runtime CPU detection
WIN32_DESC=	Enable win32 codec set on the IA32 arch

SUB_FILES=	pkg-message

CONFLICTS=	mplayer-1.*

BROKEN_sparc64=	Does not compile on sparc64

A52_LIB_DEPENDS=	liba52.so:audio/liba52
A52_CONFIGURE_OFF=	--disable-liba52

ASS_LIB_DEPENDS=	libass.so:multimedia/libass
ASS_CONFIGURE_OFF=	--disable-libass

CACA_LIB_DEPENDS=	libcaca.so:graphics/libcaca
CACA_CONFIGURE_OFF=	--disable-caca

CDIO_LIB_DEPENDS=	libcdio_paranoia.so:sysutils/libcdio-paranoia
CDIO_CONFIGURE_OFF=	--disable-libcdio

DEBUG_CONFIGURE_ON=	--enable-debug=3
DEBUG_CONFIGURE_OFF=	--disable-debug

DV_LIB_DEPENDS=		libdv.so:multimedia/libdv
DV_CONFIGURE_OFF=	--disable-libdv

DVDREAD_LIB_DEPENDS=	libdvdread.so:multimedia/libdvdread
DVDREAD_CONFIGURE_OFF=	--disable-dvdread

DVDNAV_LIB_DEPENDS=	libdvdnav.so:multimedia/libdvdnav
DVDNAV_CONFIGURE_OFF=	--disable-dvdnav

ENCA_LIB_DEPENDS=	libenca.so:converters/enca
ENCA_CONFIGURE_OFF=	--disable-enca

GIF_LIB_DEPENDS=	libgif.so:graphics/giflib
GIF_CONFIGURE_ON=	--enable-gif
GIF_CONFIGURE_OFF=	--disable-gif

IPV6_CATEGORIES=	ipv6
IPV6_CONFIGURE_OFF=	--disable-inet6

JACK_LIB_DEPENDS=	libjack.so:audio/jack
JACK_CONFIGURE_OFF=	--disable-jack

LADSPA_RUN_DEPENDS=	${LOCALBASE}/lib/ladspa/amp.so:audio/ladspa
LADSPA_CONFIGURE_OFF=	--disable-ladspa

LIBBLURAY_LIB_DEPENDS=	libbluray.so:multimedia/libbluray
LIBBLURAY_CONFIGURE_OFF=--disable-bluray

LIRC_LIB_DEPENDS=	liblirc_client.so:comms/lirc
LIRC_CONFIGURE_OFF=	--disable-lirc

MAD_LIB_DEPENDS=	libmad.so:audio/libmad
MAD_CONFIGURE_OFF=	--disable-mad

OPENGL_USE=		GL=gl XORG=glproto
OPENGL_CONFIGURE_OFF=	--disable-gl
OPENGL_IMPLIES=		X11

PORTAUDIO_LIB_DEPENDS=	libportaudio.so:audio/portaudio
PORTAUDIO_CONFIGURE_OFF=--disable-portaudio

PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
PULSEAUDIO_CONFIGURE_OFF=--disable-pulse

REALPLAYER_BUILD_DEPENDS=realplay:multimedia/linux-realplayer
REALPLAYER_RUN_DEPENDS=	realplay:multimedia/linux-realplayer
REALPLAYER_CONFIGURE_OFF=--disable-real

RTC_BUILD_DEPENDS=	${LOCALBASE}/modules/rtc.ko:emulators/rtc
RTC_RUN_DEPENDS=	${LOCALBASE}/modules/rtc.ko:emulators/rtc
RTC_CONFIGURE_OFF=	--disable-rtc

RTCPU_CONFIGURE_ON=	--enable-runtime-cpudetection
RTCPU_CONFIGURE_OFF=	--disable-runtime-cpudetection

SDL_USE=		SDL=sdl
SDL_CONFIGURE_OFF=	--disable-sdl

SMB_LIB_DEPENDS=	libsmbclient.so:net/samba-libsmbclient
SMB_CONFIGURE_OFF=	--disable-smb

SPEEX_LIB_DEPENDS=	libspeex.so:audio/speex
SPEEX_CONFIGURE_OFF=	--disable-speex

THEORA_LIB_DEPENDS=	libtheora.so:multimedia/libtheora
THEORA_CONFIGURE_OFF=	--disable-theora

V4L_BUILD_DEPENDS=	${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
V4L_LIB_DEPENDS=	libv4l2.so:multimedia/libv4l
V4L_CONFIGURE_OFF=	--disable-tv-v4l2
V4L_LIBS=		-lv4l2

VDPAU_LIB_DEPENDS=	libvdpau.so:multimedia/libvdpau
VDPAU_CONFIGURE_OFF=	--disable-vdpau

WIN32_RUN_DEPENDS=	win32-codecs>0:multimedia/win32-codecs
WIN32_CONFIGURE_ON=	--codecsdir=${LOCALBASE}/lib/win32
WIN32_CONFIGURE_OFF=	--disable-win32dll --disable-qtx

X11_USE=		XORG=x11,xv,xxf86vm
X11_CONFIGURE_OFF=	--disable-x11

XINERAMA_USE=		XORG=xinerama,xineramaproto
XINERAMA_CONFIGURE_OFF=	--disable-xinerama
XINERAMA_IMPLIES=	X11

WITH_CDROM_DEVICE?=	/dev/cd0

.if defined(WITH_KERN_HZ)
DEFAULT_KERN_HZ=${WITH_KERN_HZ}
.else
DEFAULT_KERN_HZ=1024
.endif

pre-everything::
	@${ECHO_MSG} "N - O - T - E"
	@${ECHO_MSG} ""
	@${ECHO_MSG} "There are some knobs which *can* *not* be selected via the"
	@${ECHO_MSG} "OPTIONS framework. You might want to check the Makefile in"
	@${ECHO_MSG} "order to learn more about them."

post-patch:
	@${REINPLACE_CMD} -e \
		'/CFLAGS.*-D_LARGEFILE64_SOURCE/ s/-D_LARGEFILE64_SOURCE/-D_FILE_OFFSET_BITS=64/' \
		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
	@${REINPLACE_CMD} \
		-e 's|/dev/acd0|${WITH_CDROM_DEVICE}|' \
		-e 's|/usr/local|${LOCALBASE}|' \
		-e 's|-lbz2|/usr/lib/libbz2.so|' \
		-e 's|-lncurses|/usr/lib/libncurses.so|' \
		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
	@${FIND} -E ${WRKSRC} -type f \
		-iregex ".*(configure|.sh|Makefile)" -print0 | \
		${XARGS} -x -0 -n 10 \
		${REINPLACE_CMD} -E \
			-e 's|[[:space:]]gcc[-[:digit:]\.]+| ${CC}|' \
			-e 's|[[:space:]]gcc| ${CC}|' \
			-e 's|\$$\(CC\)|${CC}|' \
			-e 's|/usr/X11R6|${LOCALBASE}|'
	@${FIND} ${WRKSRC}/DOCS/man -name "mplayer.1" | ${XARGS} ${REINPLACE_CMD} -E -e \
		's|/usr/\\:local/\\:etc/\\:mplayer|${DATADIR:S/\//\/\\\:/g}|g ; \
		 s|/dev/\\:(dvd[[:alnum:]]*[[:>:]])|${WITH_CDROM_DEVICE:S/dev\//dev\/\\\:/}|g ; \
		 s|/dev/\\:(cdrom[[:alnum:]]*[[:>:]])|${WITH_CDROM_DEVICE:S/dev\//dev\/\\\:/}|g'

post-patch-RTC-on:
	@${REINPLACE_CMD} -e \
		's|irqp = 1024|irqp = ${DEFAULT_KERN_HZ}|' \
		${WRKSRC}/mplayer.c

post-install:
	${INSTALL_DATA} ${WRKSRC}/etc/example.conf \
		${STAGEDIR}${PREFIX}/etc/mplayer/mplayer.conf.sample
.for conf in codecs input
	${INSTALL_DATA} ${WRKSRC}/etc/${conf}.conf \
		${STAGEDIR}${PREFIX}/etc/mplayer/${conf}.conf.sample
.endfor

.include <bsd.port.mk>
OpenPOWER on IntegriCloud