- Update to 13.0 Alpha 11

- Remove external FFMPEG support, xbmc needs a patched one
- New option XRANDR (requested by nox)

PR:		ports/184021
PR:		ports/185466
PR:		ports/185475
Submitted by:	Mickael Maillot (maintainer)
This commit is contained in:
Antoine Brodin 2014-01-12 16:54:01 +00:00
parent 618cb95b5c
commit 393b3728ac
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=339522
17 changed files with 1350 additions and 1546 deletions

View file

@ -1,16 +1,19 @@
# $FreeBSD$
PORTNAME= xbmc
DISTVERSION= 12.2
PORTREVISION= 5
DISTVERSION= 13.0.alpha11
CATEGORIES= multimedia
MASTER_SITES= http://mirrors.xbmc.org/releases/source/
MAINTAINER= mickael.maillot@gmail.com
COMMENT= Award winning media center application
LICENSE= GPLv2
USE_GITHUB= yes
GH_ACCOUNT= xbmc
GH_COMMIT= 8eb49b3
GH_TAGNAME= Gotham_alpha11
BUILD_DEPENDS= enca:${PORTSDIR}/converters/enca \
gawk:${PORTSDIR}/lang/gawk \
gperf:${PORTSDIR}/devel/gperf \
@ -45,6 +48,7 @@ LIB_DEPENDS= libass.so:${PORTSDIR}/multimedia/libass \
libtag.so:${PORTSDIR}/audio/taglib \
libtinyxml.so:${PORTSDIR}/textproc/tinyxml \
libvorbis.so:${PORTSDIR}/audio/libvorbis \
libxslt.so:${PORTSDIR}/textproc/libxslt \
libyajl.so:${PORTSDIR}/devel/yajl
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
glxinfo:${PORTSDIR}/graphics/mesa-demos \
@ -55,7 +59,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
USES= gmake iconv pkgconfig
USE_AUTOTOOLS= autoconf libtool automake libltdl
GNU_CONFIGURE= yes
USE_XORG= xt xmu xrandr xtst
USE_XORG= xt xmu xtst
USE_GL= glu
USE_SDL= image sdl
USE_PYTHON= -2.7
@ -64,7 +68,6 @@ JAVA_BUILD= jre
NOPRECIOUSMAKEVARS= yes
INSTALLS_ICONS= yes
ONLY_FOR_ARCHS= i386 amd64
CONFLICTS_INSTALL= xbmc-pva-ppa-odk-[0-9]*
DESKTOP_ENTRIES="XBMC" \
"${COMMENT}" \
@ -73,27 +76,69 @@ DESKTOP_ENTRIES="XBMC" \
"AudioVideo;Video;" \
true
OPTIONS_DEFINE= AIRPLAY AIRTUNES AVAHI CEC EXTERNAL_FFMPEG LAME \
OPTIONS_DEFINE= AIRPLAY AIRTUNES AVAHI CEC LAME \
LIBBLURAY HAL LIRC MYSQL NONFREE PULSEAUDIO RTMP SFTP \
SMB VAAPI VDPAU VORBIS WEBSERVER
SMB VAAPI VDPAU VORBIS WEBSERVER XRANDR
AIRPLAY_DESC= AirPlay support via libplist
AIRTUNES_DESC= AirTunes support via libshairport
CEC_DESC= CEC adapter support
EXTERNAL_FFMPEG_DESC= Use external ffmpeg
NONFREE_DESC= Enable non-free components (rar, ccx, ffmpeg)
SFTP_DESC= SSH SFTP support via libssh
VORBIS_DESC= Ogg Vorbis audio encoder
OPTIONS_DEFAULT= AIRPLAY AVAHI CEC LIBBLURAY HAL MYSQL \
RTMP SFTP SMB VORBIS WEBSERVER
OPTIONS_DEFAULT= AIRPLAY AVAHI CEC LIBBLURAY HAL LIRC MYSQL \
RTMP SFTP SMB VAAPI VDPAU VORBIS WEBSERVER XRANDR
.include <bsd.port.pre.mk>
AIRPLAY_LIB_DEPENDS= libplist.so:${PORTSDIR}/devel/libplist
AIRPLAY_CONFIGURE_ENABLE= airplay
.if ${OSVERSION} < 900000
OPTIONS_DEFAULT+= EXTERNAL_FFMPEG
.endif
AIRTUNES_LIB_DEPENDS= libshairport.so:${PORTSDIR}/audio/libshairport
AIRTUNES_CONFIGURE_ENABLE= airtunes
CONFIGURE_ARGS+= --disable-nfs
AVAHI_LIB_DEPENDS= libavahi-client.so:${PORTSDIR}/net/avahi-app
AVAHI_CONFIGURE_ENABLE= avahi
CEC_LIB_DEPENDS= libcec.so:${PORTSDIR}/multimedia/libcec
CEC_CONFIGURE_ENABLE= libcec
LIBBLURAY_LIB_DEPENDS= libbluray.so:${PORTSDIR}/multimedia/libbluray
LIBBLURAY_CONFIGURE_ENABLE= libbluray
HAL_LIB_DEPENDS= libhal.so:${PORTSDIR}/sysutils/hal
HAL_CONFIGURE_ENABLE= hal
LAME_LIB_DEPENDS= libmp3lame.so:${PORTSDIR}/audio/lame
LAME_CONFIGURE_ENABLE= libmp3lame
MYSQL_USE= MYSQL=yes
MYSQL_CONFIGURE_ENABLE= mysql
PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
PULSEAUDIO_CONFIGURE_ENABLE= pulse
RTMP_LIB_DEPENDS= librtmp.so:${PORTSDIR}/multimedia/librtmp
RTMP_CONFIGURE_ENABLE= rtmp
SMB_LIB_DEPENDS= libsmbclient.so:${PORTSDIR}/net/samba-libsmbclient
SMB_CONFIGURE_ENABLE= samba
VAAPI_LIB_DEPENDS= libva.so:${PORTSDIR}/multimedia/libva
VAAPI_CONFIGURE_ENABLE= vaapi
VDPAU_BUILD_DEPENDS= ${LOCALBASE}/include/vdpau/vdpau.h:${PORTSDIR}/multimedia/libvdpau
VDPAU_CONFIGURE_ENABLE= vdpau
VORBIS_LIB_DEPENDS= libvorbisenc.so:${PORTSDIR}/audio/libvorbis
VORBIS_CONFIGURE_ENABLE= libvorbisenc
WEBSERVER_LIB_DEPENDS= libmicrohttpd.so:${PORTSDIR}/www/libmicrohttpd
WEBSERVER_CONFIGURE_ENABLE= webserver
SFTP_BUILD_DEPENDS= ${LOCALBASE}/lib/libssh.so:${PORTSDIR}/security/libssh
SFTP_RUN_DEPENDS= ${LOCALBASE}/lib/libssh.so:${PORTSDIR}/security/libssh
SFTP_CONFIGURE_ENABLE= ssh
CONFIGURE_ARGS+= --disable-debug --disable-nfs --disable-alsa
.include <bsd.port.options.mk>
@ -103,93 +148,16 @@ PLIST_SUB+= ARCH="x86"
PLIST_SUB+= ARCH="x86_64"
.endif
.if ${OSVERSION} <= 800096
LIB_DEPENDS+= asound:${PORTSDIR}/audio/alsa-lib
RUN_DEPENDS+= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins
USE_SDL+= mixer
CONFIGURE_ARGS+= --disable-oss
.else
CONFIGURE_ARGS+= --disable-alsa
.endif
.if ${PORT_OPTIONS:MDEBUG}
CONFIGURE_ARGS+= --enable-debug
.else
CONFIGURE_ARGS+= --disable-debug
.endif
.if ${PORT_OPTIONS:MAIRPLAY}
CONFIGURE_ARGS+= --enable-airplay
LIB_DEPENDS+= plist:${PORTSDIR}/devel/libplist
.else
CONFIGURE_ARGS+= --disable-airplay
.endif
.if ${PORT_OPTIONS:MAIRTUNES}
CONFIGURE_ARGS+= --enable-airtunes
LIB_DEPENDS+= shairport:${PORTSDIR}/audio/libshairport
.else
CONFIGURE_ARGS+= --disable-airtunes
.endif
.if ${PORT_OPTIONS:MAVAHI}
CONFIGURE_ARGS+= --enable-avahi
LIB_DEPENDS+= avahi-common:${PORTSDIR}/net/avahi-app
.else
CONFIGURE_ARGS+= --disable-avahi
.endif
.if ${PORT_OPTIONS:MCEC}
CONFIGURE_ARGS+= --enable-libcec
LIB_DEPENDS+= cec:${PORTSDIR}/multimedia/libcec
.else
CONFIGURE_ARGS+= --disable-libcec
.endif
.if ${PORT_OPTIONS:MEXTERNAL_FFMPEG}
CONFIGURE_ARGS+= --enable-external-ffmpeg
FFMPEG_SUFFIX= 0
CONFIGURE_ENV+= FFMPEG_SUFFIX="${FFMPEG_SUFFIX}"
PLIST_SUB+= EXTERNAL_FFMPEG="@comment "
BUILD_DEPENDS+= ffmpeg${FFMPEG_SUFFIX}>0.11:${PORTSDIR}/multimedia/ffmpeg${FFMPEG_SUFFIX}
RUN_DEPENDS+= ffmpeg${FFMPEG_SUFFIX}>0.11:${PORTSDIR}/multimedia/ffmpeg${FFMPEG_SUFFIX}
.else
CONFIGURE_ARGS+= --disable-external-ffmpeg
PLIST_SUB+= EXTERNAL_FFMPEG=""
.endif
.if ${PORT_OPTIONS:MLIBBLURAY}
CONFIGURE_ARGS+= --enable-libbluray
LIB_DEPENDS+= bluray:${PORTSDIR}/multimedia/libbluray
.else
CONFIGURE_ARGS+= --disable-libbluray
.endif
.if ${PORT_OPTIONS:MHAL}
CONFIGURE_ARGS+= --enable-hal
LIB_DEPENDS+= hal:${PORTSDIR}/sysutils/hal
.else
CONFIGURE_ARGS+= --disable-hal
.endif
.if ${PORT_OPTIONS:MLAME}
CONFIGURE_ARGS+= --enable-libmp3lame
LIB_DEPENDS+= mp3lame:${PORTSDIR}/audio/lame
.else
CONFIGURE_ARGS+= --disable-libmp3lame
.if ${OSVERSION} < 900033
BUILD_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
.endif
.if ${PORT_OPTIONS:MLIRC}
RUN_DEPENDS+= lircd:${PORTSDIR}/comms/lirc
.endif
.if ${PORT_OPTIONS:MMYSQL}
CONFIGURE_ARGS+= --enable-mysql
USE_MYSQL= yes
.else
CONFIGURE_ARGS+= --disable-mysql
.endif
.if ${PORT_OPTIONS:MNONFREE}
CONFIGURE_ARGS+= --enable-non-free
NO_CDROM= Restricted binary distribution
@ -198,61 +166,13 @@ NO_PACKAGE= ${NO_CDROM}
CONFIGURE_ARGS+= --disable-non-free
.endif
.if ${PORT_OPTIONS:MPULSEAUDIO}
CONFIGURE_ARGS+= --enable-pulse
LIB_DEPENDS+= pulse:${PORTSDIR}/audio/pulseaudio
.if ${PORT_OPTIONS:MXRANDR}
CONFIGURE_ARGS+= --enable-xrandr
USE_XORG+= xrandr
PLIST_SUB+= XRANDR=""
.else
CONFIGURE_ARGS+= --disable-pulse
.endif
.if ${PORT_OPTIONS:MRTMP}
CONFIGURE_ARGS+= --enable-rtmp
LIB_DEPENDS+= rtmp:${PORTSDIR}/multimedia/rtmpdump
.else
CONFIGURE_ARGS+= --disable-rtmp
.endif
.if ${PORT_OPTIONS:MSFTP}
CONFIGURE_ARGS+= --enable-ssh
BUILD_DEPENDS+= ${LOCALBASE}/lib/libssh.so:${PORTSDIR}/security/libssh
RUN_DEPENDS+= ${LOCALBASE}/lib/libssh.so:${PORTSDIR}/security/libssh
.else
CONFIGURE_ARGS+= --disable-ssh
.endif
.if ${PORT_OPTIONS:MSMB}
CONFIGURE_ARGS+= --enable-samba
LIB_DEPENDS+= smbclient:${PORTSDIR}/net/samba-libsmbclient
.else
CONFIGURE_ARGS+= --disable-samba
.endif
.if ${PORT_OPTIONS:MVAAPI}
LIB_DEPENDS+= va:${PORTSDIR}/multimedia/libva
CONFIGURE_ARGS+= --enable-vaapi
.else
CONFIGURE_ARGS+= --disable-vaapi
.endif
.if ${PORT_OPTIONS:MVDPAU}
LIB_DEPENDS+= vdpau:${PORTSDIR}/multimedia/libvdpau
CONFIGURE_ARGS+= --enable-vdpau
.else
CONFIGURE_ARGS+= --disable-vdpau
.endif
.if ${PORT_OPTIONS:MVORBIS}
CONFIGURE_ARGS+= --enable-libvorbisenc
LIB_DEPENDS+= ogg:${PORTSDIR}/audio/libogg
.else
CONFIGURE_ARGS+= --disable-libvorbisenc
.endif
.if ${PORT_OPTIONS:MWEBSERVER}
CONFIGURE_ARGS+= --enable-webserver
LIB_DEPENDS+= microhttpd:${PORTSDIR}/www/libmicrohttpd
.else
CONFIGURE_ARGS+= --disable-webserver
CONFIGURE_ARGS+= --disable-xrandr
PLIST_SUB+= XRANDR="@comment "
.endif
post-patch:
@ -261,18 +181,27 @@ post-patch:
${WRKSRC}/lib/libsidplay2/libsidplay/src/mos6510/mos6510.h \
${WRKSRC}/lib/libsidplay2/libsidplay/src/mos6526/mos6526.h \
${WRKSRC}/lib/libsidplay2/libsidplay/src/mos656x/mos656x.h
${REINPLACE_CMD} 's;make;gmake;' ${WRKSRC}/bootstrap
${REINPLACE_CMD} 's;make;gmake;' \
${WRKSRC}/bootstrap \
${WRKSRC}/tools/TexturePacker/Makefile.in
${REINPLACE_CMD} 's;which swig;&2.0;' ${WRKSRC}/codegenerator.mk
.if empty(ICONV_LIB)
${REINPLACE_CMD} -e 's;^checking for main in -liconv\.\.\.;checking for iconv...;' \
-e 's;-liconv;${ICONV_LIB};' ${WRKSRC}/configure
.endif
${REINPLACE_CMD} '/^autopoint/d' ${WRKSRC}/lib/cpluff/autogen.sh
${REINPLACE_CMD} 's;static weak_ptr;static boost::weak_ptr;' \
${WRKSRC}/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
run-autotools:
@cd ${WRKSRC} && ${SH} ./bootstrap
cd ${WRKSRC}/lib/cpluff && ${SH} ./autogen.sh
${REINPLACE_CMD} '/lib\/cpluff/d' ${WRKSRC}/bootstrap.mk
cd ${WRKSRC} && ${SH} ./bootstrap
post-install:
@${INSTALL_MAN} ${WRKSRC}/docs/manpages/xbmc.bin.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
@(cd ${STAGEDIR}${MAN1PREFIX}/man/man1 && ${LN} -sf xbmc.bin.1.gz xbmc.1.gz)
${INSTALL_MAN} ${WRKSRC}/docs/manpages/xbmc.bin.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
(cd ${STAGEDIR}${MAN1PREFIX}/man/man1 && ${LN} -sf xbmc.bin.1.gz xbmc.1.gz)
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/xbmc/xbmc.bin
${FIND} ${STAGEDIR}${PREFIX}/lib/xbmc -name '*.so' -or -name '*.xbs' -or -name '*.vis' \
| ${XARGS} ${STRIP_CMD}
.if ${PORT_OPTIONS:MXRANDR}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/xbmc/xbmc-xrandr
.endif
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View file

@ -1,2 +1,2 @@
SHA256 (xbmc-12.2.tar.gz) = b2330634fc513d27a44b131bbbe4ca6b61d60a1fe6c7ca27a7dc749df0bcea1c
SIZE (xbmc-12.2.tar.gz) = 67663000
SHA256 (xbmc-13.0.alpha11.tar.gz) = 257bb66de73d561f6568cd4ccb5d4f046b1a9a78b39d8e279d52c11559a8c5b0
SIZE (xbmc-13.0.alpha11.tar.gz) = 64120259

View file

@ -1,131 +1,30 @@
diff --git xbmc/screensavers/rsxs-0.9/lib/argp-fmtstream.h xbmc/screensavers/rsxs-0.9/lib/argp-fmtstream.h
index e045a72..ff4f575 100644
--- xbmc/screensavers/rsxs-0.9/lib/argp-fmtstream.h
+++ xbmc/screensavers/rsxs-0.9/lib/argp-fmtstream.h
@@ -198,8 +198,12 @@ extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
#endif
--- ./lib/cpluff/configure.ac.orig 2014-01-01 02:26:03.000000000 +0000
+++ ./lib/cpluff/configure.ac 2014-01-10 23:59:59.000000000 +0000
@@ -109,12 +109,12 @@
AC_LINK_IFELSE(
[AC_LANG_SOURCE([#include <pthread.h>
#ifndef ARGP_FS_EI
+#ifdef __clang__
+#define ARGP_FS_EI extern inline __attribute__ ((__gnu_inline__))
+#else
#define ARGP_FS_EI extern inline
#endif
+#endif
ARGP_FS_EI size_t
__argp_fmtstream_write (argp_fmtstream_t __fs,
diff --git lib/cpluff/libcpluff/cpluff.c lib/cpluff/libcpluff/cpluff.c
index a7e8725..0f5bb90 100644
--- lib/cpluff/libcpluff/cpluff.c
+++ lib/cpluff/libcpluff/cpluff.c
@@ -77,6 +77,7 @@ CP_C_API const char *cp_get_host_type(void) {
return CP_HOST;
}
+#if defined(CP_THREADS) || !defined(NDEBUG)
CP_HIDDEN void cpi_lock_framework(void) {
#if defined(CP_THREADS)
cpi_lock_mutex(framework_mutex);
@@ -93,6 +94,7 @@ CP_HIDDEN void cpi_unlock_framework(void) {
framework_locked--;
#endif
}
+#endif
static void reset(void) {
#ifdef CP_THREADS
diff --git lib/cpluff/libcpluff/logging.c lib/cpluff/libcpluff/logging.c
index 928f0b4..f0f873d 100644
--- lib/cpluff/libcpluff/logging.c
+++ lib/cpluff/libcpluff/logging.c
@@ -129,10 +129,12 @@ CP_C_API cp_status_t cp_register_logger(cp_context_t *context, cp_logger_func_t
// Report error
if (status == CP_ERR_RESOURCE) {
cpi_error(context, N_("Logger could not be registered due to insufficient memory."));
+#if defined(CP_THREADS) || !defined(NDEBUG)
} else if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: %s is the context owner */
cpi_debugf(context, N_("%s registered a logger."), cpi_context_owner(context, owner, sizeof(owner)));
+#endif
}
cpi_unlock_context(context);
@@ -166,11 +168,13 @@ CP_C_API void cp_unregister_logger(cp_context_t *context, cp_logger_func_t logge
free(lh);
update_logging_limits(context);
}
+#if defined(CP_THREADS) || !defined(NDEBUG)
if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: %s is the context owner */
cpi_debugf(context, N_("%s unregistered a logger."), cpi_context_owner(context, owner, sizeof(owner)));
}
+#endif
cpi_unlock_context(context);
}
diff --git lib/cpluff/libcpluff/pinfo.c lib/cpluff/libcpluff/pinfo.c
index cfbf049..f7b4a4b 100644
--- lib/cpluff/libcpluff/pinfo.c
+++ lib/cpluff/libcpluff/pinfo.c
@@ -569,10 +569,12 @@ CP_C_API cp_status_t cp_register_plistener(cp_context_t *context, cp_plugin_list
// Report error or success
if (status != CP_OK) {
cpi_error(context, _("A plug-in listener could not be registered due to insufficient memory."));
+#if defined(CP_THREADS) || !defined(NDEBUG)
} else if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: %s is the context owner */
cpi_debugf(context, N_("%s registered a plug-in listener."), cpi_context_owner(context, owner, sizeof(owner)));
+#endif
}
cpi_unlock_context(context);
-int main(int argc, char **argv) {
+[int main(int argc, char **argv) {
pthread_mutex_t mutex;
@@ -591,10 +593,12 @@ CP_C_API void cp_unregister_plistener(cp_context_t *context, cp_plugin_listener_
if (node != NULL) {
process_unregister_plistener(context->env->plugin_listeners, node, NULL);
}
+#if defined(CP_THREADS) || !defined(NDEBUG)
if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: %s is the context owner */
cpi_debugf(context, N_("%s unregistered a plug-in listener."), cpi_context_owner(context, owner, sizeof(owner)));
}
+#endif
cpi_unlock_context(context);
}
diff --git lib/cpluff/libcpluff/psymbol.c lib/cpluff/libcpluff/psymbol.c
index 632b087..fdc15af 100644
--- lib/cpluff/libcpluff/psymbol.c
+++ lib/cpluff/libcpluff/psymbol.c
@@ -248,11 +248,13 @@ CP_C_API void * cp_resolve_symbol(cp_context_t *context, const char *id, const c
symbol_info->usage_count++;
provider_info->usage_count++;
pthread_mutex_init(&mutex, NULL);
return 0;
-}
+}]
])], [AC_MSG_RESULT([yes])
cp_threads=Posix], AC_MSG_RESULT([no]))
fi
@@ -126,10 +126,10 @@
AC_LINK_IFELSE(
[AC_LANG_SOURCE([#include <windows.h>
+#if defined(CP_THREADS) || !defined(NDEBUG)
if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: First %s is the context owner */
cpi_debugf(context, "%s resolved symbol %s defined by plug-in %s.", cpi_context_owner(context, owner, sizeof(owner)), name, id);
}
+#endif
} while (0);
// Clean up
@@ -314,11 +316,13 @@ CP_C_API void cp_release_symbol(cp_context_t *context, const void *ptr) {
if (symbol_info->usage_count == 0) {
hash_delete_free(context->resolved_symbols, node);
free(symbol_info);
+#if defined(CP_THREADS) || !defined(NDEBUG)
if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: First %s is the context owner */
cpi_debugf(context, _("%s released the symbol at address %p defined by plug-in %s."), cpi_context_owner(context, owner, sizeof(owner)), ptr, provider_info->plugin->plugin->identifier);
}
+#endif
}
// Check if the symbol providing plug-in is not being used anymore
-int main(int argc, char **argv) {
+[int main(int argc, char **argv) {
CreateMutex(NULL, FALSE, NULL);
return 0;
-}
+}]
])], [AC_MSG_RESULT([yes])
cp_threads=Windows], AC_MSG_RESULT([no]))
fi

View file

@ -1,6 +1,6 @@
--- configure.in.orig 2012-10-01 01:08:50.000000000 +0200
+++ configure.in 2012-10-03 12:17:13.000000000 +0200
@@ -726,9 +726,9 @@
--- configure.in.orig 2014-01-01 03:26:03.000000000 +0100
+++ configure.in 2014-01-05 00:33:52.000000000 +0100
@@ -820,11 +820,16 @@
# platform specific flags
if echo "$ARCH" | grep -q "freebsd" ; then
LOCALBASE="${LOCALBASE:-/usr/local}"
@ -11,9 +11,17 @@
+ CXXFLAGS="$CXXFLAGS -idirafter$LOCALBASE/include"
+ CPPFLAGS="$CPPFLAGS -idirafter$LOCALBASE/include"
LDFLAGS="$LDFLAGS -L$LOCALBASE/lib"
FFMPEG_EXTRACFLAGS="-I$LOCALBASE/include"
- FFMPEG_EXTRACFLAGS="-I$LOCALBASE/include"
+ FFMPEG_EXTRACFLAGS="-idirafter$LOCALBASE/include"
+ CC_FOR_BUILD="$CC"
+ CXX_FOR_BUILD="$CXX"
+ CFLAGS_FOR_BUILD="$CFLAGS"
+ CXXFLAGS_FOR_BUILD="$CXXFLAGS"
+ LDFLAGS_FOR_BUILD="$LDFLAGS"
fi
@@ -816,6 +816,7 @@
if test "$host_vendor" = "apple" ; then
# standard xbmc paths
@@ -948,6 +953,7 @@
# Check inotify availability
AC_CHECK_HEADER([sys/inotify.h], AC_DEFINE([HAVE_INOTIFY],[1],[Define if we have inotify]),)
@ -21,42 +29,22 @@
# Checks for boost headers using CXX instead of CC
AC_LANG_PUSH([C++])
@@ -1491,15 +1492,15 @@
@@ -1614,7 +1620,8 @@
if test "x$use_airtunes" != "xno"; then
AC_CHECK_HEADERS([shairplay/raop.h],,
[if test "x$use_airtunes" = "xyes"; then
- AC_MSG_ERROR($libshairplay_not_found)
+ AC_MSG_NOTICE($libshairplay_not_found)
+ use_airtunes="no"
elif test "x$use_airtunes" != "xno"; then
AC_MSG_NOTICE($libshairplay_not_found)
use_airtunes="no"
@@ -1632,7 +1639,7 @@
# External FFmpeg
if test "$use_external_ffmpeg" = "yes"; then
- FFMPEG_LIBNAMES="libavcodec libavfilter libavformat libavutil libpostproc libswscale"
+ FFMPEG_LIBNAMES="libavcodec$FFMPEG_SUFFIX libavfilter$FFMPEG_SUFFIX libavformat$FFMPEG_SUFFIX libavutil$FFMPEG_SUFFIX libpostproc$FFMPEG_SUFFIX libswscale$FFMPEG_SUFFIX"
# libavcore is optional
- PKG_CHECK_EXISTS([libavcore], FFMPEG_LIBNAMES="$FFMPEG_LIBNAMES libavcore")
+ PKG_CHECK_EXISTS([libavcore$FFMPEG_SUFFIX], FFMPEG_LIBNAMES="$FFMPEG_LIBNAMES libavcore$FFMPEG_SUFFIX")
# one of libswresample or libavresample is needed
- PKG_CHECK_EXISTS([libswresample], FFMPEG_LIBNAMES="$FFMPEG_LIBNAMES libswresample",
- [PKG_CHECK_EXISTS([libavresample],
- FFMPEG_LIBNAMES="$FFMPEG_LIBNAMES libavresample",
+ PKG_CHECK_EXISTS([libswresample$FFMPEG_SUFFIX], FFMPEG_LIBNAMES="$FFMPEG_LIBNAMES libswresample$FFMPEG_SUFFIX",
+ [PKG_CHECK_EXISTS([libavresample$FFMPEG_SUFFIX],
+ FFMPEG_LIBNAMES="$FFMPEG_LIBNAMES libavresample$FFMPEG_SUFFIX",
AC_MSG_ERROR([You need either libswresample
or libavresample.]))])
@@ -1509,7 +1510,7 @@
# Determine whether AVPacket and relevant functions are defined in libavformat
# or libavcodec
- AC_CHECK_LIB([avcodec], [av_free_packet],
+ AC_CHECK_LIB(["avcodec$FFMPEG_SUFFIX"], [av_free_packet],
[AC_MSG_NOTICE(== AVPacket and relevant functions defined in libavcodec. ==)],
[AC_MSG_NOTICE(== AVPacket and relevant functions defined in libavformat. ==)
AC_DEFINE([AVPACKET_IN_AVFORMAT], [1], [Whether AVPacket is in libavformat.])])
@@ -1558,7 +1559,7 @@
AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
# Disable vdpau support if external libavcodec doesn't have it
- AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],,
+ AC_CHECK_LIB(["avcodec$FFMPEG_SUFFIX"], [ff_vdpau_vc1_decode_picture],,
[if test "x$use_vdpau" = "xyes"; then
AC_MSG_ERROR($ffmpeg_vdpau_not_supported)
else
#libshairport - as a fallback for AirTunes
if test "x$USE_AIRTUNES" == "x0"; then
- AC_CHECK_HEADERS([shairport/shairport.h],,
+ AC_CHECK_HEADERS([shairport/shairport.h],[use_airtunes="yes"],
[if test "x$use_airtunes" = "xyes"; then
AC_MSG_ERROR($libshairport_not_found)
elif test "x$use_airtunes" != "xno"; then

View file

@ -1,83 +0,0 @@
From d9d80bbf6c34fa546fc81299255fb31a5ec1a7ea Mon Sep 17 00:00:00 2001
From: Marc <mhocking@home-workstation.localdomain>
Date: Thu, 7 Jun 2012 17:27:26 +0100
Subject: [PATCH 3/3] Allow XBMC to run headless .i.e. No GUI
---
xbmc/main.cpp | 2 ++
xbmc/settings/AppParamParser.cpp | 9 +++++++++
xbmc/settings/AppParamParser.h | 2 ++
3 files changed, 13 insertions(+)
diff --git xbmc/main/main.cpp xbmc/main/main.cpp
index 0b0274a..6f9229b 100644
--- xbmc/main/main.cpp
+++ xbmc/main/main.cpp
@@ -82,6 +82,8 @@ int main(int argc, char* argv[])
#ifndef _WIN32
CAppParamParser appParamParser;
appParamParser.Parse((const char **)argv, argc);
+
+ renderGUI = appParamParser.renderGUI();
#endif
return XBMC_Run(renderGUI);
}
diff --git xbmc/settings/AppParamParser.cpp xbmc/settings/AppParamParser.cpp
index 0302105..5a4627c 100644
--- xbmc/settings/AppParamParser.cpp
+++ xbmc/settings/AppParamParser.cpp
@@ -39,6 +39,7 @@
CAppParamParser::CAppParamParser()
{
m_testmode = false;
+ m_renderGUI = true;
}
void CAppParamParser::Parse(const char* argv[], int nArgs)
@@ -107,6 +108,7 @@ void CAppParamParser::DisplayHelp()
printf(" --test\t\tEnable test mode. [FILE] required.\n");
printf(" --settings=<filename>\t\tLoads specified file after advancedsettings.xml replacing any settings specified\n");
printf(" \t\t\t\tspecified file must exist in special://xbmc/system/\n");
+ printf(" --headless\t\tRun XBMC headless, i.e. No GUI.\n");
exit(0);
}
@@ -135,6 +137,8 @@ void CAppParamParser::ParseArg(const CStdString &arg)
g_application.SetEnableLegacyRes(true);
else if (arg == "--test")
m_testmode = true;
+ else if (arg == "--headless")
+ m_renderGUI = false;
else if (arg.substr(0, 11) == "--settings=")
g_advancedSettings.AddSettingsFile(arg.substr(11));
else if (arg.length() != 0 && arg[0] != '-')
@@ -147,6 +151,11 @@ void CAppParamParser::ParseArg(const CStdString &arg)
}
}
+bool CAppParamParser::renderGUI()
+{
+ return(m_renderGUI);
+}
+
void CAppParamParser::PlayPlaylist()
{
if (m_playlist.Size() > 0)
diff --git xbmc/settings/AppParamParser.h xbmc/settings/AppParamParser.h
index fb21081..c201e48 100644
--- xbmc/settings/AppParamParser.h
+++ xbmc/settings/AppParamParser.h
@@ -27,9 +27,11 @@ class CAppParamParser
public:
CAppParamParser();
void Parse(const char* argv[], int nArgs);
+ bool renderGUI();
private:
bool m_testmode;
+ bool m_renderGUI;
CFileItemList m_playlist;
void ParseArg(const CStdString &arg);
void DisplayHelp();
--
1.7.10.2

View file

@ -0,0 +1,11 @@
--- ./lib/ffmpeg/libavutil/x86/asm.h.orig 2014-01-01 02:26:03.000000000 +0000
+++ ./lib/ffmpeg/libavutil/x86/asm.h 2014-01-12 10:28:23.000000000 +0000
@@ -68,7 +68,7 @@
typedef int x86_reg;
#endif
-#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE))
+#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE && !defined(__clang__)))
#define HAVE_6REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE || HAVE_EBP_AVAILABLE))
#if ARCH_X86_64 && defined(PIC)

View file

@ -1,16 +0,0 @@
--- xbmc/cdrip/EncoderFFmpeg.cpp.orig 2013-02-06 19:11:19.000000000 +0100
+++ xbmc/cdrip/EncoderFFmpeg.cpp 2013-02-06 19:11:45.000000000 +0100
@@ -77,7 +77,13 @@
}
m_Format = m_dllAvFormat.avformat_alloc_context();
+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,1,0)
m_Format->pb = m_dllAvFormat.avio_alloc_context(m_BCBuffer, sizeof(m_BCBuffer), AVIO_FLAG_READ, this, NULL, MuxerReadPacket, NULL);
+#elif LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,0,0)
+ m_Format->pb = m_dllAvFormat.avio_alloc_context(m_BCBuffer, sizeof(m_BCBuffer), AVIO_RDONLY, this, NULL, MuxerReadPacket, NULL);
+#else
+ m_Format->pb = m_dllAvFormat.avio_alloc_context(m_BCBuffer, sizeof(m_BCBuffer), URL_RDONLY, this, NULL, MuxerReadPacket, NULL);
+#endif
if (!m_Format->pb)
{
m_dllAvUtil.av_freep(&m_Format);

View file

@ -1,13 +0,0 @@
diff --git xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp
index bd01a67..49edfee 100644
--- xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp
+++ xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp
@@ -303,7 +303,7 @@ void CSoftAE::InternalOpenSink()
/* perform basic sanity checks on the format returned by the sink */
ASSERT(newFormat.m_channelLayout.Count() > 0);
- ASSERT(newFormat.m_dataFormat <= AE_FMT_FLOAT);
+ ASSERT(newFormat.m_dataFormat <= AE_FMT_MAX);
ASSERT(newFormat.m_frames > 0);
ASSERT(newFormat.m_frameSamples > 0);
ASSERT(newFormat.m_frameSize == (CAEUtil::DataFormatToBits(newFormat.m_dataFormat) >> 3) * newFormat.m_channelLayout.Count());

View file

@ -0,0 +1,10 @@
--- xbmc/cores/DllLoader/dll_tracker.cpp.orig 2013-12-27 17:07:11.000000000 +0100
+++ xbmc/cores/DllLoader/dll_tracker.cpp 2013-12-27 17:05:29.000000000 +0100
@@ -24,6 +24,7 @@
#include "DllLoader.h"
#include "threads/SingleLock.h"
#include "utils/log.h"
+#include <stdlib.h>
#ifdef _cplusplus
extern "C"

View file

@ -0,0 +1,10 @@
--- xbmc/cores/DllLoader/dll_tracker_file.cpp.orig 2013-12-27 17:07:01.000000000 +0100
+++ xbmc/cores/DllLoader/dll_tracker_file.cpp 2013-12-27 17:07:36.000000000 +0100
@@ -23,6 +23,7 @@
#include "DllLoader.h"
#include "threads/SingleLock.h"
#include "utils/log.h"
+#include <stdlib.h>
#ifdef TARGET_POSIX
#define dll_open open

View file

@ -1,11 +0,0 @@
--- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp.orig 2013-10-19 23:07:02.530131780 +0200
+++ xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp 2013-10-19 23:06:38.499626784 +0200
@@ -74,7 +74,7 @@
static CDisplayPtr GetGlobalDisplay()
{
- static weak_ptr<CDisplay> display_global;
+ static boost::weak_ptr<CDisplay> display_global;
CDisplayPtr display(display_global.lock());
if(display)

View file

@ -1,10 +0,0 @@
--- xbmc/linux/PlatformDefs.h.orig 2013-05-03 07:57:41.000000000 +0200
+++ xbmc/linux/PlatformDefs.h 2013-10-07 23:03:51.032581268 +0200
@@ -55,6 +55,7 @@
#include <stdio.h>
#include <sys/sysctl.h>
#include <sys/types.h>
+#include <stdlib.h>
#else
#include <sys/sysinfo.h>
#endif

View file

@ -1,8 +1,8 @@
--- xbmc/threads/platform/pthreads/ThreadImpl.cpp.orig 2013-05-13 11:32:04.000000000 +0200
+++ xbmc/threads/platform/pthreads/ThreadImpl.cpp 2013-05-13 11:47:27.000000000 +0200
--- xbmc/threads/platform/pthreads/ThreadImpl.cpp.orig 2013-12-03 16:25:00.000000000 +0100
+++ xbmc/threads/platform/pthreads/ThreadImpl.cpp 2013-12-03 16:26:01.000000000 +0100
@@ -29,12 +29,8 @@
#include <string.h>
#ifdef __FreeBSD__
#ifdef TARGET_FREEBSD
#include <sys/param.h>
-#if __FreeBSD_version < 900031
-#include <sys/thr.h>
@ -16,7 +16,7 @@
@@ -59,11 +55,7 @@
void CThread::SetThreadInfo()
{
#ifdef __FreeBSD__
#ifdef TARGET_FREEBSD
-#if __FreeBSD_version < 900031
- long lwpid;
- thr_self(&lwpid);

View file

@ -0,0 +1,15 @@
--- xbmc/visualizations/XBMCProjectM/libprojectM/Common.hpp.orig 2013-12-27 16:58:27.000000000 +0100
+++ xbmc/visualizations/XBMCProjectM/libprojectM/Common.hpp 2013-12-27 16:58:50.000000000 +0100
@@ -57,11 +57,7 @@
#endif
#ifdef LINUX
-#define projectM_isnan isnan
-#endif
-
-#ifdef LINUX
-#define projectM_isnan isnan
+#define projectM_isnan std::isnan
#endif
#ifdef WIN32

View file

@ -1,11 +0,0 @@
--- xbmc/visualizations/XBMCProjectM/libprojectM/PresetLoader.cpp.orig 2013-07-04 15:52:45.000000000 +0200
+++ xbmc/visualizations/XBMCProjectM/libprojectM/PresetLoader.cpp 2013-07-04 15:53:32.000000000 +0200
@@ -35,7 +35,7 @@
const std::string PresetLoader::PROJECTM_FILE_EXTENSION(".prjm");
const std::string PresetLoader::MILKDROP_FILE_EXTENSION(".milk");
-PresetLoader::PresetLoader(std::string dirname = std::string()) :m_dirname(dirname), m_dir(0), m_ratingsSum(0)
+PresetLoader::PresetLoader(std::string dirname) :m_dirname(dirname), m_dir(0), m_ratingsSum(0)
{
// Do one scan
if (m_dirname != std::string())

View file

@ -1,11 +0,0 @@
--- xbmc/visualizations/XBMCProjectM/libprojectM/PresetLoader.hpp.orig 2013-07-04 15:52:54.000000000 +0200
+++ xbmc/visualizations/XBMCProjectM/libprojectM/PresetLoader.hpp 2013-07-04 15:53:28.000000000 +0200
@@ -29,7 +29,7 @@
static const std::string MILKDROP_FILE_EXTENSION;
/** Initializes the preset loader with the target directory specified */
- PresetLoader(std::string dirname);
+ PresetLoader(std::string dirname = std::string());
/** Destructor will remove all alllocated presets */
~PresetLoader();

File diff suppressed because it is too large Load diff