From 08f42061af64774c92b82b10b237fc5a8fc3a487 Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Sat, 8 Aug 2015 03:17:38 +0000 Subject: plex-home-theater: rebuild for x264 --- abs/extra/plex-home-theater/PKGBUILD | 44 ++++---- .../plex-home-theater/plex-libcec-2.2.0.patch | 114 --------------------- abs/extra/plex-home-theater/plex-libcec.patch | 63 ++++++++++++ abs/extra/plex-home-theater/plex-lirc-socket.patch | 29 ------ 4 files changed, 86 insertions(+), 164 deletions(-) delete mode 100644 abs/extra/plex-home-theater/plex-libcec-2.2.0.patch create mode 100644 abs/extra/plex-home-theater/plex-libcec.patch delete mode 100644 abs/extra/plex-home-theater/plex-lirc-socket.patch diff --git a/abs/extra/plex-home-theater/PKGBUILD b/abs/extra/plex-home-theater/PKGBUILD index 906e49d..6de7cb1 100755 --- a/abs/extra/plex-home-theater/PKGBUILD +++ b/abs/extra/plex-home-theater/PKGBUILD @@ -3,57 +3,59 @@ # Contributor: Daniel Wallace pkgname=plex-home-theater -_pkgver=1.4.1.469-47a90f01 -pkgver=${_pkgver%-*} -pkgrel=1 +pkgver=1.4.1.469 +_pkghash=47a90f01 +pkgrel=2 pkgdesc='Plex Home Theater' arch=('i686' 'x86_64') url='http://www.plexapp.com/' license=('GPL2') +install="${pkgname}.install" depends=('boost-libs' 'curl' 'ffmpeg-compat' 'glew' 'libcdio' 'libmad' 'libmicrohttpd' 'libmpeg2' 'libsamplerate' 'libssh' 'libusb-compat' 'libvdpau' 'libxrandr' 'lzo' 'sdl_image' 'sdl_mixer' 'smbclient' 'taglib' 'tinyxml' 'yajl') -makedepends=('boost' 'cmake' 'doxygen' 'java-environment' 'libcec' +makedepends=('boost' 'cmake' 'doxygen' 'git' 'java-environment' 'libcec' 'libplist' 'libshairport' 'nasm' 'swig' 'unzip' 'zip') optdepends=('libplist: AirPlay support' 'libshairport: AirPlay support' 'libcec: Pulse-Eight USB-CEC adapter support') -install="${pkgname}.install" -source=("https://github.com/plexinc/plex-home-theater-public/archive/v${_pkgver}.tar.gz" +source=("https://github.com/plexinc/plex-home-theater-public/archive/v${pkgver}-${_pkghash}.tar.gz" 'plex-ffmpeg-compat.patch' - 'plex-libcec-2.2.0.patch' - 'plex-lirc-socket.patch' + 'plex-libcec.patch' 'plex_lib.conf' 'plexhometheater.sh') prepare() { - cd plex-home-theater-public-${_pkgver} + cd plex-home-theater-public-${pkgver}-${_pkghash} - patch -Np1 -i ../plex-libcec-2.2.0.patch - patch -Np1 -i ../plex-lirc-socket.patch + patch -Np1 -i ../plex-libcec.patch patch -Np1 -i ../plex-ffmpeg-compat.patch } build() { - cd plex-home-theater-public-${_pkgver} + cd plex-home-theater-public-${pkgver}-${_pkghash} if [[ -d build ]]; then rm -rf build fi mkdir build && cd build - cmake .. -DCMAKE_INSTALL_PREFIX='/usr' \ - -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \ - -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \ - -DENABLE_{AUTOUPDATE,DUMP_SYMBOLS}='FALSE' -DENABLE_PYTHON='TRUE' \ - -DPYTHON_EXEC='/usr/bin/python2' -DUSE_INTERNAL_FFMPEG='FALSE' \ - -DCREATE_BUNDLE='FALSE' + cmake .. \ + -DCMAKE_INSTALL_PREFIX='/usr' \ + -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \ + -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \ + -DCREATE_BUNDLE='FALSE' \ + -DDUMP_SYMBOLS='FALSE' \ + -DENABLE_AUTOUPDATE='FALSE' \ + -DENABLE_PYTHON='TRUE' \ + -DPYTHON_EXEC='/usr/bin/python2' \ + -DUSE_INTERNAL_FFMPEG='FALSE' make } package() { - cd plex-home-theater-public-${_pkgver}/build + cd plex-home-theater-public-${pkgver}-${_pkghash}/build make DESTDIR="${pkgdir}" install install -dm 755 "${pkgdir}"/usr/{lib/plexhometheater,share/{applications,pixmaps}} @@ -69,9 +71,9 @@ package() { install -D -m0744 ${srcdir}/plex_lib.conf ${pkgdir}/etc/gen_lib_xml.d/plex_lib.conf } +# vim: ts=2 sw=2 et: md5sums=('62456ec6266f769f2c873ed7132b26d3' '6704244166497db7fa6b3ddd43a0e53b' - '066484ad4949f96ddddaa8b1d4d709e1' - '09e67d694093eb6bd243fb9a4ddf5d70' + '0f753e1ebea13e5a2029a59b9db79877' 'c1eedd9f89ee727230833db9ef1e5d29' '4ceae60ed2f9e4304eda4f80d407e799') diff --git a/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch b/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch deleted file mode 100644 index 8c35296..0000000 --- a/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch +++ /dev/null @@ -1,114 +0,0 @@ -From e62cdd0c9ae9818c5c35c6b6b57ba8ff322ca052 Mon Sep 17 00:00:00 2001 -From: Maxime Gauduin -Date: Tue, 4 Nov 2014 17:07:10 +0100 -Subject: [PATCH] libCEC 2.2.0 fixes - ---- - project/BuildDependencies/scripts/0_package.list | 1 + - project/BuildDependencies/scripts/libcec_d.bat | 15 --------------- - project/BuildDependencies/scripts/libcec_d.txt | 2 +- - system/peripherals.xml | 2 +- - xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++ - xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 11 ++++++++--- - 6 files changed, 13 insertions(+), 20 deletions(-) - delete mode 100644 project/BuildDependencies/scripts/libcec_d.bat - -diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list -index d2a00aa..6f441f3 100644 ---- a/project/BuildDependencies/scripts/0_package.list -+++ b/project/BuildDependencies/scripts/0_package.list -@@ -11,4 +11,5 @@ libnfs-1.6.0-win32 - libshairplay-d689c6-win32 - libjpeg-turbo-1.2.0-win32 - libbluray-0.2.3-win32 -+libcec-2.2.0-win32-1 - taglib-1.8beta-win32 -diff --git a/project/BuildDependencies/scripts/libcec_d.bat b/project/BuildDependencies/scripts/libcec_d.bat -deleted file mode 100644 -index 0b41b8a..0000000 ---- a/project/BuildDependencies/scripts/libcec_d.bat -+++ /dev/null -@@ -1,15 +0,0 @@ --@ECHO OFF -- --SET LOC_PATH=%CD% --SET FILES=%LOC_PATH%\libcec_d.txt -- --CALL dlextract.bat libcec %FILES% -- --cd %TMP_PATH% -- --mkdir "%CUR_PATH%\include\libcec" --xcopy libcec\include\* "%CUR_PATH%\include\libcec\." /E /Q /I /Y -- --copy libcec\libcec.dll "%XBMC_PATH%\system\." -- --cd %LOC_PATH% -diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt -index 065ce3a..3d0265e 100644 ---- a/project/BuildDependencies/scripts/libcec_d.txt -+++ b/project/BuildDependencies/scripts/libcec_d.txt -@@ -1,3 +1,3 @@ - ; filename source of the file - --libcec-2.1.1.zip http://mirrors.xbmc.org/build-deps/win32/ -+libcec-2.2.0-win32.zip http://mirrors.xbmc.org/build-deps/win32/ -diff --git a/system/peripherals.xml b/system/peripherals.xml -index 68205df..ea0bb17 100644 ---- a/system/peripherals.xml -+++ b/system/peripherals.xml -@@ -28,7 +28,7 @@ - - - -- -+ - - - -diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp -index da169c1..f3c8149 100644 ---- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp -+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp -@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results) - break; - case ADAPTERTYPE_RPI: - result.m_mappedBusType = PERIPHERAL_BUS_RPI; -+ // the Pi's adapter cannot be removed, no need to rescan -+ m_bNeedsPolling = false; - break; - default: - break; -diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -index 056a77e..9823427 100644 ---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -@@ -1302,8 +1302,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu - - void CPeripheralCecAdapter::SetConfigurationFromSettings(void) - { -- // use the same client version as libCEC version -- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT; -+ // client version matches the version of libCEC that we originally used the API from -+ m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0; - - // device name 'XBMC' - snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str()); -@@ -1378,8 +1378,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void) - m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0; - m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0; - -- // double tap prevention timeout in ms -+#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD) -+ // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50 -+ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50; -+#else -+ // backwards compatibility. will be removed once the next major release of libCEC is out - m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms"); -+#endif - } - - void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses) --- -2.1.3 - diff --git a/abs/extra/plex-home-theater/plex-libcec.patch b/abs/extra/plex-home-theater/plex-libcec.patch new file mode 100644 index 0000000..2087569 --- /dev/null +++ b/abs/extra/plex-home-theater/plex-libcec.patch @@ -0,0 +1,63 @@ +diff -rupN plex-home-theater-public-1.4.1.469-47a90f01.orig/system/peripherals.xml plex-home-theater-public-1.4.1.469-47a90f01/system/peripherals.xml +--- plex-home-theater-public-1.4.1.469-47a90f01.orig/system/peripherals.xml 2015-07-22 11:09:33.213307552 +0200 ++++ plex-home-theater-public-1.4.1.469-47a90f01/system/peripherals.xml 2015-07-22 11:09:47.349594239 +0200 +@@ -28,7 +28,7 @@ + + + +- ++ + + + +diff -rupN plex-home-theater-public-1.4.1.469-47a90f01.orig/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp plex-home-theater-public-1.4.1.469-47a90f01/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp +--- plex-home-theater-public-1.4.1.469-47a90f01.orig/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp 2015-07-22 11:09:32.826651274 +0200 ++++ plex-home-theater-public-1.4.1.469-47a90f01/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp 2015-07-22 11:09:47.349594239 +0200 +@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceSca + break; + case ADAPTERTYPE_RPI: + result.m_mappedBusType = PERIPHERAL_BUS_RPI; ++ // the Pi's adapter cannot be removed, no need to rescan ++ m_bNeedsPolling = false; + break; + default: + break; +diff -rupN plex-home-theater-public-1.4.1.469-47a90f01.orig/xbmc/peripherals/devices/PeripheralCecAdapter.cpp plex-home-theater-public-1.4.1.469-47a90f01/xbmc/peripherals/devices/PeripheralCecAdapter.cpp +--- plex-home-theater-public-1.4.1.469-47a90f01.orig/xbmc/peripherals/devices/PeripheralCecAdapter.cpp 2015-07-22 11:09:32.826651274 +0200 ++++ plex-home-theater-public-1.4.1.469-47a90f01/xbmc/peripherals/devices/PeripheralCecAdapter.cpp 2015-07-22 11:13:05.310907421 +0200 +@@ -282,7 +283,7 @@ bool CPeripheralCecAdapter::InitialiseFe + } + else + { +- CLog::Log(LOGDEBUG, "%s - using libCEC v%s", __FUNCTION__, m_cecAdapter->ToString((cec_server_version)m_configuration.serverVersion)); ++ CLog::Log(LOGDEBUG, "%s - using libCEC v%s", __FUNCTION__, m_cecAdapter->ToString((cec_version)m_configuration.serverVersion)); + SetVersionInfo(m_configuration); + } + +@@ -295,7 +296,7 @@ bool CPeripheralCecAdapter::InitialiseFe + + void CPeripheralCecAdapter::SetVersionInfo(const libcec_configuration &configuration) + { +- m_strVersionInfo.Format("libCEC %s - firmware v%d", m_cecAdapter->ToString((cec_server_version)configuration.serverVersion), configuration.iFirmwareVersion); ++ m_strVersionInfo.Format("libCEC %s - firmware v%d", m_cecAdapter->ToString((cec_version)configuration.serverVersion), configuration.iFirmwareVersion); + + // append firmware build date + if (configuration.iFirmwareBuildDate != CEC_FW_BUILD_UNKNOWN) +@@ -1303,7 +1304,7 @@ void CPeripheralCecAdapter::SetConfigura + void CPeripheralCecAdapter::SetConfigurationFromSettings(void) + { + // use the same client version as libCEC version +- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT; ++ m_configuration.clientVersion = LIBCEC_VERSION_CURRENT; + + // device name 'XBMC' + snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str()); +@@ -1379,7 +1380,7 @@ void CPeripheralCecAdapter::SetConfigura + m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0; + + // double tap prevention timeout in ms +- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms"); ++ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50; + } + + void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses) diff --git a/abs/extra/plex-home-theater/plex-lirc-socket.patch b/abs/extra/plex-home-theater/plex-lirc-socket.patch deleted file mode 100644 index 0a7ebf3..0000000 --- a/abs/extra/plex-home-theater/plex-lirc-socket.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c20e1deb62521acaca945fe6af780cdfb477610b Mon Sep 17 00:00:00 2001 -From: Maxime Gauduin -Date: Thu, 30 Oct 2014 09:43:48 +0100 -Subject: [PATCH] Fix lirc socket path - ---- - configure.in | 4 ++-- - plex/CMakeModules/PlatformConfigLINUX.cmake | 2 +- - plex/CMakeModules/PlatformConfigRPI.cmake | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.in b/configure.in -index 002245a..85ad398 100644 ---- a/configure.in -+++ b/configure.in -@@ -452,9 +452,9 @@ AC_ARG_ENABLE([texturepacker], - - AC_ARG_WITH([lirc-device], - [AS_HELP_STRING([--with-lirc-device=file], -- [specify the default LIRC device (default is /dev/lircd)])], -+ [specify the default LIRC device (default is /var/run/lirc/lircd)])], - [lirc_device=$withval], -- [lirc_device=/dev/lircd]) -+ [lirc_device=/var/run/lirc/lircd]) - AC_DEFINE_UNQUOTED([LIRC_DEVICE], ["$lirc_device"], [Default LIRC device]) - - AC_ARG_ENABLE([udev], -diff --git a/plex/CMakeModules/PlatformConfigLINUX.cmake b/plex/CMakeModules/PlatformConfigLINUX.cmake -index 078fafb..3afa5c1 100644 -- cgit v0.12