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

annotate media-tv/mediabrowser-server/mediabrowser-server-3.0.5395.ebuild @ 78:2d2f9db318d2

[mediabrowser-server] added new release
author gsnerf <gsnerf@gsnerf.de>
date Fri, 10 Oct 2014 20:21:16 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
78
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
1 # Copyright 1999-2014 Gentoo Foundation
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
2 # Distributed under the terms of the GNU General Public License v2
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
3 # $Header: $
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
4
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
5 EAPI="5"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
6
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
7 inherit eutils user
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
8
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
9 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."
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
10 HOMEPAGE="http://mediabrowser.tv/"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
11 KEYWORDS="-* ~arm ~amd64 ~x86"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
12 #EGIT_REPO_URI="https://github.com/MediaBrowser/MediaBrowser/"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
13 #EGIT_REPO_URI="https://github.com/gsnerf/MediaBrowser/"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
14 REVISION="80200363d2b6f60a89f09cbe3b939fc56eba3f7a"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
15 SRC_URI="https://github.com/MediaBrowser/MediaBrowser/archive/${REVISION}.zip"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
16 SLOT="0"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
17 LICENSE="GPL-2"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
18 IUSE=""
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
19 RESTRICT="mirror test"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
20
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
21 RDEPEND=">=dev-lang/mono-3.2.7
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
22 >=dev-dotnet/libgdiplus-2.10
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
23 >=media-video/ffmpeg-2[vpx]
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
24 >=media-libs/libmediainfo-0.7
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
25 >=media-libs/libwebp-0.4.1[jpeg]"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
26 DEPEND="app-arch/unzip ${RDEPEND}"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
27
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
28 INSTALL_DIR="/opt/mediabrowser-server"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
29 DATA_DIR="/usr/lib/mediabrowser-server"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
30 STARTUP_LOG="/var/log/mediabrowser_start.log"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
31 INIT_SCRIPT="${ROOT}/etc/init.d/mediabrowser-server"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
32
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
33 # gentoo expects a specific subfolder in the working directory for the extracted source, so simply extracting won't work here
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
34 src_unpack() {
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
35 unpack ${A}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
36 mv MediaBrowser-${REVISION} mediabrowser-server-${PV}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
37 }
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
38
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
39 # we don't want to use the third party drivers, so we patch the config files to use system ones instead
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
40 # attention: do NOT remove the third party libraries before compiling as the build process might fail!
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
41 src_prepare() {
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
42 epatch "${FILESDIR}/system_libraries_2.patch"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
43 }
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
44
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
45 src_compile() {
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
46 einfo "updating root certificates for mono certificate store"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
47 mozroots --import --sync
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
48 einfo "now actually compile"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
49 xbuild /p:Configuration="Release Mono" /p:Platform="Any CPU" MediaBrowser.Mono.sln || die "building failed"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
50 }
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
51
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
52 src_install() {
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
53 einfo "preparing startup scripts"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
54 newinitd "${FILESDIR}"/initd_1 ${PN}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
55 dodir /var/log/
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
56 touch ${D}${STARTUP_LOG}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
57 chown mediabrowser:mediabrowser ${D}${STARTUP_LOG}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
58
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
59 einfo "installing compiled files"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
60 diropts -omediabrowser -gmediabrowser
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
61 dodir ${INSTALL_DIR}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
62 cp -R ${S}/MediaBrowser.Server.Mono/bin/Release\ Mono/* ${D}${INSTALL_DIR}/ || die "install failed, possibly compile did not succeed earlier?"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
63 chown mediabrowser:mediabrowser -R ${D}${INSTALL_DIR}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
64
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
65 # as we use the system libraries, we delete the local ones now as we couldn't do it before
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
66 rm -R ${D}${INSTALL_DIR}/libwebp
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
67 rm -R ${D}${INSTALL_DIR}/MediaInfo
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
68
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
69 einfo "prepare data directory"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
70 dodir ${DATA_DIR}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
71 }
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
72
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
73 pkg_setup() {
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
74 einfo "creating user for MediaBrowser"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
75 enewgroup mediabrowser
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
76 enewuser mediabrowser -1 /bin/bash ${INSTALL_DIR} "mediabrowser" --system
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
77 }
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
78
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
79 #pkg_preinst() {
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
80 #cd ${D}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
81 #einfo "preparing compiled package for install"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
82 #mkdir -p opt/mediabrowser-server
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
83 #cp -R ${WORKDIR}/${P}/MediaBrowser.Server.Mono/bin/Release\ Mono/* opt/mediabrowser-server/ || die
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
84 #cp ${FILESDIR}/start.sh opt/mediabrowser-server/start.sh
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
85 #chown mediabrowser:mediabrowser -R opt/mediabrowser-server
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
86 #chmod 755 opt/mediabrowser-server/start.sh
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
87
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
88 #einfo "adding init script"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
89 #mkdir -p etc/init.d
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
90 #cp "${FILESDIR}"/initd_1 etc/init.d/mediabrowser-server
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
91 #chmod 755 etc/init.d/mediabrowser-server
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
92 #mkdir -p var/log
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
93 #touch var/log/mediabrowser_start.log
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
94 #chown mediabrowser:mediabrowser var/log/mediabrowser_start.log
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
95
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
96 #einfo "preparing data directory"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
97 #mkdir -p usr/lib/mediabrowser-server
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
98 #chown mediabrowser:mediabrowser usr/lib/mediabrowser-server
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
99
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
100 #einfo "Stopping running instances of MediaBrowser Server for actual install"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
101 #if [ -e "${INIT_SCRIPT}" ]; then
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
102 # ${INIT_SCRIPT} stop
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
103 #fi
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
104 #}
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
105
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
106 pkg_prerm() {
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
107 einfo "Stopping running instances of Media Server"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
108 if [ -e "${INIT_SCRIPT}" ]; then
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
109 ${INIT_SCRIPT} stop
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
110 fi
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
111 }
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
112
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
113 pkg_postinst() {
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
114 einfo "MediaBrowser-server was installed to ${INSTALL_DIR}, to start please use the init script provided."
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
115 einfo "All data generated and used by MediaBrowser can be found at ${DATA_DIR} after the first start."
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
116 einfo ""
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
117 einfo "If you just updated from an earlier version make sure to restart the service!"
2d2f9db318d2 [mediabrowser-server] added new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
118 }