Merge pull request #63113 from ck3d/vdr-xineliboutput
initial vdr plugin xineliboutput-2.1.0
This commit is contained in:
commit
02128a8bb5
@ -1,7 +1,8 @@
|
|||||||
{ stdenv, fetchurl, fetchgit, vdr, alsaLib, fetchFromGitHub
|
{ stdenv, fetchurl, fetchgit, vdr, alsaLib, fetchFromGitHub
|
||||||
, libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg
|
, libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg
|
||||||
, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg, ncurses }:
|
, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg, ncurses
|
||||||
let
|
, callPackage
|
||||||
|
}: let
|
||||||
mkPlugin = name: stdenv.mkDerivation {
|
mkPlugin = name: stdenv.mkDerivation {
|
||||||
name = "vdr-${vdr.version}-${name}";
|
name = "vdr-${vdr.version}-${name}";
|
||||||
inherit (vdr) src;
|
inherit (vdr) src;
|
||||||
@ -11,6 +12,8 @@ let
|
|||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
||||||
|
xineliboutput = callPackage ./xineliboutput {};
|
||||||
|
|
||||||
skincurses = (mkPlugin "skincurses").overrideAttrs(oldAttr: {
|
skincurses = (mkPlugin "skincurses").overrideAttrs(oldAttr: {
|
||||||
buildInputs = oldAttr.buildInputs ++ [ ncurses ];
|
buildInputs = oldAttr.buildInputs ++ [ ncurses ];
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
{ symlinkJoin, lib, makeWrapper, vdr, plugins ? [] }:
|
{ symlinkJoin, lib, makeWrapper, vdr
|
||||||
symlinkJoin {
|
, plugins ? []
|
||||||
|
}: let
|
||||||
|
|
||||||
|
makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l);
|
||||||
|
|
||||||
|
requiredXinePlugins = lib.flatten (map (p: p.passthru.requiredXinePlugins or []) plugins);
|
||||||
|
|
||||||
|
in symlinkJoin {
|
||||||
|
|
||||||
name = "vdr-with-plugins-${(builtins.parseDrvName vdr.name).version}";
|
name = "vdr-with-plugins-${(builtins.parseDrvName vdr.name).version}";
|
||||||
|
|
||||||
@ -8,7 +15,9 @@ symlinkJoin {
|
|||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
wrapProgram $out/bin/vdr --add-flags "-L $out/lib/vdr --localedir=$out/share/locale"
|
wrapProgram $out/bin/vdr \
|
||||||
|
--add-flags "-L $out/lib/vdr --localedir=$out/share/locale" \
|
||||||
|
--prefix XINE_PLUGIN_PATH ":" ${makeXinePluginPath requiredXinePlugins}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with vdr.meta; {
|
meta = with vdr.meta; {
|
||||||
|
64
pkgs/applications/video/vdr/xineliboutput/default.nix
Normal file
64
pkgs/applications/video/vdr/xineliboutput/default.nix
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
{ stdenv, fetchurl, lib, vdr
|
||||||
|
, libav, libcap, libvdpau
|
||||||
|
, xineLib, libjpeg, libextractor, mesa_noglu, libGLU
|
||||||
|
, libX11, libXext, libXrender, libXrandr
|
||||||
|
, makeWrapper
|
||||||
|
}: let
|
||||||
|
name = "vdr-xineliboutput-2.1.0";
|
||||||
|
|
||||||
|
makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l);
|
||||||
|
|
||||||
|
self = stdenv.mkDerivation {
|
||||||
|
inherit name;
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/project/xineliboutput/xineliboutput/${name}/${name}.tgz";
|
||||||
|
sha256 = "1phrxpaz8li7z0qy241spawalhcmwkv5hh3gdijbv4h7mm899yba";
|
||||||
|
};
|
||||||
|
|
||||||
|
# configure don't accept argument --prefix
|
||||||
|
dontAddPrefix = true;
|
||||||
|
|
||||||
|
postConfigure = ''
|
||||||
|
sed -i config.mak \
|
||||||
|
-e 's,XINEPLUGINDIR=/[^/]*/[^/]*/[^/]*/,XINEPLUGINDIR=/,'
|
||||||
|
'';
|
||||||
|
|
||||||
|
makeFlags = [ "DESTDIR=$(out)" ];
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
for f in $out/bin/*; do
|
||||||
|
wrapProgram $f \
|
||||||
|
--prefix XINE_PLUGIN_PATH ":" "${makeXinePluginPath [ "$out" xineLib ]}"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libav
|
||||||
|
libcap
|
||||||
|
libextractor
|
||||||
|
libjpeg
|
||||||
|
libGLU
|
||||||
|
libvdpau
|
||||||
|
libXext
|
||||||
|
libXrandr
|
||||||
|
libXrender
|
||||||
|
libX11
|
||||||
|
mesa_noglu
|
||||||
|
vdr
|
||||||
|
xineLib
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.requiredXinePlugins = [ xineLib self ];
|
||||||
|
|
||||||
|
meta = with lib;{
|
||||||
|
homepage = "https://sourceforge.net/projects/xineliboutput/";
|
||||||
|
description = "Xine-lib based software output device for VDR";
|
||||||
|
maintainers = [ maintainers.ck3d ];
|
||||||
|
license = licenses.gpl2;
|
||||||
|
inherit (vdr.meta) platforms;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in self
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, xorg, alsaLib, libGLU_combined, aalib
|
{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU_combined, aalib
|
||||||
, libvorbis, libtheora, speex, zlib, perl, ffmpeg
|
, libvorbis, libtheora, speex, zlib, perl, ffmpeg
|
||||||
, flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager
|
, flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager
|
||||||
, libmpcdec
|
, libmpcdec
|
||||||
@ -20,6 +20,14 @@ stdenv.mkDerivation rec {
|
|||||||
libcaca libpulseaudio libmng libcdio libv4l vcdimager libmpcdec
|
libcaca libpulseaudio libmng libcdio libv4l vcdimager libmpcdec
|
||||||
];
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "0001-fix-XINE_PLUGIN_PATH-splitting.patch";
|
||||||
|
url = "https://sourceforge.net/p/xine/mailman/attachment/32394053-5e27-6558-f0c9-49e0da0bc3cc%40gmx.de/1/";
|
||||||
|
sha256 = "0nrsdn7myvjs8fl9rj6k4g1bnv0a84prsscg1q9n49gwn339v5rc";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
NIX_LDFLAGS = "-lxcb-shm";
|
NIX_LDFLAGS = "-lxcb-shm";
|
||||||
|
|
||||||
propagatedBuildInputs = [zlib];
|
propagatedBuildInputs = [zlib];
|
||||||
|
Loading…
Reference in New Issue
Block a user