mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-17 03:25:46 +00:00
23065efb69
Additional port changes: * Changed to DISTVERSION * Removed USES=autoreconf (not needed) * Added post-extract creating symlink linux->freebsd Bumped 6 depending ports. Reported by: portscout Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D14406
189 lines
5.9 KiB
Makefile
189 lines
5.9 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= kodi
|
|
DISTVERSION= 18.0.g201801112007
|
|
PORTREVISION= 1
|
|
CATEGORIES= multimedia
|
|
PKGNAMESUFFIX?= -devel
|
|
|
|
MAINTAINER= tobik@FreeBSD.org
|
|
COMMENT= Award winning media center application
|
|
|
|
LICENSE= GPLv2
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE.GPL
|
|
|
|
BROKEN_FreeBSD_10= does not build
|
|
ONLY_FOR_ARCHS= amd64 armv6 armv7 i386
|
|
|
|
BUILD_DEPENDS= rapidjson>=0:devel/rapidjson \
|
|
swig3.0:devel/swig30
|
|
LIB_DEPENDS= libass.so:multimedia/libass \
|
|
libavcodec.so:multimedia/ffmpeg \
|
|
libavfilter.so:multimedia/ffmpeg \
|
|
libavformat.so:multimedia/ffmpeg \
|
|
libavutil.so:multimedia/ffmpeg \
|
|
libcdio.so:sysutils/libcdio \
|
|
libcrossguid.so:devel/libcrossguid \
|
|
libcurl.so:ftp/curl \
|
|
libdvdnav.so:multimedia/libdvdnav \
|
|
libdvdread.so:multimedia/libdvdread \
|
|
libexpat.so:textproc/expat2 \
|
|
libfmt.so:devel/libfmt \
|
|
libfreetype.so:print/freetype2 \
|
|
libfribidi.so:converters/fribidi \
|
|
libgif.so:graphics/giflib \
|
|
liblcms2.so:graphics/lcms2 \
|
|
liblzo2.so:archivers/lzo2 \
|
|
libpcre.so:devel/pcre \
|
|
libpcrecpp.so:devel/pcre \
|
|
libpng16.so:graphics/png \
|
|
libpostproc.so:multimedia/ffmpeg \
|
|
libswresample.so:multimedia/ffmpeg \
|
|
libswscale.so:multimedia/ffmpeg \
|
|
libtag.so:audio/taglib \
|
|
libtinyxml.so:textproc/tinyxml \
|
|
libuuid.so:misc/e2fsprogs-libuuid
|
|
|
|
# Building libcpluff.a requires autoreconf and gmake. Using ninja
|
|
# leads to dependency problems where libcpluff.a is not yet finished
|
|
# building when it's required.
|
|
USES= autoreconf:build cmake:outsource,noninja compiler:c++11-lib \
|
|
gettext gmake iconv:wchar_t jpeg libtool pkgconfig python:-2.7 \
|
|
ssl sqlite
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= xbmc
|
|
GH_PROJECT= xbmc
|
|
GH_TAGNAME= 4e01f3da2b0f17bd4da4c507691666695393527a
|
|
USE_GNOME= libxslt libxml2
|
|
USE_JAVA= yes
|
|
JAVA_BUILD= yes
|
|
USE_LDCONFIG= yes
|
|
|
|
CONFLICTS_INSTALL= kodi-[0-9]*
|
|
|
|
CMAKE_ARGS= -DLIBDVD_INCLUDE_DIRS="${LOCALBASE}/include" \
|
|
-DDVDREAD_LIBRARY="${LOCALBASE}/lib/libdvdread.so" \
|
|
-DDVDNAV_LIBRARY="${LOCALBASE}/lib/libdvdnav.so"
|
|
CMAKE_OFF= ENABLE_ALSA \
|
|
ENABLE_DVDCSS \
|
|
ENABLE_INTERNAL_FFMPEG \
|
|
ENABLE_INTERNAL_CROSSGUID
|
|
CONFIGURE_ENV= OPENSSL_LIBS="-L${OPENSSLLIB}" OPENSSL_CFLAGS="-I${OPENSSLINC}"
|
|
|
|
KODIARCH_i386= x86
|
|
KODIARCH_amd64= x86_64
|
|
|
|
PLIST_SUB= ARCH=${KODIARCH_${ARCH}:U${ARCH}} OPSYS=${OPSYS:tl}
|
|
|
|
OPTIONS_DEFINE= AVAHI CEC DBUS LIBBLURAY MYSQL NFS SMB SSH UPNP VAAPI \
|
|
VDPAU WEBSERVER
|
|
OPTIONS_DEFAULT= SNDIO SSH UPNP VAAPI VDPAU WEBSERVER X11
|
|
OPTIONS_SINGLE= PLATFORM
|
|
OPTIONS_SINGLE_PLATFORM= GBM RPI WAYLAND X11
|
|
OPTIONS_EXCLUDE_amd64= RPI
|
|
OPTIONS_EXCLUDE_i386= RPI
|
|
OPTIONS_SUB= yes
|
|
|
|
# Choosing one of SNDIO or PULSEAUDIO is mandatory right now if you
|
|
# want audio output. The OSS backend is currently not hooked into
|
|
# Kodi's audio sink factory due to recent refactorings.
|
|
OPTIONS_MULTI= SOUND
|
|
OPTIONS_MULTI_SOUND= PULSEAUDIO SNDIO
|
|
|
|
CEC_DESC= CEC adapter support
|
|
GBM_DESC= GBM support (requires a kernel with evdev support)
|
|
PLATFORM_DESC= Platform
|
|
RPI_DESC= Raspberry Pi support
|
|
WAYLAND_DESC= Wayland support (broken)
|
|
|
|
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app
|
|
AVAHI_CMAKE_BOOL= ENABLE_AVAHI
|
|
|
|
CEC_LIB_DEPENDS= libcec.so:multimedia/libcec
|
|
CEC_CMAKE_BOOL= ENABLE_CEC
|
|
|
|
DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
|
|
DBUS_CMAKE_BOOL= ENABLE_DBUS
|
|
|
|
GBM_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="gbm"
|
|
|
|
LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
|
|
LIBBLURAY_CMAKE_BOOL= ENABLE_BLURAY
|
|
|
|
MYSQL_USES= mysql
|
|
MYSQL_CMAKE_BOOL= ENABLE_MYSQLCLIENT
|
|
|
|
NFS_LIB_DEPENDS= libnfs.so:net/libnfs
|
|
NFS_CMAKE_BOOL= ENABLE_NFS
|
|
|
|
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
|
|
PULSEAUDIO_CMAKE_BOOL= ENABLE_PULSEAUDIO
|
|
|
|
# For RPI, disable VAAPI in multimedia/ffmpeg too, so that mesa-libs
|
|
# is *not* installed via libva in the build environment. Both
|
|
# mesa-libs and raspberrypi-userland conflict with each other.
|
|
RPI_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="rbpi"
|
|
RPI_LIB_DEPENDS= libbrcmEGL.so:misc/raspberrypi-userland
|
|
RPI_LIB_DEPENDS_OFF= libdrm.so:graphics/libdrm
|
|
RPI_PREVENTS= VAAPI VDPAU
|
|
RPI_USE_OFF= GL=egl,gl,glu
|
|
|
|
SMB_USES= samba:lib
|
|
SMB_CMAKE_BOOL= ENABLE_SMBCLIENT
|
|
|
|
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
|
|
SNDIO_CMAKE_BOOL= ENABLE_SNDIO
|
|
|
|
SSH_LIB_DEPENDS= libssh.so:security/libssh
|
|
SSH_CMAKE_BOOL= ENABLE_SSH
|
|
|
|
UPNP_CMAKE_BOOL= ENABLE_UPNP
|
|
# XXX: Upstream is https://github.com/plutinosoft/Neptune
|
|
UPNP_CXXFLAGS= -DNPT_CONFIG_HAVE_ARPA_INET_H \
|
|
-DNPT_CONFIG_HAVE_GETADDRINFO \
|
|
-DNPT_CONFIG_HAVE_INET_NTOP \
|
|
-DNPT_CONFIG_HAVE_INET_PTON \
|
|
-DNPT_CONFIG_HAVE_NET_IF_DL_H \
|
|
-DNPT_CONFIG_HAVE_SOCKADDR_DL \
|
|
-DNPT_CONFIG_HAVE_SOCKADDR_IN_SIN_LEN
|
|
|
|
VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
|
|
VAAPI_CMAKE_BOOL= ENABLE_VAAPI
|
|
|
|
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
|
|
VDPAU_CMAKE_BOOL= ENABLE_VDPAU
|
|
|
|
WAYLAND_BROKEN= Requires default WAYLAND in graphics/mesa-libs and missing graphics/waylandpp port
|
|
WAYLAND_BUILD_DEPENDS= wayland-protocols>=0:graphics/wayland-protocols
|
|
WAYLAND_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="wayland" \
|
|
-DWAYLAND_RENDER_SYSTEM:STRING="gl"
|
|
WAYLAND_LIB_DEPENDS= libwayland-client++.so:graphics/waylandpp \
|
|
libxkbcommon.so:x11/libxkbcommon
|
|
|
|
WEBSERVER_LIB_DEPENDS= libmicrohttpd.so:www/libmicrohttpd
|
|
WEBSERVER_CMAKE_BOOL= ENABLE_MICROHTTPD
|
|
|
|
X11_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="x11"
|
|
X11_USE= XORG=x11,xext,xrandr
|
|
|
|
post-patch:
|
|
# Do not try to download dvdnav/dvdread during the build, instead
|
|
# we'll manually point the build to the system's libdvd{nav,read}.so
|
|
# (see CMAKE_ARGS).
|
|
@${REINPLACE_CMD} 's@KODI_DEPENDSBUILD@true@' \
|
|
${WRKSRC}/cmake/modules/FindLibDvd.cmake
|
|
@${CP} ${WRKSRC}/cmake/platform/linux/gbm.cmake \
|
|
${WRKSRC}/cmake/platform/linux/rbpi.cmake \
|
|
${WRKSRC}/cmake/platform/linux/wayland.cmake \
|
|
${WRKSRC}/cmake/platform/freebsd
|
|
|
|
post-install:
|
|
${INSTALL_MAN} ${WRKSRC}/docs/manpages/kodi.bin.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
|
|
@cd ${STAGEDIR}${MAN1PREFIX}/man/man1 && ${LN} -sf kodi.bin.1.gz kodi.1.gz
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/TexturePacker
|
|
@${FIND} ${STAGEDIR}${PREFIX}/lib/kodi -name '*.so' | ${XARGS} ${STRIP_CMD}
|
|
# Nothing useful here...
|
|
@${RM} -rf ${STAGEDIR}${DOCSDIR}
|
|
|
|
.include <bsd.port.mk>
|