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/emby-server/emby-server-3.0.5607.2.ebuild @ 98:ce63defb3407

add new release
author gsnerf <gsnerf@gsnerf.de>
date Tue, 12 May 2015 21:55:15 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
98
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
1 # Copyright 1999-2015 Gentoo Foundation
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
2 # Distributed under the terms of the GNU General Public License v2
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
3 # $Header: $
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
4
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
5 EAPI="5"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
6
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
7 inherit eutils user git-r3
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
8
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
9 DESCRIPTION="Emby Server (formerly known as 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."
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
10 HOMEPAGE="http://emby.media/"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
11 KEYWORDS="-* ~arm ~amd64 ~x86"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
12 SRC_URI="https://github.com/MediaBrowser/MediaBrowser/archive/${PV}.tar.gz"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
13 SLOT="0"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
14 LICENSE="GPL-2"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
15 IUSE=""
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
16 RESTRICT="mirror test"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
17
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
18 RDEPEND=">=dev-lang/mono-3.2.7
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
19 >=media-video/ffmpeg-2[vpx]
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
20 >=media-libs/libmediainfo-0.7
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
21 media-gfx/imagemagick[jpeg,jpeg2k,webp,png]
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
22 !media-tv/mediabrowser-server
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
23 >=dev-db/sqlite-3.0.0"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
24 DEPEND="app-arch/unzip ${RDEPEND}"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
25
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
26 INSTALL_DIR="/opt/emby-server"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
27 DATA_DIR="/var/lib/emby-server"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
28 STARTUP_LOG="/var/log/emby-server_start.log"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
29 INIT_SCRIPT="${ROOT}/etc/init.d/emby-server"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
30
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
31 # INSTALL
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
32 # #######################################################################################################
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
33
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
34 pkg_setup() {
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
35 einfo "creating user for Emby"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
36 enewgroup emby
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
37 enewuser emby -1 /bin/bash ${INSTALL_DIR} "emby" --system
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
38 }
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
39
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
40 # gentoo expects a specific subfolder in the working directory for the extracted source, so simply extracting won't work here
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
41 src_unpack() {
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
42 unpack ${A}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
43 mv MediaBrowser-${PV} emby-server-${PV}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
44 }
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
45
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
46 src_prepare() {
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
47 MAGICKWAND=$(ldconfig -p | grep MagickWand.*.so$ | cut -d" " -f4)
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
48 MAGICKWAND=${MAGICKWAND##*/}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
49 einfo "adapting to imagemagick library to: ${MAGICKWAND}"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
50 sed -i -e "s/\"libMagickWand-6.Q8.so\"/\"${MAGICKWAND}\"/" MediaBrowser.Server.Mono/ImageMagickSharp.dll.config || die "could not update libMagickWand reference!"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
51 }
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
52
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
53
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
54 src_compile() {
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
55 einfo "updating root certificates for mono certificate store"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
56 mozroots --import --sync
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
57 einfo "now actually compile"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
58 xbuild /p:Configuration="Release Mono" /p:Platform="Any CPU" MediaBrowser.Mono.sln || die "building failed"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
59 }
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
60
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
61 src_install() {
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
62 einfo "preparing startup scripts"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
63 newinitd "${FILESDIR}"/emby-server.init_2 ${PN}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
64 newconfd "${FILESDIR}"/emby-server.conf ${PN}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
65
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
66 einfo "preparing startup log file"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
67 dodir /var/log/
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
68 touch ${D}${STARTUP_LOG}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
69 chown emby:emby ${D}${STARTUP_LOG}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
70
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
71 einfo "installing compiled files"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
72 diropts -oemby -gemby
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
73 dodir ${INSTALL_DIR}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
74 cp -R ${S}/MediaBrowser.Server.Mono/bin/Release\ Mono/* ${D}${INSTALL_DIR}/ || die "install failed, possibly compile did not succeed earlier?"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
75 chown emby:emby -R ${D}${INSTALL_DIR}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
76
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
77 # as we use the system libraries, we delete the local ones now as we couldn't do it before
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
78 rm -R ${D}${INSTALL_DIR}/MediaInfo
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
79
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
80 einfo "prepare data directory"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
81 dodir ${DATA_DIR}
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
82 }
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
83
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
84 pkg_postinst() {
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
85 einfo "emby-server was installed to ${INSTALL_DIR}, to start please use the init script provided."
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
86 einfo "All data generated and used by Emby can be found at ${DATA_DIR} after the first start."
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
87 einfo ""
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
88
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
89 if [[ -d "/usr/lib/mediabrowser-server" || -h "/usr/lib/mediabrowser-server" ]]; then
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
90 ewarn "ATTENTION: You seem to have moved from the former mediabrowser-server package:"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
91 ewarn "don't forget to migrate your original data directory before the first start!"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
92 ewarn "To do that move"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
93 ewarn " /usr/lib/mediabrowser-server"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
94 ewarn "to"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
95 ewarn " ${DATA_DIR}"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
96 ewarn "and change owner status from mediabrowser:mediabrowser to emby:emby!"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
97 ewarn " chown -R emby:emby ${DATA_DIR}"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
98 fi
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
99
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
100 if [[ -d "/usr/lib/emby-server" || -h "/usr/lib/emby-server" ]]; then
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
101 ewarn "ATTENTION: You seem to have existing program data at /usr/lib/emby-server!"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
102 ewarn "Please move that folder to ${DATA_DIR} before the first start and make sure the folder is owned by emby:emby"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
103 fi
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
104 }
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
105
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
106 # UNINSTALL
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
107 # #######################################################################################################
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
108
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
109 pkg_prerm() {
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
110 einfo "Stopping running instances of Emby Server"
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
111 if [ -e "${INIT_SCRIPT}" ]; then
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
112 ${INIT_SCRIPT} stop
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
113 fi
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
114 }
ce63defb3407 add new release
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
115