From 08f42061af64774c92b82b10b237fc5a8fc3a487 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
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 <daniel.wallace@gatech.edu>
 
 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 <alucryd@gmail.com>
-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 @@
-     <setting key="device_type" type="int" value="1" configurable="0" />
-     <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
-     <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
--    <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
-+    <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
-   </peripheral>
- 
-   <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
-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 @@
+     <setting key="device_type" type="int" value="1" configurable="0" />
+     <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
+     <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
+-    <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
++    <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
+   </peripheral>
+ 
+   <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
+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 <alucryd@gmail.com>
-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