multimedia/OpenPHT: Added (Plex client).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Philip van der Hoeven 2016-08-04 18:50:31 +07:00 committed by Willy Sudiarto Raharjo
parent 4ecd2ff502
commit 3ddc72a786
10 changed files with 273 additions and 0 deletions

View File

@ -0,0 +1,7 @@
#!/bin/sh
# disable PulseAudio
export AE_ENGINE=Soft
export XBMC_HOME=/opt/OpenPHT/share/XBMC
exec /opt/OpenPHT/bin/plexhometheater

View File

@ -0,0 +1,126 @@
#!/bin/sh
# Slackware build script for "OpenPHT"
# Copyright 2014-2015 Marcel Saegebarth <marc@mos6581.de>
# Copyright 2016 Philip van der Hoeven, Almere, The Netherlands
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=OpenPHT
VERSION=${VERSION:-1.6.2.123}
REV=${REV:-e23a7eef}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION-$REV
tar xvf $CWD/$PRGNAM-$VERSION-$REV.tar.gz || tar xvf $CWD/v$VERSION-$REV.tar.gz
cd $PRGNAM-$VERSION-$REV
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Fix 32bit build
# patch -p1 < $CWD/fix32bit.patch
# Find fribidi-0.19.7
# https://raw.githubusercontent.com/foux/fouxlay/master/media-tv/plex-home-theater/files/fribidi.patch
patch -p1 < $CWD/fribidi.patch
mkdir build
cd build
cmake \
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/opt/$PRGNAM \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_AUTOUPDATE='FALSE' \
-DENABLE_DUMP_SYMBOLS='FALSE' \
-DENABLE_PYTHON='TRUE' \
-DUSE_INTERNAL_FFMPEG='TRUE' \
-DCREATE_BUNDLE='FALSE' \
-DENABLE_SHAIRPLAY=off \
..
# internal ffmpeg version doesn't build with multiple jobs
make -j1
make install DESTDIR=$PKG
cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/bin
install -D -m 0755 $CWD/OpenPHT $PKG/usr/bin
mkdir -p $PKG/usr/share/applications
install -D -m 0644 $CWD/$PRGNAM.desktop $PKG/usr/share/applications
mkdir -p $PKG/usr/share/pixmaps
install -D -m 0644 $CWD/${PRGNAM}_512x512.png $PKG/usr/share/pixmaps
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a CONTRIBUTORS LICENSE.GPL README README-BUILD-PLEX.md docs/README.* \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
[Desktop Entry]
Name=OpenPHT - Plex Home Theater
GenericName=Media Center
Comment=OpenPHT - Plex Home Theater
Exec=OpenPHT
StartupNotify=true
Terminal=false
Type=Application
Icon=/usr/share/pixmaps/OpenPHT_512x512.png
Categories=Audio;Music;Video;Player;Media;

View File

@ -0,0 +1,10 @@
PRGNAM="OpenPHT"
VERSION="1.6.2.123"
HOMEPAGE="https://github.com/RasPlex/OpenPHT"
DOWNLOAD="https://github.com/RasPlex/OpenPHT/archive/v1.6.2.123-e23a7eef.tar.gz"
MD5SUM="075d697793b32d34c9ac57b94ae14821"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="yajl libmicrohttpd tinyxml avahi libmpeg2 libass rtmpdump libmodplug lame openjdk libcec"
MAINTAINER="Philip van der Hoeven"
EMAIL="philip@vd-hoeven.nl"

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

View File

@ -0,0 +1,6 @@
Plex Home Theater is optimized for the big screen and supports
a wide variety of formats with high-definition audio, native
framerates, and more.
(Some) Optional dependencies: libbluray libcec libnfs

View File

@ -0,0 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
fi
fi

View File

@ -0,0 +1,39 @@
From 0b36ed455bbffc19404095b568572e924d428316 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 2 Jul 2016 19:25:52 +0200
Subject: [PATCH] Fix build on 32-bit linux
---
lib/ffmpeg/CMakeLists.txt | 2 +-
plex/CMakeModules/PlatformConfigLINUX.cmake | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/ffmpeg/CMakeLists.txt b/lib/ffmpeg/CMakeLists.txt
index 3ea8fbc..ed3e745 100644
--- a/lib/ffmpeg/CMakeLists.txt
+++ b/lib/ffmpeg/CMakeLists.txt
@@ -13,7 +13,7 @@ if(TARGET_FREEBSD)
set(CONFIG_FLAGS --target-os=${OS} --cc=${CMAKE_C_COMPILER} --cxx=${CMAKE_CXX_COMPILER} --extra-cflags=-I${CMAKE_PREFIX_PATH}/include --extra-ldflags=-L${CMAKE_PREFIX_PATH}/lib --disable-altivec --disable-amd3dnow --disable-avisynth --disable-crystalhd --disable-debug --disable-decoder=mpeg_xvmc --disable-devices --disable-doc --disable-dxva2 --disable-encoders --disable-extra-warnings --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-frei0r --disable-gray --disable-hardcoded-tables --disable-indevs --disable-iwmmxt --disable-libdc1394 --disable-libdirac --disable-libfaac --disable-libfreetype --disable-libgsm --disable-libmp3lame --disable-libnut --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libopencv --disable-libopenjpeg --disable-librtmp --disable-libschroedinger --disable-libspeex --disable-libtheora --disable-libvo-aacenc --disable-libvo-amrwbenc --disable-libvorbis --disable-libvpx --disable-libx264 --disable-libxavs --disable-libxvid --disable-memalign-hack --disable-mlib --disable-mmi --disable-muxers --disable-nonfree --disable-outdevs --disable-small --disable-sram --disable-static --disable-symver --disable-vda --disable-version3 --disable-vis --disable-w32threads --disable-x11grab --enable-aandct --enable-asm --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-bsfs --enable-bzlib --enable-dct --enable-demuxers --enable-fastdiv --enable-fft --enable-filters --enable-golomb --enable-gpl --enable-huffman --enable-hwaccels --enable-libvorbis --enable-logging --enable-lpc --enable-mdct --enable-muxer=adts --enable-muxer=ogg --enable-muxer=spdif --enable-network --enable-optimizations --enable-parsers --enable-pic --enable-postproc --enable-protocol=http --enable-pthreads --enable-rdft --enable-runtime-cpudetect --enable-shared --enable-stripping --enable-swscale --enable-swscale-alpha --enable-vaapi --enable-vdpau --enable-yasm --enable-zlib --host-libs=-lm)
elseif(NOT TARGET_RPI)
# TODO: --enable-libdcadec
- set(CONFIG_FLAGS --target-os=${OS} --cc=${CMAKE_C_COMPILER} --cxx=${CMAKE_CXX_COMPILER} --sysinclude="${CMAKE_PREFIX_PATH}/usr/include" --arch=${ARCH} --enable-pic --enable-shared --disable-static --disable-debug --disable-muxers --disable-encoders --disable-devices --disable-doc --disable-ffplay --disable-ffmpeg --disable-sdl --disable-ffprobe --disable-ffserver --enable-gpl --enable-runtime-cpudetect --enable-postproc --enable-pthreads --enable-muxer=spdif --enable-muxer=adts --enable-muxer=asf --enable-muxer=ipod --enable-encoder=ac3 --enable-encoder=aac --enable-protocol=http --enable-protocol=https --enable-gnutls --enable-vdpau --enable-vaapi --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis)
+ set(CONFIG_FLAGS --target-os=${OS} --cc=${CMAKE_C_COMPILER} --cxx=${CMAKE_CXX_COMPILER} --sysinclude="${CMAKE_PREFIX_PATH}/usr/include" --cpu=${CMAKE_SYSTEM_PROCESSOR} --enable-pic --enable-shared --disable-static --disable-debug --disable-muxers --disable-encoders --disable-devices --disable-doc --disable-ffplay --disable-ffmpeg --disable-sdl --disable-ffprobe --disable-ffserver --enable-gpl --enable-runtime-cpudetect --enable-postproc --enable-pthreads --enable-muxer=spdif --enable-muxer=adts --enable-muxer=asf --enable-muxer=ipod --enable-encoder=ac3 --enable-encoder=aac --enable-protocol=http --enable-protocol=https --enable-gnutls --enable-vdpau --enable-vaapi --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis)
else()
set(CONFIG_FLAGS --target-os=${OS} --disable-muxers --disable-encoders --disable-devices --disable-doc --disable-ffplay --disable-ffmpeg --disable-ffprobe --disable-ffserver --disable-vda --disable-crystalhd --disable-decoder=mpeg_xvmc --disable-debug --disable-amd3dnow --disable-libvorbis --enable-gpl --enable-postproc --enable-shared --disable-static --enable-pthreads --enable-muxer=spdif --enable-muxer=adts --enable-encoder=ac3 --enable-encoder=aac --enable-protocol=http --enable-runtime-cpudetect)
diff --git a/plex/CMakeModules/PlatformConfigLINUX.cmake b/plex/CMakeModules/PlatformConfigLINUX.cmake
index 0ba1a81..994ad2c 100644
--- a/plex/CMakeModules/PlatformConfigLINUX.cmake
+++ b/plex/CMakeModules/PlatformConfigLINUX.cmake
@@ -169,6 +169,11 @@ if(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
set(ARCH "x86_64-linux")
else()
set(ARCH "i486-linux")
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse")
+ endif()
+ endif()
endif()
## remove annying useless warnings

View File

@ -0,0 +1,47 @@
--- a/plex/CMakeModules/FindFriBiDi.cmake
+++ b/plex/CMakeModules/FindFriBiDi.cmake
@@ -10,43 +10,9 @@
# FRIBIDI_LIBRARY, where to find the FriBiDi library.
include(CheckSymbolExists)
+include(FindPkgConfig)
+pkg_check_modules(FRIBIDI fribidi)
-SET(FRIBIDI_FOUND "NO")
-
-# Set variable in temp var, otherwise FIND_PATH might fail
-# unset isn't present in the required version of cmake.
-FIND_PATH(xFRIBIDI_INCLUDE_DIR fribidi.h
- PATHS /usr/local/include
- /usr/include
- PATH_SUFFIXES fribidi
- )
-set(FRIBIDI_INCLUDE_DIR ${xFRIBIDI_INCLUDE_DIR})
-
-SET(FRIBIDI_NAMES ${FRIBIDI_NAMES} fribidi libfribidi)
-FIND_LIBRARY(FRIBIDI_LIBRARY
- NAMES ${FRIBIDI_NAMES}
- PATHS /usr/lib /usr/local/lib
- )
-
-IF (FRIBIDI_LIBRARY AND FRIBIDI_INCLUDE_DIR)
- SET(CMAKE_REQUIRED_INCLUDES ${FRIBIDI_INCLUDE_DIR})
- SET(CMAKE_REQUIRED_LIBRARIES ${FRIBIDI_LIBRARY})
- CHECK_SYMBOL_EXISTS(fribidi_utf8_to_unicode fribidi.h FOUND_fribidi_utf8_to_unicode)
- CHECK_SYMBOL_EXISTS(fribidi_charset_to_unicode fribidi.h FOUND_fribidi_charset_to_unicode)
- if(FOUND_fribidi_charset_to_unicode)
- SET(FRIBIDI_LIBRARIES ${FRIBIDI_LIBRARY})
- SET(FRIBIDI_FOUND "YES")
- elseif(FOUND_fribidi_utf8_to_unicode)
- SET(FRIBIDI_LIBRARIES ${FRIBIDI_LIBRARY})
- SET(FRIBIDI_FOUND "YES")
- add_definitions(-DOLD_FRIBIDI)
- MESSAGE(STATUS "Legacy FriBiDi: ${FRIBIDI_LIBRARY}")
- else()
- SET(FRIBIDI_LIBRARIES "NOTFOUND")
- SET(FRIBIDI_INCLUDE_DIR "NOTFOUND")
- SET(FRIBIDI_FOUND "NO")
- endif()
-ENDIF (FRIBIDI_LIBRARY AND FRIBIDI_INCLUDE_DIR)
IF (FRIBIDI_FOUND)

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
OpenPHT: OpenPHT (Plex client)
OpenPHT:
OpenPHT: OpenPHT is a fork of Plex Home Theater maintained by the folks
OpenPHT: behind RasPlex.
OpenPHT:
OpenPHT: Homepage: https://github.com/RasPlex/OpenPHT
OpenPHT:
OpenPHT:
OpenPHT:
OpenPHT:
OpenPHT: