From 3ddc72a78693994c4e30780b8689d1a5bcf2f936 Mon Sep 17 00:00:00 2001 From: Philip van der Hoeven Date: Thu, 4 Aug 2016 18:50:31 +0700 Subject: multimedia/OpenPHT: Added (Plex client). Signed-off-by: Willy Sudiarto Raharjo --- multimedia/OpenPHT/OpenPHT | 7 ++ multimedia/OpenPHT/OpenPHT.SlackBuild | 126 +++++++++++++++++++++++++++++++++ multimedia/OpenPHT/OpenPHT.desktop | 10 +++ multimedia/OpenPHT/OpenPHT.info | 10 +++ multimedia/OpenPHT/OpenPHT_512x512.png | Bin 0 -> 330319 bytes multimedia/OpenPHT/README | 6 ++ multimedia/OpenPHT/doinst.sh | 9 +++ multimedia/OpenPHT/fix32bit.patch | 39 ++++++++++ multimedia/OpenPHT/fribidi.patch | 47 ++++++++++++ multimedia/OpenPHT/slack-desc | 19 +++++ 10 files changed, 273 insertions(+) create mode 100644 multimedia/OpenPHT/OpenPHT create mode 100644 multimedia/OpenPHT/OpenPHT.SlackBuild create mode 100644 multimedia/OpenPHT/OpenPHT.desktop create mode 100644 multimedia/OpenPHT/OpenPHT.info create mode 100644 multimedia/OpenPHT/OpenPHT_512x512.png create mode 100644 multimedia/OpenPHT/README create mode 100644 multimedia/OpenPHT/doinst.sh create mode 100644 multimedia/OpenPHT/fix32bit.patch create mode 100644 multimedia/OpenPHT/fribidi.patch create mode 100644 multimedia/OpenPHT/slack-desc diff --git a/multimedia/OpenPHT/OpenPHT b/multimedia/OpenPHT/OpenPHT new file mode 100644 index 0000000000..6c4d5b4453 --- /dev/null +++ b/multimedia/OpenPHT/OpenPHT @@ -0,0 +1,7 @@ +#!/bin/sh + +# disable PulseAudio +export AE_ENGINE=Soft + +export XBMC_HOME=/opt/OpenPHT/share/XBMC +exec /opt/OpenPHT/bin/plexhometheater diff --git a/multimedia/OpenPHT/OpenPHT.SlackBuild b/multimedia/OpenPHT/OpenPHT.SlackBuild new file mode 100644 index 0000000000..db10fb31c4 --- /dev/null +++ b/multimedia/OpenPHT/OpenPHT.SlackBuild @@ -0,0 +1,126 @@ +#!/bin/sh + +# Slackware build script for "OpenPHT" + +# Copyright 2014-2015 Marcel Saegebarth +# 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} diff --git a/multimedia/OpenPHT/OpenPHT.desktop b/multimedia/OpenPHT/OpenPHT.desktop new file mode 100644 index 0000000000..7200e1441c --- /dev/null +++ b/multimedia/OpenPHT/OpenPHT.desktop @@ -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; diff --git a/multimedia/OpenPHT/OpenPHT.info b/multimedia/OpenPHT/OpenPHT.info new file mode 100644 index 0000000000..52bdc4e363 --- /dev/null +++ b/multimedia/OpenPHT/OpenPHT.info @@ -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" diff --git a/multimedia/OpenPHT/OpenPHT_512x512.png b/multimedia/OpenPHT/OpenPHT_512x512.png new file mode 100644 index 0000000000..89f68bb648 Binary files /dev/null and b/multimedia/OpenPHT/OpenPHT_512x512.png differ diff --git a/multimedia/OpenPHT/README b/multimedia/OpenPHT/README new file mode 100644 index 0000000000..5c581bf1ea --- /dev/null +++ b/multimedia/OpenPHT/README @@ -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 diff --git a/multimedia/OpenPHT/doinst.sh b/multimedia/OpenPHT/doinst.sh new file mode 100644 index 0000000000..3e5691a052 --- /dev/null +++ b/multimedia/OpenPHT/doinst.sh @@ -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 diff --git a/multimedia/OpenPHT/fix32bit.patch b/multimedia/OpenPHT/fix32bit.patch new file mode 100644 index 0000000000..4b5bc5fcc9 --- /dev/null +++ b/multimedia/OpenPHT/fix32bit.patch @@ -0,0 +1,39 @@ +From 0b36ed455bbffc19404095b568572e924d428316 Mon Sep 17 00:00:00 2001 +From: Jonas Karlman +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 diff --git a/multimedia/OpenPHT/fribidi.patch b/multimedia/OpenPHT/fribidi.patch new file mode 100644 index 0000000000..3b135bdfc3 --- /dev/null +++ b/multimedia/OpenPHT/fribidi.patch @@ -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) diff --git a/multimedia/OpenPHT/slack-desc b/multimedia/OpenPHT/slack-desc new file mode 100644 index 0000000000..1bf3791fe0 --- /dev/null +++ b/multimedia/OpenPHT/slack-desc @@ -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: -- cgit v1.2.3