Bug 191413 - [NEW PORT] multimedia/plexhometheater: Media center front-end for plexmediaserver
Summary: [NEW PORT] multimedia/plexhometheater: Media center front-end for plexmediase...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Adam Weinberger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-26 14:57 UTC by Ben Woods
Modified: 2014-08-23 12:55 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Woods freebsd_committer freebsd_triage 2014-06-26 14:57:06 UTC
Please add a new port for multimedia/plexhometheater (the media center front-end to plexmediaserver). This is a fork of XBMC and therefore has many similar dependencies.

I have got the port working here:
https://redports.org/browser/woodsb02/multimedia/plexhometheater

I could only get it to build with clang, so I have included the following in the Makefile for now:
CC=             clang
CXX=            clang++
CPP=            clang-cpp

There is one problem with the resulting executable which I have not yet tracked down: once installed you need to:
# sed -i.bak s/dll_fopen/fopen/g /usr/local/bin/system/ImageLib-x86_64.so

Before running the executable in X11, you first need to set the XBMC_HOME environment variable.
$ export XBMC_HOME=/usr/local/share/XBMC

After that it seems to work fine (tested on FreeBSD 10.0-RELEASE).
Comment 1 John Marino freebsd_committer freebsd_triage 2014-07-31 16:08:02 UTC
I don't think that is going to fly.

At the very least you need USES= compiler:<option>

You should get a committer help you sort this out and then resubmit an updated shar here.  Maybe ask on ports@ mailing list for a volunteer?
Comment 2 Ben Woods freebsd_committer freebsd_triage 2014-08-03 22:55:13 UTC
Thanks for the feedback John. I found the problem that was preventing it building with GCC and have fixed it with a patch. I have removed the compiler requirements from the Makefile. Any other feedback?

(In reply to John Marino from comment #1)
> I don't think that is going to fly.
> 
> At the very least you need USES= compiler:<option>
> 
> You should get a committer help you sort this out and then resubmit an
> updated shar here.  Maybe ask on ports@ mailing list for a volunteer?
Comment 3 John Marino freebsd_committer freebsd_triage 2014-08-03 22:58:51 UTC
sure, at the very least post an updated redports run results (8x).

Ideally, you would also attached a "poudriere testport" or "poudriere bulk -t" log because that will provide even more testing that redports.

Do that, and there will be high confidence in the submission, making it more likely to get picked up sooner.
Comment 4 Ben Woods freebsd_committer freebsd_triage 2014-08-03 23:25:31 UTC
Link to successful redports builds below.
https://redports.org/buildarchive/20140803144700-28605/

Will work on poudriere tests (I don't yet have something to test on, but will work on it).

(In reply to John Marino from comment #3)
> sure, at the very least post an updated redports run results (8x).
> 
> Ideally, you would also attached a "poudriere testport" or "poudriere bulk
> -t" log because that will provide even more testing that redports.
> 
> Do that, and there will be high confidence in the submission, making it more
> likely to get picked up sooner.
Comment 5 John Marino freebsd_committer freebsd_triage 2014-08-03 23:28:35 UTC
Great!  In the meantime, I think you've shown enough to merit a "patch-ready" status, but attach those logs if/when you get them.
Comment 6 John Marino freebsd_committer freebsd_triage 2014-08-03 23:29:41 UTC
er, well, no, attach the shar first. :)
Comment 7 Ben Woods freebsd_committer freebsd_triage 2014-08-04 05:22:31 UTC
Sorry, what is a shar?

(In reply to John Marino from comment #6)
> er, well, no, attach the shar first. :)
Comment 8 Ben Woods freebsd_committer freebsd_triage 2014-08-04 05:29:56 UTC
Never mind... Just saw it in the porters handbook
Comment 9 Adam Weinberger freebsd_committer freebsd_triage 2014-08-21 16:36:05 UTC
I am a very, very heavy Plex user, and I am thrilled to see a PHT port!

I'm going to commit this shortly with some small modifications. In particular, it wouldn't build (needed USES=pkgconfig) and wouldn't package (the .desktop file). Also, I have changed the COMMENT. While it is true, it also is not particularly descriptive and makes it harder to search for in places like freshports.org.

I am happy to handle future updates for this port; please Cc: me when you submit updates.

I'm going to leave this bug report open after commit pending this question: does this port truly require java? Java is a dealbreaker for many people, and it not required when I build it for my mac. Can java support be turned into an OPTION?
Comment 10 commit-hook freebsd_committer freebsd_triage 2014-08-21 16:56:15 UTC
A commit references this bug:

Author: adamw
Date: Thu Aug 21 16:56:01 UTC 2014
New revision: 365568
URL: http://svnweb.freebsd.org/changeset/ports/365568

Log:
  Add multimedia/plexhometheater, the frontend to the powerful
  Plex media system.

  PR:		191413
  Submitted by:	woodsb02@gmail.com

Changes:
  head/multimedia/Makefile
  head/multimedia/plexhometheater/
  head/multimedia/plexhometheater/Makefile
  head/multimedia/plexhometheater/distinfo
  head/multimedia/plexhometheater/files/
  head/multimedia/plexhometheater/files/patch-CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-clang
  head/multimedia/plexhometheater/files/patch-lib__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-lib__cpluff__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-lib__cximage-6.0__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-lib__ffmpeg__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-lib__libdvd__libdvdcss__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-lib__libdvd__libdvdnav__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-plex__CMakeModules__CMakeConfig.cmake
  head/multimedia/plexhometheater/files/patch-plex__CMakeModules__CPackConfig.cmake
  head/multimedia/plexhometheater/files/patch-plex__CMakeModules__FindExecinfo.cmake
  head/multimedia/plexhometheater/files/patch-plex__CMakeModules__PlatformConfigFREEBSD.cmake
  head/multimedia/plexhometheater/files/patch-plex__CMakeModules__PlatformConfigPOSIX.cmake
  head/multimedia/plexhometheater/files/patch-plex__Network__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-plex__Network__NetworkInterfaceBSD.cpp
  head/multimedia/plexhometheater/files/patch-plex__config.h.in
  head/multimedia/plexhometheater/files/patch-xbmc__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__cdrip__EncoderFFmpeg.cpp
  head/multimedia/plexhometheater/files/patch-xbmc__cores__AudioEngine__Engines__SoftAE__SoftAE.cpp
  head/multimedia/plexhometheater/files/patch-xbmc__cores__AudioEngine__Sinks__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__cores__DllLoader__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__cores__dvdplayer__DVDCodecs__Video__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__cores__dvdplayer__DVDCodecs__Video__VAAPI.cpp
  head/multimedia/plexhometheater/files/patch-xbmc__freebsd__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__input__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__linux__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__storage__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__threads__platform__pthreads__ThreadImpl.cpp
  head/multimedia/plexhometheater/files/patch-xbmc__visualizations__XBMCProjectM__CMakeLists.txt
  head/multimedia/plexhometheater/files/patch-xbmc__visualizations__XBMCProjectM__libprojectM__PresetLoader.hpp
  head/multimedia/plexhometheater/files/patch-xbmc__windowing__CMakeLists.txt
  head/multimedia/plexhometheater/files/plexhometheater.sh.in
  head/multimedia/plexhometheater/pkg-descr
  head/multimedia/plexhometheater/pkg-plist
Comment 11 Adam Weinberger freebsd_committer freebsd_triage 2014-08-21 16:59:19 UTC
Committed with a few more modifications:

- plexhometheater.sh had /usr/local hardcoded. Please look at the SUB_FILES and the .in file for how I solved it.
- You had some DOS-style line endings in one of your patches. Please, please run 'portlint -C' before submitting patches.

That said, seriously good work on this port! PHT is a massive program and I can only imagine how much work it was to get it all together.
Comment 12 Ben Woods freebsd_committer freebsd_triage 2014-08-21 23:56:04 UTC
Thank you so much Adam! This is infact my first ever port for FreeBSD, and you're right when you say it was a lot of work. I am very glad it has been committed and it hasn't all been for nothing!

I was had not yet submitted the shar file as I was still trying to work out a few more things:
1. Does it need to install the man file? The XBMC port has this.
2. Does it need to strip the binaries post-install or is this automatically handled?
3. I was trying to enable python support (similar to the archlinux build) by adding CMAKE_ARGS+= -DENABLE_PYTHON:BOOL=true. But it was giving me linking errors which I was still investigating.

As for using java, XBMC (which this software is based on) also uses java. Not sure if it is actually needed and why.
Comment 13 Ben Woods freebsd_committer freebsd_triage 2014-08-21 23:56:54 UTC
Also, I am trying to commit most of the patches upstream (mostly the TARGET_FREEBSD stuff). Will let you know how it goes.
Comment 14 Adam Weinberger freebsd_committer freebsd_triage 2014-08-22 00:03:38 UTC
(In reply to woodsb02 from comment #12)
> 1. Does it need to install the man file? The XBMC port has this.

In general, yeah it's better to install manpages than not. You can do so in post-install if you need to.

> 2. Does it need to strip the binaries post-install or is this automatically
> handled?

It's being done automatically. Try building the port with make DEVELOPER=yes. As part of the stage-qa tests, it checks for unstripped libraries and binaries.

> 3. I was trying to enable python support (similar to the archlinux build) by
> adding CMAKE_ARGS+= -DENABLE_PYTHON:BOOL=true. But it was giving me linking
> errors which I was still investigating.

I had trouble with ENABLE_PYTHON on the macosx build too.

> As for using java, XBMC (which this software is based on) also uses java.
> Not sure if it is actually needed and why.

I run PHT on my macs without java and there is no trouble. I commented out the java stuff and the port happily built without java. Personally I would recommend leaving the java stuff out entirely, or putting into an OPTION that is off by default.
Comment 15 Adam Weinberger freebsd_committer freebsd_triage 2014-08-23 12:55:09 UTC
I'm closing this PR. You have my recommendation: disable java by default in a future revision or patch.

Thanks again for creating this port.