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.5912.ebuild @ 124:c54a4a527569

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