We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.

view media-tv/emby-server-beta/emby-server-beta-3.1.164.ebuild @ 236:151d84363e64

[sync] imported 8c3bfd0..b15ca8c from upstream commit b15ca8c5239daf75d74e03ce0e88be2722c8a8b5 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Sun Feb 28 13:03:05 2021 +0100 media-video/qt-faststart-python removed due to Python 2.7 qt-faststart-python requires Python 2.7 which is being removed from Gentoo. Even if 2.7 may remain available we seem to be unable to keep such packages on a registered overlay using the utility classes provided by Gentoo. In general, "faststart" is today also easily and quickly achieved through FFMPEG (without recoding), so this tool may really no longer be needed. commit dd2b6cb6314909e9253e5dc82cdd99f944f14733 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Sun Feb 28 12:58:23 2021 +0100 media-gfx/trimage removed 1.0.5 due to outdated Python version commit a5de53e6780d5321372f2dcdabdd9eae83b7b1bb Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Sun Feb 28 12:56:56 2021 +0100 dev-python/sexpdata removed Same version is available from official Gentoo repository. commit 9009aaca44d0baf1c654f4b39ca1887b8395c2e8 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Sun Feb 28 12:26:51 2021 +0100 dev-python/epc removed; upstream seems dead Officially only compatible with Python 2.7 up to 3.3. Not sure if still needed - was introduced for emacs JEDI but that appears to now ship its own version through MELPA. Not needed on local installation.
author Migration Sync <gentoo-overlay@megacoffee.net>
date Sun, 28 Feb 2021 12:30:02 +0000
parents 734821f25078
children
line wrap: on
line source

# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="5"

inherit eutils user git-r3

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."
HOMEPAGE="http://emby.media/"
KEYWORDS="-* ~arm ~amd64 ~x86"
SRC_URI="https://github.com/MediaBrowser/Emby/archive/${PV}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
IUSE=""
RESTRICT="mirror test"

RDEPEND=">=dev-lang/mono-3.2.7
	>=media-video/ffmpeg-2[vpx]
	media-gfx/imagemagick[jpeg,jpeg2k,webp,png]
	>=dev-db/sqlite-3.0.0"
DEPEND="app-arch/unzip ${RDEPEND}"

INSTALL_DIR="/opt/emby-server-beta"
DATA_DIR="/var/lib/emby-server-beta"
STARTUP_LOG="/var/log/emby-server-beta_start.log"
INIT_SCRIPT="${ROOT}/etc/init.d/emby-server-beta"

# INSTALL
# #######################################################################################################

pkg_setup() {
	einfo "creating user for Emby"
	enewgroup emby
	enewuser emby -1 /bin/bash ${INSTALL_DIR} "emby"
}

# gentoo expects a specific subfolder in the working directory for the extracted source, so simply extracting won't work here
src_unpack() {
        unpack ${A}
        mv Emby-${PV} emby-server-beta-${PV}
}

src_prepare() {
	MAGICKWAND=$(ldconfig -p | grep MagickWand.*.so$ | cut -d" " -f4)
	MAGICKWAND=${MAGICKWAND##*/}
	einfo "adapting to imagemagick library to: ${MAGICKWAND}"
	sed -i -e "s/\"libMagickWand-6.Q8.so\"/\"${MAGICKWAND}\"/" MediaBrowser.Server.Mono/ImageMagickSharp.dll.config || die "could not update libMagickWand reference!"
}


src_compile() {
	einfo "updating root certificates for mono certificate store"
	mozroots --import --sync
	einfo "now actually compile"
	xbuild /p:Configuration="Release Mono" /p:Platform="Any CPU" MediaBrowser.Mono.sln || die "building failed"
}

src_install() {
	einfo "preparing startup scripts"
	newinitd "${FILESDIR}"/emby-server-beta.init_3  ${PN}
	newconfd "${FILESDIR}"/emby-server-beta.conf ${PN}

	einfo "preparing startup log file"
	dodir /var/log/
	touch ${D}${STARTUP_LOG}
	chown emby:emby ${D}${STARTUP_LOG}

	einfo "installing compiled files"
	diropts -oemby -gemby
	dodir ${INSTALL_DIR}
	cp -R ${S}/MediaBrowser.Server.Mono/bin/Release\ Mono/* ${D}${INSTALL_DIR}/ || die "install failed, possibly compile did not succeed earlier?"
	chown emby:emby -R ${D}${INSTALL_DIR}

	einfo "prepare data directory"
	dodir ${DATA_DIR}
}

pkg_postinst() {
	einfo "emby-server was installed to ${INSTALL_DIR}, to start please use the init script provided."
	einfo "All data generated and used by Emby can be found at ${DATA_DIR} after the first start."
	einfo ""

	if [[ -d "/usr/lib/mediabrowser-server" || -h "/usr/lib/mediabrowser-server" ]]; then
		ewarn "ATTENTION: You seem to have moved from the former mediabrowser-server package:"
		ewarn "don't forget to migrate your original data directory before the first start!"
		ewarn "To do that move"
		ewarn "     /usr/lib/mediabrowser-server"
		ewarn "to"
		ewarn "     ${DATA_DIR}"
		ewarn "and change owner status from mediabrowser:mediabrowser to emby:emby!"
		ewarn "     chown -R emby:emby ${DATA_DIR}"
	fi

	if [[ -d "/usr/lib/emby-server" || -h "/usr/lib/emby-server"  ]]; then
		ewarn "ATTENTION: You seem to have existing program data at /usr/lib/emby-server!"
		ewarn "Please move that folder to ${DATA_DIR} before the first start and make sure the folder is owned by emby:emby"
		ewarn "The folder /usr/lib/emby-server will be repurposed in one of the next releases, so make sure to clean that directory up!"
	fi
}

# UNINSTALL
# #######################################################################################################

pkg_prerm() {
	einfo "Stopping running instances of Emby Server"
	if [ -e "${INIT_SCRIPT}" ]; then
		${INIT_SCRIPT} stop
	fi
}