From d718177bdebdc942da0334bedb9da434a8c2f2d8 Mon Sep 17 00:00:00 2001 From: Juergen Lock Date: Sat, 17 Mar 2012 23:13:27 +0000 Subject: [PATCH] - Update to xbmc-pvr-ppa-odk-70. - Fix build with clang, and a bug it uncovered too. - Add OPTION to be able to build without xrandr support. (Which misbehaves with xf86-video-ati when used with tvout.) - Add explicit pointers to multimedia/xbmc-addon-xvdr, multimedia/vdr-plugin-xvdr, and to the vdr wiki page to pkg-descr. Feature safe: yes --- multimedia/xbmc-pvr/Makefile | 22 ++++++++--- multimedia/xbmc-pvr/distinfo | 4 +- multimedia/xbmc-pvr/files/patch-configure.in | 18 +++++---- .../files/patch-lib-platform-posix-os-types.h | 11 ++++++ .../patch-lib__cpluff__libcpluff__cpluff.c | 18 +++++++++ .../patch-lib__cpluff__libcpluff__logging.c | 26 +++++++++++++ .../patch-lib__cpluff__libcpluff__pinfo.c | 26 +++++++++++++ .../patch-lib__cpluff__libcpluff__psymbol.c | 26 +++++++++++++ multimedia/xbmc-pvr/files/patch-libdl-freebsd | 23 ++++++++--- .../files/patch-xbmc-pvr-PVRManager.h | 11 ++++++ ...patch-xbmc-pvrclients-tvheadend-thread.cpp | 38 ------------------- .../patch-xbmc-pvrclients-tvheadend-thread.h | 23 ----------- .../patch-xbmc-pvrclients-vdr-vnsi-thread.cpp | 38 ------------------- .../patch-xbmc-pvrclients-vdr-vnsi-thread.h | 23 ----------- ...screensavers-rsxs-0.9-lib-argp-fmtstream.h | 11 ++++++ ...xbmc-screensavers-rsxs-0.9-lib-argp-help.c | 12 ++++++ multimedia/xbmc-pvr/pkg-descr | 13 +++++-- multimedia/xbmc-pvr/pkg-plist | 17 ++++++++- 18 files changed, 211 insertions(+), 149 deletions(-) create mode 100644 multimedia/xbmc-pvr/files/patch-lib-platform-posix-os-types.h create mode 100644 multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__cpluff.c create mode 100644 multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__logging.c create mode 100644 multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__pinfo.c create mode 100644 multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__psymbol.c create mode 100644 multimedia/xbmc-pvr/files/patch-xbmc-pvr-PVRManager.h delete mode 100644 multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-tvheadend-thread.cpp delete mode 100644 multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-tvheadend-thread.h delete mode 100644 multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-vdr-vnsi-thread.cpp delete mode 100644 multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-vdr-vnsi-thread.h create mode 100644 multimedia/xbmc-pvr/files/patch-xbmc-screensavers-rsxs-0.9-lib-argp-fmtstream.h create mode 100644 multimedia/xbmc-pvr/files/patch-xbmc-screensavers-rsxs-0.9-lib-argp-help.c diff --git a/multimedia/xbmc-pvr/Makefile b/multimedia/xbmc-pvr/Makefile index baa426600149..8caa61798f6c 100644 --- a/multimedia/xbmc-pvr/Makefile +++ b/multimedia/xbmc-pvr/Makefile @@ -6,12 +6,11 @@ # PORTNAME= xbmc -PORTVERSION= 65 -PORTREVISION= 4 +PORTVERSION= 70 CATEGORIES= multimedia MASTER_SITES= LOCAL/nox PKGNAMESUFFIX= -pvr-ppa-odk -DISTNAME= opdenkamp-${PORTNAME}-Eden-pvr_beta2-0-g${GITHASH} +DISTNAME= opdenkamp-${PORTNAME}${PKGNAMESUFFIX}${PORTVERSION}-0-g${GITHASH} MAINTAINER= nox@FreeBSD.org COMMENT= XBMC is an award winning media center application - PVR branch @@ -55,7 +54,8 @@ LIB_DEPENDS= asound.2:${PORTSDIR}/audio/alsa-lib \ ass.5:${PORTSDIR}/multimedia/libass \ wavpack.2:${PORTSDIR}/audio/wavpack \ yajl:${PORTSDIR}/devel/yajl \ - plist:${PORTSDIR}/devel/libplist + plist:${PORTSDIR}/devel/libplist \ + iconv:${PORTSDIR}/converters/libiconv RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins \ ${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \ @@ -63,14 +63,14 @@ RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/a ${PYTHON_SITELIBDIR}/PIL/__init__.py:${PORTSDIR}/graphics/py-imaging \ xdpyinfo:${PORTSDIR}/x11/xdpyinfo -GITHASH= cbe2cf3 +GITHASH= 9023e39 WRKSRC= ${WRKDIR}/opdenkamp-${PORTNAME}-${GITHASH} FETCH_ARGS= -Fpr USE_GMAKE= yes USE_GNOME= pkgconfig USE_AUTOTOOLS= autoconf libtool automake libltdl GNU_CONFIGURE= yes -USE_XORG= xinerama xt xmu xrandr xtst +USE_XORG= xinerama xt xmu xtst USE_GL= glu USE_SDL= image mixer sdl USE_MYSQL= yes @@ -97,6 +97,7 @@ OPTIONS= AVAHI "Enable Avahi support" on \ RTMP "RTMP support via librtmp" off \ VAAPI "Enable VAAPI support" off \ VDPAU "Enable VDPAU support" off \ + XRANDR "Enable xrandr support" on \ WEBSERVER "Build Internal Webserver" off DESKTOP_ENTRIES="XBMC" \ @@ -209,6 +210,15 @@ CONFIGURE_ARGS+= --disable-webserver PLIST_SUB+= HTTPD="@comment " .endif +.if defined(WITH_XRANDR) +CONFIGURE_ARGS+= --enable-xrandr +USE_XORG+= xrandr +PLIST_SUB+= XRANDR="" +.else +CONFIGURE_ARGS+= --disable-xrandr +PLIST_SUB+= XRANDR="@comment " +.endif + post-patch: @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/configure.in \ diff --git a/multimedia/xbmc-pvr/distinfo b/multimedia/xbmc-pvr/distinfo index c713f1f42a06..db697d65e495 100644 --- a/multimedia/xbmc-pvr/distinfo +++ b/multimedia/xbmc-pvr/distinfo @@ -1,2 +1,2 @@ -SHA256 (opdenkamp-xbmc-Eden-pvr_beta2-0-gcbe2cf3.tar.gz) = a165b491092b25be7f8d989cc7c4974a8b01f72ed2a10d529f58710673583261 -SIZE (opdenkamp-xbmc-Eden-pvr_beta2-0-gcbe2cf3.tar.gz) = 57981055 +SHA256 (opdenkamp-xbmc-pvr-ppa-odk70-0-g9023e39.tar.gz) = fc0bd23fcc938c4e11934e216af4cb659b2557ddf4888f96878f9e72407c7889 +SIZE (opdenkamp-xbmc-pvr-ppa-odk70-0-g9023e39.tar.gz) = 61713939 diff --git a/multimedia/xbmc-pvr/files/patch-configure.in b/multimedia/xbmc-pvr/files/patch-configure.in index d6268eb37958..29246ada475d 100644 --- a/multimedia/xbmc-pvr/files/patch-configure.in +++ b/multimedia/xbmc-pvr/files/patch-configure.in @@ -9,7 +9,7 @@ if [[ ! -z $$1_FILENAME ]]; then $1_SONAME=$(objdump -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}') fi -@@ -377,6 +377,12 @@ AC_ARG_ENABLE([texturepacker], +@@ -385,6 +385,12 @@ AC_ARG_ENABLE([texturepacker], [use_texturepacker=$enableval], [use_texturepacker=auto]) @@ -22,7 +22,7 @@ AC_ARG_WITH([lirc-device], [AS_HELP_STRING([--with-lirc-device=file], [specify the default LIRC device (default is /dev/lircd)])], -@@ -445,6 +451,20 @@ case $host in +@@ -453,6 +459,20 @@ case $host in ARCH="x86_64-linux" AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX") ;; @@ -42,8 +42,8 @@ + ;; arm-apple-darwin*) use_joystick=no - use_crystalhd=no -@@ -622,6 +642,8 @@ INCLUDES="$INCLUDES -I\$(abs_top_srcdir) + use_neon=yes +@@ -636,6 +656,8 @@ INCLUDES="$INCLUDES -I\$(abs_top_srcdir) # Check inotify availability AC_CHECK_HEADER([sys/inotify.h], AC_DEFINE([HAVE_INOTIFY],[1],[Define if we have inotify]),) @@ -52,7 +52,7 @@ # Checks for boost headers using CXX instead of CC AC_LANG_PUSH([C++]) AC_CHECK_HEADER([boost/shared_ptr.hpp],, AC_MSG_ERROR($missing_library)) -@@ -774,6 +796,29 @@ AS_CASE([x$use_libbluray], +@@ -800,6 +822,29 @@ AS_CASE([x$use_libbluray], ] ) @@ -82,18 +82,20 @@ # platform dependent libraries if test "$host_vendor" = "apple" ; then AC_CHECK_LIB([iconv], [main],, AC_MSG_ERROR($missing_library)) -@@ -783,8 +828,10 @@ if test "$host_vendor" = "apple" ; then +@@ -809,8 +854,12 @@ if test "$host_vendor" = "apple" ; then AC_DEFINE([HAVE_SDL],[1],["Define to 1 if using sdl"]) fi else + if echo "$ARCH" | grep -vq freebsd; then AC_CHECK_LIB([dl], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([resolv], [main],, AC_MSG_ERROR($missing_library)) ++ else ++ AC_CHECK_LIB([iconv], [main],, AC_MSG_ERROR($missing_library)) + fi AC_CHECK_LIB([jasper], [main],, AC_MSG_ERROR($missing_library)) # check for cximage AC_CHECK_LIB([rt], [clock_gettime],, AC_MSG_ERROR($missing_library)) -@@ -1634,6 +1681,12 @@ else +@@ -1662,6 +1711,12 @@ else USE_TEXTUREPACKER=0 fi @@ -106,7 +108,7 @@ if test "$use_mid" = "yes"; then final_message="$final_message\n MID Support:\tYes" SDL_DEFINES="$SDL_DEFINES -DMID" -@@ -1837,7 +1890,6 @@ OUTPUT_FILES="Makefile \ +@@ -1865,7 +1920,6 @@ OUTPUT_FILES="Makefile \ lib/nosefart/Makefile \ lib/libsidplay2/Makefile \ lib/vgmstream/Makefile \ diff --git a/multimedia/xbmc-pvr/files/patch-lib-platform-posix-os-types.h b/multimedia/xbmc-pvr/files/patch-lib-platform-posix-os-types.h new file mode 100644 index 000000000000..0e48419d6469 --- /dev/null +++ b/multimedia/xbmc-pvr/files/patch-lib-platform-posix-os-types.h @@ -0,0 +1,11 @@ +--- lib/platform/posix/os-types.h.orig ++++ lib/platform/posix/os-types.h +@@ -35,7 +35,7 @@ + #include + #include + #include +-#ifndef __APPLE__ ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include + #endif + #include diff --git a/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__cpluff.c b/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__cpluff.c new file mode 100644 index 000000000000..88c4dcc8d617 --- /dev/null +++ b/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__cpluff.c @@ -0,0 +1,18 @@ +--- ./lib/cpluff/libcpluff/cpluff.c.orig 2011-12-23 04:12:21.000000000 +0100 ++++ ./lib/cpluff/libcpluff/cpluff.c 2012-01-02 10:14:38.000000000 +0100 +@@ -77,6 +77,7 @@ + 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 @@ + framework_locked--; + #endif + } ++#endif + + static void reset(void) { + #ifdef CP_THREADS diff --git a/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__logging.c b/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__logging.c new file mode 100644 index 000000000000..86fa1c9d3f7f --- /dev/null +++ b/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__logging.c @@ -0,0 +1,26 @@ +--- ./lib/cpluff/libcpluff/logging.c.orig 2011-12-23 04:12:21.000000000 +0100 ++++ ./lib/cpluff/libcpluff/logging.c 2012-01-02 10:14:38.000000000 +0100 +@@ -130,9 +130,11 @@ + if (status == CP_ERR_RESOURCE) { + cpi_error(context, N_("Logger could not be registered due to insufficient memory.")); + } else if (cpi_is_logged(context, CP_LOG_DEBUG)) { ++#ifndef __clang__ + 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); + +@@ -167,9 +169,11 @@ + update_logging_limits(context); + } + if (cpi_is_logged(context, CP_LOG_DEBUG)) { ++#ifndef __clang__ + 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 a/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__pinfo.c b/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__pinfo.c new file mode 100644 index 000000000000..c72f8476e86b --- /dev/null +++ b/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__pinfo.c @@ -0,0 +1,26 @@ +--- ./lib/cpluff/libcpluff/pinfo.c.orig 2011-12-23 04:12:21.000000000 +0100 ++++ ./lib/cpluff/libcpluff/pinfo.c 2012-01-02 10:14:38.000000000 +0100 +@@ -570,9 +570,11 @@ + if (status != CP_OK) { + cpi_error(context, _("A plug-in listener could not be registered due to insufficient memory.")); + } else if (cpi_is_logged(context, CP_LOG_DEBUG)) { ++#ifndef __clang__ + 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); + +@@ -592,9 +594,11 @@ + process_unregister_plistener(context->env->plugin_listeners, node, NULL); + } + if (cpi_is_logged(context, CP_LOG_DEBUG)) { ++#ifndef __clang__ + 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 a/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__psymbol.c b/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__psymbol.c new file mode 100644 index 000000000000..7fc56663c11e --- /dev/null +++ b/multimedia/xbmc-pvr/files/patch-lib__cpluff__libcpluff__psymbol.c @@ -0,0 +1,26 @@ +--- ./lib/cpluff/libcpluff/psymbol.c.orig 2011-12-23 04:12:21.000000000 +0100 ++++ ./lib/cpluff/libcpluff/psymbol.c 2012-01-02 10:14:38.000000000 +0100 +@@ -249,9 +249,11 @@ + provider_info->usage_count++; + + if (cpi_is_logged(context, CP_LOG_DEBUG)) { ++#ifndef __clang__ + 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); + +@@ -315,9 +317,11 @@ + hash_delete_free(context->resolved_symbols, node); + free(symbol_info); + if (cpi_is_logged(context, CP_LOG_DEBUG)) { ++#ifndef __clang__ + 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 + } + } + diff --git a/multimedia/xbmc-pvr/files/patch-libdl-freebsd b/multimedia/xbmc-pvr/files/patch-libdl-freebsd index e983e0a8e96d..8bfd9e037a1e 100644 --- a/multimedia/xbmc-pvr/files/patch-libdl-freebsd +++ b/multimedia/xbmc-pvr/files/patch-libdl-freebsd @@ -21,12 +21,12 @@ --- xbmc/pvrclients/tvheadend/Makefile.in.orig +++ xbmc/pvrclients/tvheadend/Makefile.in -@@ -6,7 +6,7 @@ +@@ -5,7 +5,7 @@ + # how to reach the author. # - LIBS = @abs_top_srcdir@/lib/libTcpSocket/libTcpSocket.a \ -- @abs_top_srcdir@/lib/libhts/libhts.a -ldl -+ @abs_top_srcdir@/lib/libhts/libhts.a +-LIBS = @abs_top_srcdir@/lib/libhts/libhts.a -ldl ++LIBS = @abs_top_srcdir@/lib/libhts/libhts.a LIBDIR = @abs_top_srcdir@/addons/pvr.hts LIB = @abs_top_srcdir@/addons/pvr.hts/XBMC_Tvheadend.pvr @@ -36,8 +36,19 @@ # how to reach the author. # --LIBS = @abs_top_srcdir@/lib/libTcpSocket/libTcpSocket.a -ldl -lpthread -+LIBS = @abs_top_srcdir@/lib/libTcpSocket/libTcpSocket.a -lpthread +-LIBS = -ldl ++#LIBS = -ldl LIBDIR = @abs_top_srcdir@/addons/pvr.vdr.vnsi LIB = @abs_top_srcdir@/addons/pvr.vdr.vnsi/XBMC_VDR_vnsi.pvr +--- xbmc/pvrclients/pvr-demo/Makefile.in.orig ++++ xbmc/pvrclients/pvr-demo/Makefile.in +@@ -5,7 +5,7 @@ + # how to reach the author. + # + +-LIBS = @abs_top_srcdir@/lib/tinyXML/tinyxml.a -ldl ++LIBS = @abs_top_srcdir@/lib/tinyXML/tinyxml.a + LIBDIR = @abs_top_srcdir@/addons/pvr.demo + LIB = @abs_top_srcdir@/addons/pvr.demo/XBMC_demo.pvr + diff --git a/multimedia/xbmc-pvr/files/patch-xbmc-pvr-PVRManager.h b/multimedia/xbmc-pvr/files/patch-xbmc-pvr-PVRManager.h new file mode 100644 index 000000000000..a88442c5fc8f --- /dev/null +++ b/multimedia/xbmc-pvr/files/patch-xbmc-pvr-PVRManager.h @@ -0,0 +1,11 @@ +--- xbmc/pvr/PVRManager.h.orig ++++ xbmc/pvr/PVRManager.h +@@ -532,7 +532,7 @@ namespace PVR + int m_LastChannel; + unsigned int m_LastChannelChanged; + +- ManagerState m_managerState; ++ long m_managerState; + }; + + class CPVRRecordingsUpdateJob : public CJob diff --git a/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-tvheadend-thread.cpp b/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-tvheadend-thread.cpp deleted file mode 100644 index d92a000eb95d..000000000000 --- a/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-tvheadend-thread.cpp +++ /dev/null @@ -1,38 +0,0 @@ ---- xbmc/pvrclients/tvheadend/thread.cpp.orig -+++ xbmc/pvrclients/tvheadend/thread.cpp -@@ -25,10 +25,14 @@ - - #include "thread.h" - #include --#ifndef __APPLE__ -+#if !defined(__APPLE__) && !defined(__FreeBSD__) - #include - #endif - -+#if defined(__FreeBSD__) -+#include -+#endif -+ - #if !defined(__WINDOWS__) - #include - #endif -@@ -164,7 +168,7 @@ cMutex::cMutex(void) - locked = 0; - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); --#ifndef __APPLE__ -+#if !defined(__APPLE__) && !defined(__FreeBSD__) - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP); - #else - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); -@@ -342,8 +346,8 @@ void cThread::Cancel(int WaitSeconds) - - tThreadId cThread::ThreadId(void) - { --#ifdef __APPLE__ -- return (int)pthread_self(); -+#if defined(__APPLE__) || defined(__FreeBSD__) -+ return (tThreadId)pthread_self(); - #else - #ifdef __WINDOWS__ - return GetCurrentThreadId(); diff --git a/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-tvheadend-thread.h b/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-tvheadend-thread.h deleted file mode 100644 index 67aee89d1235..000000000000 --- a/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-tvheadend-thread.h +++ /dev/null @@ -1,23 +0,0 @@ ---- xbmc/pvrclients/tvheadend/thread.h.orig -+++ xbmc/pvrclients/tvheadend/thread.h -@@ -76,7 +76,11 @@ public: - void Unlock(void); - }; - -+#ifdef __FreeBSD__ -+typedef pthread_t tThreadId; -+#else - typedef pid_t tThreadId; -+#endif - - class cThread { - friend class cThreadLock; -@@ -127,7 +131,7 @@ public: - bool Active(void); - ///< Checks whether the thread is still alive. - static tThreadId ThreadId(void); -- static tThreadId IsMainThread(void) { return ThreadId() == mainThreadId; } -+ static int IsMainThread(void) { return ThreadId() == mainThreadId; } - static void SetMainThreadId(void); - }; - diff --git a/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-vdr-vnsi-thread.cpp b/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-vdr-vnsi-thread.cpp deleted file mode 100644 index 4145da7e3b18..000000000000 --- a/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-vdr-vnsi-thread.cpp +++ /dev/null @@ -1,38 +0,0 @@ ---- xbmc/pvrclients/vdr-vnsi/thread.cpp.orig -+++ xbmc/pvrclients/vdr-vnsi/thread.cpp -@@ -28,10 +28,14 @@ - #include "thread.h" - #include "client.h" - --#ifndef __APPLE__ -+#if !defined(__APPLE__) && !defined(__FreeBSD__) - #include - #endif - -+#if defined(__FreeBSD__) -+#include -+#endif -+ - #if !defined(__WINDOWS__) - #include - #endif -@@ -162,7 +166,7 @@ cMutex::cMutex(void) - locked = 0; - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); --#ifndef __APPLE__ -+#if !defined(__APPLE__) && !defined(__FreeBSD__) - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP); - #else - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); -@@ -348,8 +352,8 @@ void cThread::Cancel(int WaitSeconds) - - tThreadId cThread::ThreadId(void) - { --#ifdef __APPLE__ -- return (int)pthread_self(); -+#if defined(__APPLE__) || defined(__FreeBSD__) -+ return (tThreadId)pthread_self(); - #else - #ifdef __WINDOWS__ - return GetCurrentThreadId(); diff --git a/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-vdr-vnsi-thread.h b/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-vdr-vnsi-thread.h deleted file mode 100644 index a7dd2dc4af8a..000000000000 --- a/multimedia/xbmc-pvr/files/patch-xbmc-pvrclients-vdr-vnsi-thread.h +++ /dev/null @@ -1,23 +0,0 @@ ---- xbmc/pvrclients/vdr-vnsi/thread.h.orig -+++ xbmc/pvrclients/vdr-vnsi/thread.h -@@ -76,7 +76,11 @@ public: - void Unlock(void); - }; - -+#ifdef __FreeBSD__ -+typedef pthread_t tThreadId; -+#else - typedef pid_t tThreadId; -+#endif - - class cThread { - friend class cThreadLock; -@@ -123,7 +127,7 @@ public: - bool Active(void); - ///< Checks whether the thread is still alive. - static tThreadId ThreadId(void); -- static tThreadId IsMainThread(void) { return ThreadId() == mainThreadId; } -+ static int IsMainThread(void) { return ThreadId() == mainThreadId; } - static void SetMainThreadId(void); - }; - diff --git a/multimedia/xbmc-pvr/files/patch-xbmc-screensavers-rsxs-0.9-lib-argp-fmtstream.h b/multimedia/xbmc-pvr/files/patch-xbmc-screensavers-rsxs-0.9-lib-argp-fmtstream.h new file mode 100644 index 000000000000..ee23184df417 --- /dev/null +++ b/multimedia/xbmc-pvr/files/patch-xbmc-screensavers-rsxs-0.9-lib-argp-fmtstream.h @@ -0,0 +1,11 @@ +--- xbmc/screensavers/rsxs-0.9/lib/argp-fmtstream.h.orig ++++ xbmc/screensavers/rsxs-0.9/lib/argp-fmtstream.h +@@ -182,7 +182,7 @@ extern void __argp_fmtstream_update (arg + extern int _argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount); + extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount); + +-#ifdef __OPTIMIZE__ ++#if defined(__OPTIMIZE__) && (!defined(__clang__) || defined(ARGP_FS_EI)) + /* Inline versions of above routines. */ + + #if !_LIBC diff --git a/multimedia/xbmc-pvr/files/patch-xbmc-screensavers-rsxs-0.9-lib-argp-help.c b/multimedia/xbmc-pvr/files/patch-xbmc-screensavers-rsxs-0.9-lib-argp-help.c new file mode 100644 index 000000000000..90b9db633853 --- /dev/null +++ b/multimedia/xbmc-pvr/files/patch-xbmc-screensavers-rsxs-0.9-lib-argp-help.c @@ -0,0 +1,12 @@ +--- xbmc/screensavers/rsxs-0.9/lib/argp-help.c.orig ++++ xbmc/screensavers/rsxs-0.9/lib/argp-help.c +@@ -48,6 +48,9 @@ + #endif + + #include "argp.h" ++#ifdef __clang__ // XXX ++#define ARGP_FS_EI ++#endif + #include "argp-fmtstream.h" + #include "argp-namefrob.h" + diff --git a/multimedia/xbmc-pvr/pkg-descr b/multimedia/xbmc-pvr/pkg-descr index 2d1e487c796c..24314e4e7116 100644 --- a/multimedia/xbmc-pvr/pkg-descr +++ b/multimedia/xbmc-pvr/pkg-descr @@ -2,11 +2,16 @@ XBMC Media Center (formerly named "XBox Media Center") is a free and open source cross-platform media-player and entertainment hub. -This is a tagged release of the XBMC pvr-ppa-odk branch that adds -PVR functionality using tvheadend (not ported to FreeBSD yet but -can be used over the network), MythTV (currently broken), or VDR -(via external plugins), and is located at: +This is a tagged release of the XBMC pvr-ppa-odk branch that +adds PVR functionality using tvheadend (not ported to FreeBSD +yet but can be used over the network), MythTV (currently broken), +or VDR (via external plugins multimedia/xbmc-addon-xvdr and +multimedia/vdr-plugin-xvdr), and is located at: https://github.com/opdenkamp/xbmc +See also: + +http://wiki.freebsd.org/VDR + WWW: http://xbmc.org/ diff --git a/multimedia/xbmc-pvr/pkg-plist b/multimedia/xbmc-pvr/pkg-plist index 7891f85c66e7..8a3ec040709b 100644 --- a/multimedia/xbmc-pvr/pkg-plist +++ b/multimedia/xbmc-pvr/pkg-plist @@ -6,6 +6,7 @@ lib/xbmc/addons/library.xbmc.pvr/libXBMC_pvr-%%ARCH%%-freebsd.so lib/xbmc/addons/library.xbmc.addon/libXBMC_addon-%%ARCH%%-linux.so lib/xbmc/addons/library.xbmc.gui/libXBMC_gui-%%ARCH%%-linux.so lib/xbmc/addons/library.xbmc.pvr/libXBMC_pvr-%%ARCH%%-linux.so +lib/xbmc/addons/pvr.demo/XBMC_demo.pvr lib/xbmc/addons/pvr.hts/XBMC_Tvheadend.pvr lib/xbmc/addons/pvr.mythtv/XBMC_Mythtv.pvr lib/xbmc/addons/pvr.team-mediaportal.tvserver/XBMC_MPTV.pvr @@ -30,7 +31,7 @@ lib/xbmc/system/players/paplayer/nosefart-%%ARCH%%-freebsd.so lib/xbmc/system/players/paplayer/stsoundlibrary-%%ARCH%%-freebsd.so lib/xbmc/system/players/paplayer/timidity-%%ARCH%%-freebsd.so lib/xbmc/system/players/paplayer/vgmstream-%%ARCH%%-freebsd.so -lib/xbmc/xbmc-xrandr +%%XRANDR%%lib/xbmc/xbmc-xrandr lib/xbmc/xbmc.bin %%DOCSDIR%%/LICENSE.GPL %%DOCSDIR%%/README.linux @@ -143,6 +144,7 @@ share/icons/hicolor/48x48/apps/xbmc.png %%DATADIR%%/addons/metadata.yahoomusic.com/resources/language/Swedish/strings.xml %%DATADIR%%/addons/metadata.yahoomusic.com/resources/settings.xml %%DATADIR%%/addons/metadata.yahoomusic.com/yahoomusic.xml +%%DATADIR%%/addons/pvr.demo/addon.xml %%DATADIR%%/addons/pvr.hts/addon.xml %%DATADIR%%/addons/pvr.hts/icon.png %%DATADIR%%/addons/pvr.hts/resources/language/Dutch/strings.xml @@ -355,6 +357,7 @@ share/icons/hicolor/48x48/apps/xbmc.png %%DATADIR%%/addons/skin.confluence/fonts/DejaVuSans.ttf %%DATADIR%%/addons/skin.confluence/icon.png %%DATADIR%%/addons/skin.confluence/language/Afrikaans/strings.xml +%%DATADIR%%/addons/skin.confluence/language/Arabic/strings.xml %%DATADIR%%/addons/skin.confluence/language/Bulgarian/strings.xml %%DATADIR%%/addons/skin.confluence/language/Catalan/strings.xml %%DATADIR%%/addons/skin.confluence/language/Chinese (Simple)/strings.xml @@ -667,6 +670,7 @@ share/icons/hicolor/48x48/apps/xbmc.png %%DATADIR%%/addons/skin.confluence/media/flagging/audio/ogg.png %%DATADIR%%/addons/skin.confluence/media/flagging/audio/pcm_bluray.png %%DATADIR%%/addons/skin.confluence/media/flagging/audio/truehd.png +%%DATADIR%%/addons/skin.confluence/media/flagging/audio/vorbis.png %%DATADIR%%/addons/skin.confluence/media/flagging/audio/wav.png %%DATADIR%%/addons/skin.confluence/media/flagging/audio/wavpack.png %%DATADIR%%/addons/skin.confluence/media/flagging/audio/wma.png @@ -841,6 +845,8 @@ share/icons/hicolor/48x48/apps/xbmc.png %%DATADIR%%/addons/weather.wunderground/changelog.txt %%DATADIR%%/addons/weather.wunderground/default.py %%DATADIR%%/addons/weather.wunderground/icon.png +%%DATADIR%%/addons/weather.wunderground/resources/language/Chinese (Simple)/strings.xml +%%DATADIR%%/addons/weather.wunderground/resources/language/Dutch/strings.xml %%DATADIR%%/addons/weather.wunderground/resources/language/English/strings.xml %%DATADIR%%/addons/weather.wunderground/resources/language/Finnish/strings.xml %%DATADIR%%/addons/weather.wunderground/resources/language/German/strings.xml @@ -880,6 +886,8 @@ share/icons/hicolor/48x48/apps/xbmc.png %%DATADIR%%/addons/xbmc.python/script.xsd %%DATADIR%%/language/Afrikaans/langinfo.xml %%DATADIR%%/language/Afrikaans/strings.xml +%%DATADIR%%/language/Arabic/langinfo.xml +%%DATADIR%%/language/Arabic/strings.xml %%DATADIR%%/language/Basque/langinfo.xml %%DATADIR%%/language/Basque/strings.xml %%DATADIR%%/language/Bosnian/langinfo.xml @@ -978,6 +986,7 @@ share/icons/hicolor/48x48/apps/xbmc.png %%DATADIR%%/sounds/Bursting Bubbles/sounds.xml %%DATADIR%%/system/IRSSmap.xml %%DATADIR%%/system/Lircmap.xml +%%DATADIR%%/system/PVRDemoAddonSettings.xml %%DATADIR%%/system/X10-Lola-IRSSmap.xml %%DATADIR%%/system/asound.conf %%DATADIR%%/system/colors.xml @@ -1100,6 +1109,7 @@ share/xsessions/XBMC.desktop @dirrm lib/xbmc/addons/pvr.team-mediaportal.tvserver @dirrm lib/xbmc/addons/pvr.mythtv @dirrm lib/xbmc/addons/pvr.hts +@dirrm lib/xbmc/addons/pvr.demo @dirrm lib/xbmc/addons/library.xbmc.pvr @dirrm lib/xbmc/addons/library.xbmc.gui @dirrm lib/xbmc/addons/library.xbmc.addon @@ -1167,6 +1177,7 @@ share/xsessions/XBMC.desktop @dirrm %%DATADIR%%/language/Bulgarian @dirrm %%DATADIR%%/language/Bosnian @dirrm %%DATADIR%%/language/Basque +@dirrm %%DATADIR%%/language/Arabic @dirrm %%DATADIR%%/language/Afrikaans @dirrm %%DATADIR%%/language @dirrm %%DATADIR%%/addons/xbmc.python @@ -1184,6 +1195,8 @@ share/xsessions/XBMC.desktop @dirrm %%DATADIR%%/addons/weather.wunderground/resources/language/German @dirrm %%DATADIR%%/addons/weather.wunderground/resources/language/Finnish @dirrm %%DATADIR%%/addons/weather.wunderground/resources/language/English +@dirrm %%DATADIR%%/addons/weather.wunderground/resources/language/Dutch +@dirrm %%DATADIR%%/addons/weather.wunderground/resources/language/Chinese (Simple) @dirrm %%DATADIR%%/addons/weather.wunderground/resources/language @dirrm %%DATADIR%%/addons/weather.wunderground/resources @dirrm %%DATADIR%%/addons/weather.wunderground @@ -1304,6 +1317,7 @@ share/xsessions/XBMC.desktop @dirrm %%DATADIR%%/addons/skin.confluence/language/Chinese (Simple) @dirrm %%DATADIR%%/addons/skin.confluence/language/Catalan @dirrm %%DATADIR%%/addons/skin.confluence/language/Bulgarian +@dirrm %%DATADIR%%/addons/skin.confluence/language/Arabic @dirrm %%DATADIR%%/addons/skin.confluence/language/Afrikaans @dirrm %%DATADIR%%/addons/skin.confluence/language @dirrm %%DATADIR%%/addons/skin.confluence/fonts @@ -1388,6 +1402,7 @@ share/xsessions/XBMC.desktop @dirrm %%DATADIR%%/addons/pvr.hts/resources/language @dirrm %%DATADIR%%/addons/pvr.hts/resources @dirrm %%DATADIR%%/addons/pvr.hts +@dirrm %%DATADIR%%/addons/pvr.demo @dirrm %%DATADIR%%/addons/metadata.yahoomusic.com/resources/language/Swedish @dirrm %%DATADIR%%/addons/metadata.yahoomusic.com/resources/language/Portuguese @dirrm %%DATADIR%%/addons/metadata.yahoomusic.com/resources/language/Polish