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