We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.

changeset 75:08dd3a677dc7

added ebuild for stable release along with patch to make sure the system libraries are installed
author gsnerf <gsnerf@gsnerf.de>
date Sun, 05 Oct 2014 20:41:58 +0200
parents 3fae46c19fc9
children c6f5f3270fdc
files media-tv/mediabrowser-server/Manifest media-tv/mediabrowser-server/files/system_libraries_1.patch media-tv/mediabrowser-server/mediabrowser-server-3.0.5390.ebuild
diffstat 3 files changed, 145 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/media-tv/mediabrowser-server/Manifest	Fri Oct 03 21:13:19 2014 +0200
+++ b/media-tv/mediabrowser-server/Manifest	Sun Oct 05 20:41:58 2014 +0200
@@ -1,7 +1,10 @@
 AUX initd_1 1174 SHA256 7f63e4ef3b0ab9cd1bb4a74dc3536e82d8ee10bfaff4359439b31e1279fddc4c SHA512 6c875e4e0ae3723ebdbda2fd92047302bcf396099f1e54c90906431daf038e1b2b2cd21a8b426a5bd989ac3737c349f669a4420b9d44c8121955468ab7dd9d2c WHIRLPOOL 6388511cf775b102dbbb70f750949a889493596d1064d3d1b4b491c9374806ef4cde6e0271f1e2999945bd8b0892c3367db6d556fbe8a4df801f1764df18c8ee
 AUX start.sh 119 SHA256 4ac00ddd852e98f10160c8cdccea36fa61afff518d0741b027b42c97c58dd82d SHA512 7219fa596ddcdb9e62661b47cf3ac2d74e47bbfe7a5a2d58d5fe049e85215dee405dd8d065edaa81856f83eeed62e384c8f3538cf89de903c3f41b6e7d7b3dfb WHIRLPOOL 727702d83be0e7b2cffaf476a7aaa25a6d262c6d2516eaa07f0f1e59bcb2ceec8afc3ec51957c81e8528b0ed96d71bff0050bd575c6378cde533b6bc55d0fbcd
+AUX system_libraries_1.patch 1476 SHA256 683481112bb5af7d6bfa9506d4989bfa7e3ceafd9d7d3cffc6057655b21aa303 SHA512 3798f3965be45891f1c5394ea30191f11df518ff29e6e9a004e9f97f1aaab3fe975506f6157026e74657ea1c7c51796168035dd67c1816030b9fd53857c3c7a6 WHIRLPOOL 5a62ea761dd52fdb9a4699a6a2110c05128679da8648405925038c1b71ab1717906b3857cadd459588b898e0cb764c98784320becfaa1186efd4b20e98c1b7e1
 DIST 5bbf58b87db790ae019547f37fec9959667d0074.zip 50788995 SHA256 c3b0b37bdb8513b927ccc6a31703a75c8b1d49741aaf9ff84c2e25e5164afe22 SHA512 0ee076f638bbb2744b62314df68a0f074215fa9eb640cb84fd3d441b5940166cbcefa9b10ec016ead9277af047b7593f4be6682d375dbad120dd5dc30814026e WHIRLPOOL f8e3d87c81455d2beb9b49a994f6681db2149f1c8961f4fcdd012d9982faec9a2c92fed7d59626b58254415dab3fe205cc01c7d1a7e8fac35f323d362d0d4c09
 DIST 914fa073714c99f511ab96d9b151279014f179be.zip 21325130 SHA256 f0431d3eaccaf024fd27145920748dffe8222eb55bd7e67f6b2433303195782a SHA512 51e69a2b67464dff9b2eddb64da924e04dfb570ae09c2116e48ff988e2fe5ac01084a76e76d885cf6ba933eea6456f82cca4fe2c09335cf596019f2b8b0a9816 WHIRLPOOL 940f244e1456d68914d3d88a4db5c77aa590a63424fb30a46ed8777e3fccea2e3e1491c2dcca754c3e765a0edc470a06e1f4f5a3bce11faf8776e048a946dd1d
+DIST c70ca517a1f450d28439cd45b9389bbb926a4adb.zip 51208862 SHA256 79a7f9f2d5e600a7b45cf3a5688805b939f533c61e8ec8d55b1d96c5ee94e9d4 SHA512 52b5c40ef4cf6279bc0a59e7c6f22b3898c3c8a7b47840426b4d863063de44a0e3cda731b1ee517fc6be738cd3bb5b671b2dd32e49a2ce21a7aafe0767cceefb WHIRLPOOL 2cbcbcfa7d6b84b7b9e86090fbb2a307efc127d2374da49c8058ad158fbe497a2728b48c6dfaaa80211dbd2f78530ef9190308c79c3fa551648604e4cd104410
 EBUILD mediabrowser-server-3.0.5362_beta.ebuild 3704 SHA256 ddf05e00794f413baae8a6b98fca4a880ca8dfd49e257db9321a4e05c586d8bb SHA512 bd8bee26582c1ed5dc5b24b5ea5da469840f69cdc293cded264c44136a5c6327ee78fe3c432cc6fad49c6f5f132690a8fe52e9957d73401ccbd3cf2bf598167e WHIRLPOOL 99834a3af302bfb9f5f1f2c8ca613ef4e92af24e3a34290f9d9942f938b410f7b5f2568702f7924aec202efebb6a03f68a572b922d346486f7fbf2e26cb01f76
 EBUILD mediabrowser-server-3.0.5387_beta.ebuild 3773 SHA256 bbbfb84458c498eccae7ddc302eabadf4abe596e4d63f04fde1c4ad4e7de580b SHA512 d5308b6b2cef345023533a5912c3ba6ef5bc81636d7393f686c27ba22b21eae3ec265dd21cbb2756bc52547cdde857322ad350e77a419929239a35f95646e594 WHIRLPOOL 6115e6bc0c3ba73d12b91f3deb2025f9bc9522a7263b6d0bc68917fdefee3964e8200c0cad7bca350b672209ebdda17023d420db309f7cc854dee392a0217669
+EBUILD mediabrowser-server-3.0.5390.ebuild 4082 SHA256 015660431c628ff629029a605d28ea37ac52fd71b0280fa14ff6a83023f939ba SHA512 942e1d57a48cb1c69b156ff93d8d392785dc2058175f84a1dac426bd46197dba467735a3cfe3d1f88584df7013bbecb453e97bac15508566dec8c6dfef904b55 WHIRLPOOL a023a6d24904c1977a9666535ad6d2405679d0d3918e7ced739ac6625086d9e20bcbe2446d7a499eaca3fe6490fa1a75dc638b755a80d45776960bcb4a0d7950
 EBUILD mediabrowser-server-9999.ebuild 3593 SHA256 4529d304e5b18b91e7d3e1d40cfe8eda9bcf9713ed7a309af84c09bff98c5e45 SHA512 f9cb6370aa9befa46e1715d06b68edb45d3dd6883a6ad29aac80d204b7c59858837ddda828d0f9eb95f3f6783cd63072c71ce6fc0df4947818b35a1534e99096 WHIRLPOOL e8cfd13a64b0886899b7a97ac040d9835f116e253bae7873eebd30df7527607a93992d3d558c55d7a8b0c70c3b9e33f5c5cc51a6fd163fbf295a27ca92d5b7a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/media-tv/mediabrowser-server/files/system_libraries_1.patch	Sun Oct 05 20:41:58 2014 +0200
@@ -0,0 +1,24 @@
+diff --git a/MediaBrowser.Server.Mono/Imazen.WebP.dll.config b/MediaBrowser.Server.Mono/Imazen.WebP.dll.config
+index 1ebdf8a..f5b127e 100644
+--- a/MediaBrowser.Server.Mono/Imazen.WebP.dll.config
++++ b/MediaBrowser.Server.Mono/Imazen.WebP.dll.config
+@@ -1,6 +1,4 @@
+ <configuration>
+-  <dllmap dll="libwebp" target="./libwebp/linux/lib/libwebp.so" os="linux" wordsize="32"/>
+-  <dllmap dll="libwebp" target="./libwebp/linux/lib64/libwebp.so" os="linux" wordsize="64"/>
+   <dllmap dll="libwebp" target="./libwebp/osx/libwebp.5.dylib" os="osx"/>
+-  <dllmap dll="libwebp" target="libwebp.so" os="linux" cpu="!x86,!x86_64"/>
++  <dllmap dll="libwebp" target="libwebp.so" os="linux"/>
+ </configuration>
+diff --git a/MediaBrowser.Server.Mono/MediaBrowser.MediaInfo.dll.config b/MediaBrowser.Server.Mono/MediaBrowser.MediaInfo.dll.config
+index ab6cdb1..fe0f27d 100644
+--- a/MediaBrowser.Server.Mono/MediaBrowser.MediaInfo.dll.config
++++ b/MediaBrowser.Server.Mono/MediaBrowser.MediaInfo.dll.config
+@@ -1,6 +1,4 @@
+ <configuration>
+-  <dllmap dll="MediaInfo" target="./MediaInfo/linux/lib/libmediainfo.so" os="linux" wordsize="32"/>
+-  <dllmap dll="MediaInfo" target="./MediaInfo/linux/lib64/libmediainfo.so" os="linux" wordsize="64"/>
+   <dllmap dll="MediaInfo" target="./MediaInfo/osx/libmediainfo.dylib" os="osx"/>
+-  <dllmap dll="MediaInfo" target="libmediainfo.so" os="linux" cpu="!x86,!x86_64"/>
++  <dllmap dll="MediaInfo" target="libmediainfo.so" os="linux" />
+ </configuration>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/media-tv/mediabrowser-server/mediabrowser-server-3.0.5390.ebuild	Sun Oct 05 20:41:58 2014 +0200
@@ -0,0 +1,118 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit eutils user
+
+DESCRIPTION="MediaBrowser Server is a software that indexes a lot of different kinds of media and allows for them to be retrieved and played through the DLNA protocol on any device capable of processing them."
+HOMEPAGE="http://mediabrowser.tv/"
+KEYWORDS="-* ~amd64 ~x86 ~x86_64"
+#EGIT_REPO_URI="https://github.com/MediaBrowser/MediaBrowser/"
+#EGIT_REPO_URI="https://github.com/gsnerf/MediaBrowser/"
+REVISION="c70ca517a1f450d28439cd45b9389bbb926a4adb"
+SRC_URI="https://github.com/MediaBrowser/MediaBrowser/archive/${REVISION}.zip"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+RESTRICT="mirror test"
+
+RDEPEND=">=dev-lang/mono-3.2.7
+	>=dev-dotnet/libgdiplus-2.10
+	media-video/ffmpeg[vpx]
+	>=media-libs/libmediainfo-0.7
+	>=media-libs/libwebp-0.4.1"
+DEPEND="app-arch/unzip ${RDEPEND}"
+
+INSTALL_DIR="/opt/mediabrowser-server"
+DATA_DIR="/usr/lib/mediabrowser-server"
+STARTUP_LOG="/var/log/mediabrowser_start.log"
+INIT_SCRIPT="${ROOT}/etc/init.d/mediabrowser-server"
+
+# gentoo expects a specific subfolder in the working directory for the extracted source, so simply extracting won't work here
+src_unpack() {
+	unpack ${A}
+	mv MediaBrowser-${REVISION} mediabrowser-server-${PV}
+}
+
+# we don't want to use the third party drivers, so we patch the config files to use system ones instead
+# attention: do NOT remove the third party libraries before compiling as the build process might fail!
+src_prepare() {
+	epatch "${FILESDIR}/system_libraries_1.patch"
+}
+
+src_compile() {
+	einfo "updating root certificates for mono certificate store"
+	mozroots --import --sync
+	einfo "now actually compile"
+	xbuild /p:Configuration="Release Mono" /p:Platform="Any CPU" MediaBrowser.Mono.sln || die "building failed"
+}
+
+src_install() {
+	einfo "preparing startup scripts"
+	newinitd "${FILESDIR}"/initd_1  ${PN}
+	dodir /var/log/
+	touch ${D}${STARTUP_LOG}
+	chown mediabrowser:mediabrowser ${D}${STARTUP_LOG}
+
+	einfo "installing compiled files"
+	diropts -omediabrowser -gmediabrowser
+	dodir ${INSTALL_DIR}
+	cp -R ${S}/MediaBrowser.Server.Mono/bin/Release\ Mono/* ${D}${INSTALL_DIR}/ || die "install failed, possibly compile did not succeed earlier?"
+	chown mediabrowser:mediabrowser -R ${D}${INSTALL_DIR}
+
+	# as we use the system libraries, we delete the local ones now as we couldn't do it before
+	rm -R ${D}${INSTALL_DIR}/libwebp
+	rm -R ${D}${INSTALL_DIR}/MediaInfo
+
+	einfo "prepare data directory"
+	dodir ${DATA_DIR}
+}
+
+pkg_setup() {
+	einfo "creating user for MediaBrowser"
+	enewgroup mediabrowser
+	enewuser mediabrowser -1 /bin/bash ${INSTALL_DIR} "mediabrowser" --system
+}
+
+#pkg_preinst() {
+	#cd ${D}
+	#einfo "preparing compiled package for install"
+	#mkdir -p opt/mediabrowser-server
+	#cp -R  ${WORKDIR}/${P}/MediaBrowser.Server.Mono/bin/Release\ Mono/* opt/mediabrowser-server/ || die
+	#cp ${FILESDIR}/start.sh opt/mediabrowser-server/start.sh
+	#chown mediabrowser:mediabrowser -R opt/mediabrowser-server
+	#chmod 755 opt/mediabrowser-server/start.sh
+
+	#einfo "adding init script"
+	#mkdir -p etc/init.d
+	#cp "${FILESDIR}"/initd_1 etc/init.d/mediabrowser-server
+	#chmod 755 etc/init.d/mediabrowser-server
+	#mkdir -p var/log
+	#touch var/log/mediabrowser_start.log
+	#chown mediabrowser:mediabrowser var/log/mediabrowser_start.log
+
+	#einfo "preparing data directory"
+	#mkdir -p usr/lib/mediabrowser-server
+	#chown mediabrowser:mediabrowser usr/lib/mediabrowser-server
+
+	#einfo "Stopping running instances of MediaBrowser Server for actual install"
+	#if [ -e "${INIT_SCRIPT}" ]; then
+	#	${INIT_SCRIPT} stop
+	#fi
+#}
+
+pkg_prerm() {
+	einfo "Stopping running instances of Media Server"
+	if [ -e "${INIT_SCRIPT}" ]; then
+		${INIT_SCRIPT} stop
+	fi
+}
+
+pkg_postinst() {
+	einfo "MediaBrowser-server was installed to ${INSTALL_DIR}, to start please use the init script provided."
+	einfo "All data generated and used by MediaBrowser can be found at ${DATA_DIR} after the first start."
+	einfo ""
+	einfo "If you just updated from an earlier version make sure to restart the service!"
+}