oven-media-engine: init at 0.10.4

This commit is contained in:
Luke Granger-Brown 2020-07-12 10:51:57 +00:00
parent 5efba00e97
commit 60f322d4a6
2 changed files with 61 additions and 0 deletions

View file

@ -9,4 +9,5 @@ args: {
secretsync = import ./secretsync args;
copybara = import ./copybara.nix args;
hg-git = import ./hg-git.nix args;
oven-media-engine = import ./oven-media-engine.nix args;
} // (import ./heptapod-runner.nix args)

View file

@ -0,0 +1,60 @@
{ pkgs, ... }:
with pkgs.stdenv.lib;
let
inherit (pkgs) stdenv fetchFromGitHub openssl srt zlib bc pkgconfig libvpx libopus srtp jemalloc;
ffmpeg = pkgs.ffmpeg_3_4.overrideAttrs (super: {
pname = "${super.pname}-ovenmediaengine";
src = fetchFromGitHub {
owner = "Airensoft";
repo = "FFmpeg";
rev = "142b4bb64b64e337f80066e6af935a68627fedae"; # ome/3.4
sha256 = "0fla3940q3z0c0ik2xzkbvdfvrdg06ban7wi6y94y8mcipszpp11";
};
});
in
stdenv.mkDerivation rec {
pname = "oven-media-engine";
version = "0.10.4";
src = fetchFromGitHub {
owner = "AirenSoft";
repo = "OvenMediaEngine";
rev = "v${version}";
sha256 = "15lrlynsldlpa21ryzccf5skgiih6y5fc9qg0bfqh557wnnmml6w";
};
sourceRoot = "source/src";
makeFlags = "release CONFIG_LIBRARY_PATHS= CONFIG_PKG_PATHS=";
enableParallelBuilding = true;
nativeBuildInputs = [ bc pkgconfig ];
buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc ];
postUnpack = ''
cp -R $sourceRoot/.. $NIX_BUILD_TOP/build
chmod -R u+rwX $NIX_BUILD_TOP/build
export sourceRoot=$NIX_BUILD_TOP/build/src
echo "source root is now $sourceRoot"
'';
preBuild = ''
patchShebangs projects/main/update_git_info.sh
'';
installPhase = ''
install -Dm0755 bin/RELEASE/OvenMediaEngine $out/bin/OvenMediaEngine
install -Dm0644 ../misc/conf_examples/Origin.xml $out/share/examples/origin_conf/Server.xml
install -Dm0644 ../misc/conf_examples/Logger.xml $out/share/examples/origin_conf/Logger.xml
install -Dm0644 ../misc/conf_examples/Edge.xml $out/share/examples/edge_conf/Server.xml
install -Dm0644 ../misc/conf_examples/Logger.xml $out/share/examples/edge_conf/Logger.xml
'';
meta = {
description = "Open-source streaming video service with sub-second latency";
homepage = "https://ovenmediaengine.com/";
licenses = licenses.gpl2;
platforms = platforms.all;
};
}