1PORTNAME=	xine
2DISTVERSION=	1.2.13
3PORTREVISION=	9
4CATEGORIES=	multimedia
5MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}-lib/${DISTVERSION}
6PKGNAMEPREFIX=	lib
7DISTNAME=	${PORTNAME}-lib-${DISTVERSION}
8
9MAINTAINER=	ports@MidnightBSD.org
10COMMENT=	Libraries for xine multimedia player
11WWW=		https://www.xine-project.org/
12
13LICENSE=	gpl2+
14LICENSE_FILE=	${WRKSRC}/COPYING
15
16LIB_DEPENDS=	libFLAC.so:audio/flac \
17		liba52.so:audio/liba52 \
18		libvorbis.so:audio/libvorbis \
19		libspeex.so:audio/speex \
20		libmng.so:graphics/libmng \
21		libpng.so:graphics/png \
22		libdvdread.so:multimedia/libdvdread \
23		libfreetype.so:print/freetype2 \
24		libfame.so:multimedia/libfame \
25		libcdio_paranoia.so:sysutils/libcdio-paranoia \
26		libmodplug.so:audio/libmodplug \
27		libvcdinfo.so:multimedia/vcdimager \
28		libtheora.so:multimedia/libtheora \
29		libmad.so:audio/libmad \
30		libdca.so:multimedia/libdca \
31		libavcodec.so:multimedia/ffmpeg \
32		libfaad.so:audio/faad \
33		libvdpau.so:multimedia/libvdpau \
34		libvpx.so:multimedia/libvpx \
35		libiso9660.so:sysutils/libcdio \
36		libogg.so:audio/libogg \
37		libdvdnav.so:multimedia/libdvdnav \
38		libwayland-client.so:graphics/wayland
39
40USES=		compiler cpe gl gmake gnome iconv libtool:keepla jpeg \
41		localbase pathfix perl5 pkgconfig tar:xz xorg
42LLD_UNSAFE=	yes
43CPE_PRODUCT=	xine-lib
44CPE_VENDOR=	xine
45GNU_CONFIGURE=	yes
46GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
47USE_XORG=	x11 xcb xv xinerama xext sm ice
48USE_GL=		gl glu
49USE_PERL5=	build
50USE_LDCONFIG=	yes
51CONFIGURE_ARGS=	--with-libflac \
52		--enable-musepack \
53		--enable-real-codecs \
54		--without-esound \
55		--disable-crypto
56
57MAKE_ENV=	V=1
58MAKE_ARGS=	pkgdatadir="${DATADIR}" \
59		datadir="${DATADIR}" \
60		libdir="${PREFIX}/lib"
61
62CFLAGS_i386=	-fomit-frame-pointer
63
64DOCSDIR=	${PREFIX}/share/doc/xine-lib
65# Please sync with XINE_PLUGINSDIR in multimedia/xine
66# and multimedia/vdr-plugin-xineliboutput
67PLUGINSDIR=	lib/xine/plugins/2.11
68PLIST_SUB=	PLUGINSDIR="${PLUGINSDIR}"
69
70OPTIONS_DEFINE=		AALIB ALSA AOM CACA DAV1D DOCS DMX_IMAGE DVB \
71			IMAGEMAGICK IPV6 JACK LIBBLURAY NFS NLS PIXBUF PULSEAUDIO \
72			SDL SFTP SMB SNDIO V4L VAAPI WAVPACK WAYLAND XVMC
73OPTIONS_DEFAULT=	DVB OPENSSL PIXBUF VAAPI
74OPTIONS_DEFINE_i386=	W32DLL
75OPTIONS_DEFAULT_i386=	W32DLL
76OPTIONS_GROUP=		TLS
77OPTIONS_GROUP_TLS=	GNUTLS OPENSSL
78OPTIONS_SUB=		yes
79
80AOM_DESC=		Enable libaom AV1 decoder support
81DAV1D_DESC=		Enable dav1d AV1 decoder support
82DMX_IMAGE_DESC=		DMX image plugin
83DVB_DESC=		DVB plugin
84NFS_DESC=		Enable NFS support using libnfs
85SDL_DESC=		Enable support for SDL 1 video output
86SFTP_DESC=		Enable SFTP support using libssh2
87TLS_DESC=		Enable TLS support for https and ftps
88W32DLL_DESC=		Win32 codec support
89WAYLAND_DESC=		Enable Wayland support
90
91AALIB_LIB_DEPENDS=		libaa.so:graphics/aalib
92AALIB_CONFIGURE_ENABLE=		aalib
93ALSA_LIB_DEPENDS=		libasound.so:audio/alsa-lib
94ALSA_CONFIGURE_WITH=		alsa
95AOM_LIB_DEPENDS=		libaom.so:multimedia/aom
96AOM_CONFIGURE_WITH=		libaom
97CACA_LIB_DEPENDS=		libcaca.so:graphics/libcaca
98CACA_CONFIGURE_WITH=		caca
99DAV1D_LIB_DEPENDS=		libdav1d.so:multimedia/dav1d
100DAV1D_CONFIGURE_WITH=		dav1d
101DVB_BUILD_DEPENDS=		v4l_compat>=1.0.20100321:multimedia/v4l_compat
102DVB_CONFIGURE_ENABLE=		dvb
103GNUTLS_LIB_DEPENDS=		libgnutls.so:security/gnutls
104GNUTLS_CONFIGURE_ON=		--enable-tls
105IMAGEMAGICK_USES=		magick
106IMAGEMAGICK_CONFIGURE_WITH=	imagemagick
107IMAGEMAGICK_IMPLIES=		DMX_IMAGE
108IPV6_CONFIGURE_ENABLE=		ipv6
109JACK_LIB_DEPENDS=		libjack.so:audio/jack
110JACK_CONFIGURE_WITH=		jack
111LIBBLURAY_LIB_DEPENDS=		libbluray.so:multimedia/libbluray
112LIBBLURAY_CONFIGURE_ENABLE=	bluray
113NLS_USES=			gettext
114NLS_CONFIGURE_ENABLE=		nls
115NFS_LIB_DEPENDS=		libnfs.so:net/libnfs
116NFS_CONFIGURE_ENABLE=		nfs
117OPENSSL_CONFIGURE_ON=		--enable-tls
118OPENSSL_CONFIGURE_ENV=		OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto -lssl" \
119				OPENSSL_CFLAGS="-I${OPENSSLINC}"
120OPENSSL_USES=			ssl
121PIXBUF_CONFIGURE_ENABLE=	gdkpixbuf
122PIXBUF_IMPLIES=			DMX_IMAGE
123PIXBUF_USE=			GNOME=gdkpixbuf,glib20
124PULSEAUDIO_LIB_DEPENDS=		libpulse.so:audio/pulseaudio
125PULSEAUDIO_CONFIGURE_WITH=	pulseaudio
126SDL_CONFIGURE_WITH=		sdl
127SDL_USES=			sdl
128SDL_USE=			SDL=sdl
129SFTP_LIB_DEPENDS=		libssh2.so:security/libssh2
130SFTP_CONFIGURE_ENABLE=		sftp
131SMB_USES=			samba:lib
132SMB_CONFIGURE_ENV=		LIBSMBCLIENT_LIBS="-L${SAMBALIBS} -lsmbclient" \
133				LIBSMBCLIENT_CFLAGS="-I${SAMBAINCLUDES}"
134SMB_CONFIGURE_ENABLE=		samba
135SNDIO_LIB_DEPENDS=		libsndio.so:audio/sndio
136SNDIO_CONFIGURE_ENABLE=		sndio
137VAAPI_LIB_DEPENDS=		libva.so:multimedia/libva
138VAAPI_CONFIGURE_ENABLE=		vaapi
139V4L_BUILD_DEPENDS=		v4l_compat>=1.0.20100321:multimedia/v4l_compat
140V4L_LIB_DEPENDS=		libv4l2.so:multimedia/libv4l
141V4L_CONFIGURE_ENABLE=		libv4l v4l v4l2
142W32DLL_CONFIGURE_ENABLE=	w32dll
143W32DLL_PLIST_FILES=		${PLUGINSDIR}/xineplug_decode_w32dll.so
144WAVPACK_LIB_DEPENDS=		libwavpack.so:audio/wavpack
145WAVPACK_CONFIGURE_WITH=		wavpack
146WAYLAND_LIB_DEPENDS=		libwayland-egl.so:graphics/wayland \
147				libwayland-client.so:graphics/wayland
148WAYLAND_CONFIGURE_ENABLE=	wayland
149
150.if defined(WITH_NVIDIA304_GL) || exists(${LOCALBASE}/lib/libXvMCNVIDIA.so.1)
151XVMC_CONFIGURE_WITH=		xvmc-lib=XvMCNVIDIA
152XVMC_LIB_DEPENDS=		libXvMCNVIDIA.so:x11/nvidia-driver-304
153.else
154XVMC_CONFIGURE_WITH=		xvmc-lib=XvMCW
155XVMC_LIB_DEPENDS=		libXvMC.so:x11/libXvMC
156.endif
157XVMC_CONFIGURE_ENABLE=		xvmc
158
159.include <bsd.port.pre.mk>
160
161.if ${ARCH} == aarch64
162BUILD_DEPENDS+=	as:devel/binutils
163.endif
164
165.if !${PORT_OPTIONS:MGNUTLS} && !${PORT_OPTIONS:MOPENSSL}
166CONFIGURE_ARGS+=	--disable-tls
167.endif
168
169pre-configure-GNUTLS-off:
170	@${REINPLACE_CMD} -e 's|have_gnutls=yes|have_gnutls=no|' \
171		${WRKSRC}/configure
172
173post-patch:
174	@${REINPLACE_CMD} -e '/xine_set_flags/s/XINE_PROTECTED//' \
175		${WRKSRC}/include/xine.h
176.if ${COMPILER_TYPE} == "clang"
177	@${REINPLACE_CMD} -e 's|-fno-rename-registers||' \
178		${WRKSRC}/src/libw32dll/Makefile.in
179.endif
180
181post-install:
182	@${STRIP_CMD} ${PREFIX}/lib/*.so
183	@${STRIP_CMD} ${PREFIX}/${PLUGINSDIR}/*.so
184	@${STRIP_CMD} ${PREFIX}/${PLUGINSDIR}/post/*.so
185
186.include <bsd.port.post.mk>
187