diff options
Diffstat (limited to 'abs/extra/openpht')
-rwxr-xr-x | abs/extra/openpht/PKGBUILD | 78 | ||||
-rw-r--r-- | abs/extra/openpht/__changelog | 5 | ||||
-rw-r--r-- | abs/extra/openpht/openpht.install | 11 | ||||
-rwxr-xr-x | abs/extra/openpht/plex-ffmpeg-compat.patch | 29 | ||||
-rw-r--r-- | abs/extra/openpht/plex-libcec.patch | 63 | ||||
-rw-r--r-- | abs/extra/openpht/plex_lib.conf | 9 | ||||
-rwxr-xr-x | abs/extra/openpht/plexhometheater.sh | 11 |
7 files changed, 206 insertions, 0 deletions
diff --git a/abs/extra/openpht/PKGBUILD b/abs/extra/openpht/PKGBUILD new file mode 100755 index 0000000..d3e557e --- /dev/null +++ b/abs/extra/openpht/PKGBUILD @@ -0,0 +1,78 @@ +pkgname=openpht +pkgver=1.5.0.502 +_pkghash=7563ca94 +pkgrel=1 +pkgdesc='OpenPHT a community driven fork of Plex Home Theater' +arch=('i686' 'x86_64') +url='https://github.com/RasPlex/OpenPHT' +license=('GPL2') +install="${pkgname}.install" +provides=('plex-home-theater') +#conflicts=('plex-home-theater') +replaces=('plex-home-theater') +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' 'git' 'java-environment' 'libcec' + 'libplist' 'libshairport' 'nasm' 'swig' 'unzip' 'zip') +optdepends=('libplist: AirPlay support' + 'libshairport: AirPlay support' + 'libcec: Pulse-Eight USB-CEC adapter support') +source=("https://github.com/RasPlex/OpenPHT/archive/v${pkgver}-${_pkghash}.tar.gz" + 'plex-ffmpeg-compat.patch' + 'plex-libcec.patch' + 'plex_lib.conf' + 'plexhometheater.sh') + +prepare() { + cd OpenPHT-${pkgver}-${_pkghash} + + patch -Np1 -i ../plex-libcec.patch + patch -Np1 -i ../plex-ffmpeg-compat.patch +} + +build() { + cd OpenPHT-${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" \ + -DCREATE_BUNDLE='FALSE' \ + -DDUMP_SYMBOLS='FALSE' \ + -DENABLE_AUTOUPDATE='FALSE' \ + -DENABLE_PYTHON='TRUE' \ + -DPYTHON_EXEC='/usr/bin/python2' \ + -DUSE_INTERNAL_FFMPEG='FALSE' + make +} + +package() { + cd OpenPHT-${pkgver}-${_pkghash}/build + + make DESTDIR="${pkgdir}" install + install -dm 755 "${pkgdir}"/usr/{lib/plexhometheater,share/{applications,pixmaps}} + mv "${pkgdir}"/usr/bin/{system,xbmc-xrandr} "${pkgdir}"/usr/lib/plexhometheater/ + mv "${pkgdir}"/usr/share/XBMC "${pkgdir}"/usr/share/plexhometheater + rm -rf "${pkgdir}"/usr/bin/*.so + install -Dm 755 "${srcdir}"/plexhometheater.sh "${pkgdir}"/usr/LH/bin/plexhometheater.sh + install -m 644 ../plex/Resources/plexhometheater.desktop "${pkgdir}"/usr/share/applications/ + install -m 644 ../plex/Resources/plex-icon-256.png "${pkgdir}"/usr/share/pixmaps/plexhometheater.png + + # LinHES stuff + #add in plex_lib.conf + install -D -m0744 ${srcdir}/plex_lib.conf ${pkgdir}/etc/gen_lib_xml.d/plex_lib.conf +} + +# vim: ts=2 sw=2 et: +md5sums=('48ab91fe4ce6c6e6c6a3177e12d733dc' + '6704244166497db7fa6b3ddd43a0e53b' + '0f753e1ebea13e5a2029a59b9db79877' + 'c1eedd9f89ee727230833db9ef1e5d29' + '4ceae60ed2f9e4304eda4f80d407e799') diff --git a/abs/extra/openpht/__changelog b/abs/extra/openpht/__changelog new file mode 100644 index 0000000..42c86d8 --- /dev/null +++ b/abs/extra/openpht/__changelog @@ -0,0 +1,5 @@ +copied plex-home-theater to openpht +PKGBUILD - Remove opt dep pulseaudio +PKGBUILD - Added plex_lib.conf, this file goes in /etc/gen_lib_xml.d/ +PKGBUILD - Install plexhometheater.sh to /usr/LH/bin +openpht.install - add gen_lib_xml.py to post_install and post_remove and post_update diff --git a/abs/extra/openpht/openpht.install b/abs/extra/openpht/openpht.install new file mode 100644 index 0000000..6788abc --- /dev/null +++ b/abs/extra/openpht/openpht.install @@ -0,0 +1,11 @@ +post_install() { + gen_lib_xml.py +} + +post_upgrade() { + gen_lib_xml.py +} + +post_remove() { + gen_lib_xml.py +} diff --git a/abs/extra/openpht/plex-ffmpeg-compat.patch b/abs/extra/openpht/plex-ffmpeg-compat.patch new file mode 100755 index 0000000..1601500 --- /dev/null +++ b/abs/extra/openpht/plex-ffmpeg-compat.patch @@ -0,0 +1,29 @@ +diff -rupN plex-home-theater.orig/plex/CMakeModules/FindFFmpeg.cmake plex-home-theater/plex/CMakeModules/FindFFmpeg.cmake +--- plex-home-theater.orig/plex/CMakeModules/FindFFmpeg.cmake 2014-09-15 11:46:21.751638700 +0200 ++++ plex-home-theater/plex/CMakeModules/FindFFmpeg.cmake 2014-09-15 11:43:25.678039000 +0200 +@@ -41,7 +41,7 @@ MACRO(FFMPEG_FIND varname shortname head + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include +- PATH_SUFFIXES ffmpeg ++ PATH_SUFFIXES ffmpeg-compat + DOC "Location of FFMPEG Headers" + ) + +@@ -62,7 +62,7 @@ MACRO(FFMPEG_FIND varname shortname head + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include +- PATH_SUFFIXES ffmpeg ++ PATH_SUFFIXES ffmpeg-compat + DOC "Location of FFMPEG Headers" + ) + ENDIF(NOT FFMPEG_${varname}_INCLUDE_DIRS) +@@ -85,6 +85,7 @@ MACRO(FFMPEG_FIND varname shortname head + /opt/csw/lib + /opt/lib + /usr/freeware/lib64 ++ PATH_SUFFIXES ffmpeg-compat + DOC "Location of FFMPEG Libraries" + ) + diff --git a/abs/extra/openpht/plex-libcec.patch b/abs/extra/openpht/plex-libcec.patch new file mode 100644 index 0000000..2087569 --- /dev/null +++ b/abs/extra/openpht/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/openpht/plex_lib.conf b/abs/extra/openpht/plex_lib.conf new file mode 100644 index 0000000..1aa78f3 --- /dev/null +++ b/abs/extra/openpht/plex_lib.conf @@ -0,0 +1,9 @@ +<!--#PLEX--> + <button> + <type>MENU_PLEX</type> + <text>Launch Plex</text> + <description>Open Plex Home Theater</description> + <action>EXEC /usr/LH/bin/plexhometheater.sh</action> + </button> +<!--#PLEX--> + diff --git a/abs/extra/openpht/plexhometheater.sh b/abs/extra/openpht/plexhometheater.sh new file mode 100755 index 0000000..579bed6 --- /dev/null +++ b/abs/extra/openpht/plexhometheater.sh @@ -0,0 +1,11 @@ +#!/bin/sh +#Stop XScreensaver +stop_xss.sh & + +#Launch plex +export XBMC_BIN_HOME='/usr/lib/plexhometheater' +export XBMC_HOME='/usr/share/plexhometheater' +plexhometheater + +#Start Xscreensaver again +killall stop_xss.sh |