freebsd-ports/multimedia/xine/Makefile
Ed Maste 85f5b16ff2 multimedia/xine: set LLD_UNSAFE to avoid lld
xine relies on ld.bfd's permissive treatment of shared library symbols
with protected visibility, and attempting to link with lld fails with
errors like:

/usr/bin/ld: error: cannot preempt symbol: xine_usec_sleep
>>> defined in /usr/local/lib/libxine.so
>>> referenced by actions.c
>>>               actions.o:(wait_for_window_visible)

For now set LLD_UNSAFE=yes so that the port will continue to link with
ld.bfd if /usr/bin/ld is lld, until the issue can be addressed (with a
change in libxine or in lld).

PR:		214864
Approved by:	portmgr (LLD_UNSAFE blanket)
Sponsored by:	The FreeBSD Foundation
2017-12-29 16:16:00 +00:00

67 lines
1.8 KiB
Makefile

# $FreeBSD$
PORTNAME= xine
PORTVERSION= 0.99.9
PORTREVISION= 5
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-ui/${PORTVERSION}
DISTNAME= ${PORTNAME}-ui-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= X11 multimedia player
LICENSE= GPLv2
LIB_DEPENDS= libpng.so:graphics/png \
libxine.so:multimedia/libxine
USES= desktop-file-utils gmake iconv jpeg pkgconfig readline \
shared-mime-info tar:xz
USE_XORG= x11 xext xinerama xscrnsaver xtst xv xxf86vm
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-vdr-keys \
--disable-nvtvsimple \
--disable-rpath
MAKE_ENV= V=1
INSTALLS_ICONS= yes
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
LLD_UNSAFE= yes # lld disallows preemption of protected visibility syms
DOCSDIR= ${PREFIX}/share/doc/xine-ui
OPTIONS_DEFINE= AALIB CACA CURL DOCS LIRC NLS XFT
OPTIONS_DEFAULT= CURL XFT
OPTIONS_DEFINE_i386= WIN32_CODECS
OPTIONS_SUB= yes
AALIB_LIB_DEPENDS= libaa.so:graphics/aalib
AALIB_CONFIGURE_WITH= aalib
CACA_LIB_DEPENDS= libcaca.so:graphics/libcaca
CACA_RUN_DEPENDS= ${LOCALBASE}/${XINE_PLUGINSDIR}/xineplug_vo_out_caca.so:multimedia/libxine
CACA_CONFIGURE_WITH= caca
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
CURL_CONFIGURE_WITH= curl
LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc
LIRC_CONFIGURE_ENV= LIRC_CFLAGS="-I${LOCALBASE}/include" \
LIRC_LIBS="-L${LOCALBASE}/libs -llirc_client"
LIRC_CONFIGURE_ENABLE= lirc
NLS_USES= gettext
NLS_CONFIGURE_ENABLE= nls
WIN32_CODECS_DESC= Enable win32 codecs
WIN32_CODECS_RUN_DEPENDS=\
win32-codecs>0:multimedia/win32-codecs
XFT_USE= XORG=xft
XFT_CONFIGURE_ENABLE= xft
XINE_PLUGINSDIR= lib/xine/plugins/2.5
post-patch:
@${REINPLACE_CMD} -e \
's|<string.h>|<strings.h>|' ${WRKSRC}/src/aaui/main.c
@${REINPLACE_CMD} -e \
's|<\(readline.h\)>|<readline/\1>| ; \
s|<\(history.h\)>|<readline/\1>|' ${WRKSRC}/src/xitk/network.c
.include <bsd.port.mk>