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.5882.ebuild @ 120:56f8a6108f7d

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