push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
{
stdenv,
fetchgit,
fontconfig,
libjpeg,
libcap,
freetype,
fribidi,
pkg-config,
gettext,
systemd,
perl,
lib,
enableSystemd ? true,
enableBidi ? true,
}:
stdenv.mkDerivation rec {
pname = "vdr";
version = "2.6.9";
src = fetchgit {
url = "git://git.tvdr.de/vdr.git";
rev = version;
hash = "sha256-0Metur3+fQhomf+ClY9zXijNsr5wWkaqnzjUNXjsjss=";
};
enableParallelBuilding = true;
postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd";
buildInputs = [
fontconfig
libjpeg
libcap
freetype
perl
]
++ lib.optional enableSystemd systemd
++ lib.optional enableBidi fribidi;
buildFlags = [
"vdr"
"i18n"
]
++ lib.optional enableSystemd "SDNOTIFY=1"
++ lib.optional enableBidi "BIDI=1";
nativeBuildInputs = [ perl ];
# plugins uses the same build environment as vdr
propagatedNativeBuildInputs = [
pkg-config
gettext
];
installFlags = [
"DESTDIR=$(out)"
"PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix
];
installTargets = [
"install-pc"
"install-bin"
"install-doc"
"install-i18n"
"install-includes"
];
postInstall = ''
mkdir -p $out/lib/vdr # only needed if vdr is started without any plugin
mkdir -p $out/share/vdr/conf
cp *.conf $out/share/vdr/conf
'';
outputs = [
"out"
"dev"
"man"
];
meta = with lib; {
homepage = "https://www.tvdr.de/";
description = "Video Disc Recorder";
maintainers = [ maintainers.ck3d ];
platforms = platforms.linux;
license = licenses.gpl2Plus;
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchFromGitHub,
vdr,
util-linux,
groff,
perl,
pcre,
}:
stdenv.mkDerivation rec {
pname = "vdr-epgsearch";
version = "2.4.4";
src = fetchFromGitHub {
repo = "vdr-plugin-epgsearch";
owner = "vdr-projects";
sha256 = "sha256-hHTb6MbN18gNiovX1BKR6ldxxRDeDXJt4kNm722phRk=";
rev = "v${version}";
};
postPatch = ''
for f in *.sh; do
patchShebangs "$f"
done
'';
nativeBuildInputs = [
perl # for pod2man and pos2html
util-linux
groff
];
buildInputs = [
vdr
pcre
];
buildFlags = [
"SENDMAIL="
"REGEXLIB=pcre"
];
installFlags = [
"DESTDIR=$(out)"
];
outputs = [
"out"
"man"
];
meta = {
inherit (src.meta) homepage;
description = "Searchtimer and replacement of the VDR program menu";
mainProgram = "createcats";
maintainers = [ lib.maintainers.ck3d ];
license = lib.licenses.gpl2;
inherit (vdr.meta) platforms;
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
vdr,
fetchFromGitHub,
ffmpeg,
}:
stdenv.mkDerivation rec {
pname = "vdr-markad";
version = "4.2.15";
src = fetchFromGitHub {
repo = "vdr-plugin-markad";
owner = "kfb77";
hash = "sha256-ujYr+KqCbQ8t3nN/b/rkDHfbLN2h4ghcNsXePPLEevQ=";
tag = "V${version}";
};
buildInputs = [
vdr
ffmpeg
];
postPatch = ''
substituteInPlace command/Makefile --replace '/usr' ""
substituteInPlace plugin/markad.cpp \
--replace "/usr/bin" "$out/bin" \
--replace "/var/lib/markad" "$out/var/lib/markad"
substituteInPlace command/markad-standalone.cpp \
--replace "/var/lib/markad" "$out/var/lib/markad"
'';
buildFlags = [
"DESTDIR=$(out)"
"VDRDIR=${vdr.dev}/lib/pkgconfig"
];
installFlags = buildFlags;
meta = {
inherit (src.meta) homepage;
description = "Plugin for VDR that marks advertisements";
mainProgram = "markad";
maintainers = [ lib.maintainers.ck3d ];
inherit (vdr.meta) platforms license;
};
}

View File

@@ -0,0 +1,33 @@
{
stdenv,
lib,
fetchFromGitLab,
vdr,
graphicsmagick,
}:
stdenv.mkDerivation rec {
pname = "vdr-skin-nopacity";
version = "1.1.19";
src = fetchFromGitLab {
repo = "SkinNopacity";
owner = "kamel5";
hash = "sha256-f15KtoPLvB5bF//5+gmmDmx8MGmiIDPGOYoNgSkcVqM=";
tag = version;
};
buildInputs = [
vdr
graphicsmagick
];
installFlags = [ "DESTDIR=$(out)" ];
meta = with lib; {
inherit (src.meta) homepage;
description = "Highly customizable native true color skin for the Video Disc Recorder";
maintainers = [ maintainers.ck3d ];
license = licenses.gpl2;
inherit (vdr.meta) platforms;
};
}

View File

@@ -0,0 +1,169 @@
{
lib,
stdenv,
vdr,
fetchFromGitHub,
graphicsmagick,
boost186,
libgcrypt,
ncurses,
callPackage,
}:
let
mkPlugin =
name:
stdenv.mkDerivation {
name = "vdr-${name}-${vdr.version}";
inherit (vdr) src;
buildInputs = [ vdr ];
preConfigure = "cd PLUGINS/src/${name}";
installFlags = [ "DESTDIR=$(out)" ];
};
in
{
epgsearch = callPackage ./epgsearch { };
markad = callPackage ./markad { };
nopacity = callPackage ./nopacity { };
softhddevice = callPackage ./softhddevice { };
streamdev = callPackage ./streamdev { };
xineliboutput = callPackage ./xineliboutput { };
skincurses = (mkPlugin "skincurses").overrideAttrs (oldAttr: {
buildInputs = oldAttr.buildInputs ++ [ ncurses ];
});
femon = stdenv.mkDerivation rec {
pname = "vdr-femon";
version = "2.4.0";
buildInputs = [ vdr ];
src = fetchFromGitHub {
repo = "vdr-plugin-femon";
owner = "rofafor";
sha256 = "sha256-0qBMYgNKk7N9Bj8fAoOokUo+G9gfj16N5e7dhoKRBqs=";
rev = "v${version}";
};
postPatch = "substituteInPlace Makefile --replace /bin/true true";
makeFlags = [ "DESTDIR=$(out)" ];
meta = with lib; {
inherit (src.meta) homepage;
description = "DVB Frontend Status Monitor plugin for VDR";
maintainers = [ maintainers.ck3d ];
license = licenses.gpl2;
inherit (vdr.meta) platforms;
};
};
vnsiserver = stdenv.mkDerivation rec {
pname = "vdr-vnsiserver";
version = "1.8.3";
buildInputs = [ vdr ];
installFlags = [ "DESTDIR=$(out)" ];
src = fetchFromGitHub {
repo = "vdr-plugin-vnsiserver";
owner = "vdr-projects";
rev = version;
sha256 = "sha256-ivHdzX90ozMXSvIc5OrKC5qHeK5W3TK8zyrN8mY3IhE=";
};
meta = with lib; {
inherit (src.meta) homepage;
description = "VDR plugin to handle KODI clients";
maintainers = [ maintainers.ck3d ];
license = licenses.gpl2;
inherit (vdr.meta) platforms;
};
};
text2skin = stdenv.mkDerivation rec {
pname = "vdr-text2skin";
version = "1.3.4-20170702";
src = fetchFromGitHub {
repo = "vdr-plugin-text2skin";
owner = "vdr-projects";
rev = "8f7954da2488ced734c30e7c2704b92a44e6e1ad";
sha256 = "19hkwmaw6nwak38bv6cm2vcjjkf4w5yjyxb98qq6zfjjh5wq54aa";
};
buildInputs = [
vdr
graphicsmagick
];
buildFlags = [
"DESTDIR=$(out)"
"IMAGELIB=graphicsmagic"
"VDRDIR=${vdr.dev}/include/vdr"
"LOCALEDIR=$(DESTDIR)/share/locale"
"LIBDIR=$(DESTDIR)/lib/vdr"
];
preBuild = ''
mkdir -p $out/lib/vdr
'';
dontInstall = true;
meta = with lib; {
inherit (src.meta) homepage;
description = "VDR Text2Skin Plugin";
maintainers = [ maintainers.ck3d ];
license = licenses.gpl2;
inherit (vdr.meta) platforms;
};
};
fritzbox = stdenv.mkDerivation rec {
pname = "vdr-fritzbox";
version = "1.5.4";
src = fetchFromGitHub {
owner = "jowi24";
repo = "vdr-fritz";
rev = version;
hash = "sha256-DGD73i+ZHFgtCo+pMj5JaMovvb5vS1x20hmc5t29//o=";
fetchSubmodules = true;
};
buildInputs = [
vdr
boost186
libgcrypt
];
installFlags = [ "DESTDIR=$(out)" ];
meta = with lib; {
inherit (src.meta) homepage;
description = "Plugin for VDR to access AVMs Fritz Box routers";
maintainers = [ maintainers.ck3d ];
license = licenses.gpl2;
inherit (vdr.meta) platforms;
};
};
}
// (lib.genAttrs [
"epgtableid0"
"hello"
"osddemo"
"pictures"
"servicedemo"
"status"
"svdrpdemo"
] mkPlugin)

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
vdr,
alsa-lib,
fetchFromGitHub,
xcbutilwm,
xorgserver,
ffmpeg,
libva,
libvdpau,
xorg,
libGL,
libGLU,
}:
stdenv.mkDerivation rec {
pname = "vdr-softhddevice";
version = "2.4.6";
src = fetchFromGitHub {
owner = "ua0lnj";
repo = "vdr-plugin-softhddevice";
sha256 = "sha256-69mLiu/v+iZntrGvL0eNE/dDQwRVIlg5MfsNTr52Ots=";
rev = "v${version}";
};
buildInputs = [
vdr
xcbutilwm
ffmpeg
alsa-lib
libva
libvdpau
xorg.libxcb
xorg.libX11
libGL
libGLU
];
makeFlags = [ "DESTDIR=$(out)" ];
postPatch = ''
substituteInPlace softhddev.c \
--replace "LOCALBASE \"/bin/X\"" "\"${xorgserver}/bin/X\""
'';
meta = with lib; {
inherit (src.meta) homepage;
description = "VDR SoftHDDevice Plug-in";
maintainers = [ maintainers.ck3d ];
license = licenses.gpl2;
inherit (vdr.meta) platforms;
};
}

View File

@@ -0,0 +1,40 @@
{
stdenv,
fetchFromGitHub,
lib,
vdr,
}:
stdenv.mkDerivation rec {
pname = "vdr-streamdev";
version = "0.6.4";
src = fetchFromGitHub {
owner = "vdr-projects";
repo = "vdr-plugin-streamdev";
rev = version;
sha256 = "sha256-fFnRDe3n/ltanRvLhrQDB6aV0UmyuEJgNUip0gKBrBA=";
};
# configure don't accept argument --prefix
dontAddPrefix = true;
makeFlags = [
"DESTDIR=$(out)"
"LIBDIR=/lib/vdr"
"LOCDIR=/share/locale"
];
enableParallelBuilding = true;
buildInputs = [
vdr
];
meta = with lib; {
inherit (src.meta) homepage;
description = "This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol) Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol";
maintainers = [ maintainers.ck3d ];
license = licenses.gpl2;
inherit (vdr.meta) platforms;
};
}

View File

@@ -0,0 +1,34 @@
{
symlinkJoin,
lib,
makeWrapper,
vdr,
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-${lib.getVersion vdr}";
paths = [ vdr ] ++ plugins;
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/vdr \
--add-flags "-L $out/lib/vdr --localedir=$out/share/locale" \
--prefix XINE_PLUGIN_PATH ":" ${lib.escapeShellArg (makeXinePluginPath requiredXinePlugins)}
'';
meta = with vdr.meta; {
inherit license homepage;
description =
description + " (with plugins: " + lib.concatStringsSep ", " (map (x: "" + x.name) plugins) + ")";
};
}

View File

@@ -0,0 +1,98 @@
{
stdenv,
fetchurl,
lib,
vdr,
libcap,
libvdpau,
xine-lib,
libjpeg,
libextractor,
libglvnd,
libGLU,
libX11,
libXext,
libXrender,
libXrandr,
ffmpeg,
avahi,
wayland,
makeWrapper,
dbus-glib,
}:
let
makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l);
self = stdenv.mkDerivation rec {
pname = "vdr-xineliboutput";
version = "2.3.0";
src = fetchurl {
url = "mirror://sourceforge/project/xineliboutput/xineliboutput/${pname}-${version}/${pname}-${version}.tgz";
sha256 = "sha256-GnTaGaIbBufZP2npa9mAbrO1ccMf1RzhbvjrWhKBTjg=";
};
postPatch = ''
# pkg-config is called with opengl, which do not contain needed glx symbols
substituteInPlace configure \
--replace "X11 opengl" "X11 gl"
'';
# 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"
xine-lib
]
}"
done
'';
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
dbus-glib
ffmpeg
libcap
libextractor
libjpeg
libglvnd
libGLU
libvdpau
libXext
libXrandr
libXrender
libX11
vdr
xine-lib
avahi
wayland
];
passthru.requiredXinePlugins = [
xine-lib
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