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.5518.7.ebuild @ 84:25fe8565dcf0

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