2018-09-17 15:41:16 +02:00
{ stdenv , fetchurl , unzip , sqlite , makeWrapper , mono54 , ffmpeg }:
2016-04-23 15:08:45 +02:00
stdenv . mkDerivation rec {
name = " e m b y - ${ version } " ;
2018-09-17 15:41:16 +02:00
version = " 3 . 5 . 2 . 0 " ;
# We are fetching a binary here, however, a source build is possible.
# See -> https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=emby-server-git#n43
# Though in my attempt it failed with this error repeatedly
# The type 'Attribute' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
# This may also need msbuild (instead of xbuild) which isn't in nixpkgs
# See -> https://github.com/NixOS/nixpkgs/issues/29817
2016-04-23 15:08:45 +02:00
src = fetchurl {
2018-09-17 15:41:16 +02:00
url = " h t t p s : / / g i t h u b . c o m / M e d i a B r o w s e r / E m b y . R e l e a s e s / r e l e a s e s / d o w n l o a d / ${ version } / e m b y s e r v e r - m o n o _ ${ version } . z i p " ;
sha256 = " 1 2 f 9 s k v n r 9 q x n r v r 3 q 0 1 4 y g g f w v k p j k 0 y n b g f 0 f w k 5 6 h 4 k a l 7 f x 8 " ;
2016-04-23 15:08:45 +02:00
} ;
2018-09-17 15:41:16 +02:00
buildInputs = [
2017-01-30 20:20:11 +01:00
unzip
2016-10-03 12:14:46 +02:00
makeWrapper
] ;
2018-09-17 15:41:16 +02:00
propagatedBuildInputs = [
2018-08-24 00:42:47 +02:00
mono54
2016-05-25 21:23:42 +02:00
sqlite
] ;
2016-04-23 15:08:45 +02:00
2018-09-17 15:41:16 +02:00
preferLocalBuild = true ;
2017-01-30 20:20:11 +01:00
# Need to set sourceRoot as unpacker will complain about multiple directory output
sourceRoot = " . " ;
2016-05-25 21:23:42 +02:00
buildPhase = ''
2017-01-30 20:20:11 +01:00
substituteInPlace SQLitePCLRaw . provider . sqlite3 . dll . config - - replace libsqlite3 . so $ { sqlite . out } /lib/libsqlite3.so
substituteInPlace MediaBrowser . Server . Mono . exe . config - - replace ProgramData-Server " / v a r / l i b / e m b y / P r o g r a m D a t a - S e r v e r "
2016-04-23 15:08:45 +02:00
'' ;
installPhase = ''
2018-09-17 15:41:16 +02:00
mkdir - p " $ o u t / b i n "
cp - r * " $ o u t / b i n "
2016-10-03 12:14:46 +02:00
2018-08-24 00:42:47 +02:00
makeWrapper " ${ mono54 } / b i n / m o n o " $ out/bin/MediaBrowser.Server.Mono \
2016-10-03 12:14:46 +02:00
- - add-flags " $ o u t / b i n / M e d i a B r o w s e r . S e r v e r . M o n o . e x e - f f m p e g ${ ffmpeg } / b i n / f f m p e g - f f p r o b e ${ ffmpeg } / b i n / f f p r o b e "
2016-04-23 15:08:45 +02:00
'' ;
2018-09-17 15:41:16 +02:00
meta = with stdenv . lib ; {
2016-04-23 15:08:45 +02:00
description = " M e d i a B r o w s e r - B r i n g t o g e t h e r y o u r v i d e o s , m u s i c , p h o t o s , a n d l i v e t e l e v i s i o n " ;
2017-08-12 10:28:09 +02:00
homepage = https://emby.media/ ;
2018-09-17 15:41:16 +02:00
license = licenses . gpl2 ;
maintainers = with maintainers ; [ fadenb ] ;
platforms = platforms . all ;
2016-04-23 15:08:45 +02:00
} ;
}