summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/video/vdr/default.nix93
-rw-r--r--pkgs/applications/video/vdr/plugins.nix21
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 55 insertions, 61 deletions
diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix
index 0ad0b04e7e4..21c2404f4ee 100644
--- a/pkgs/applications/video/vdr/default.nix
+++ b/pkgs/applications/video/vdr/default.nix
@@ -1,78 +1,55 @@
 { stdenv, fetchurl, fontconfig, libjpeg, libcap, freetype, fribidi, pkgconfig
-, gettext, ncurses, systemd, perl
+, gettext, systemd, perl, lib
 , enableSystemd ? true
 , enableBidi ? true
-}:
-let
-
-  version = "2.4.0";
+}: stdenv.mkDerivation rec {
 
   name = "vdr-${version}";
+  version = "2.4.0";
 
-  mkPlugin = name: stdenv.mkDerivation {
-    name = "vdr-${name}-${version}";
-    inherit (vdr) src;
-    buildInputs = [ vdr ];
-    preConfigure = "cd PLUGINS/src/${name}";
-    installFlags = [ "DESTDIR=$(out)" ];
+  src = fetchurl {
+    url = "ftp://ftp.tvdr.de/vdr/${name}.tar.bz2";
+    sha256 = "1klcgy9kr7n6z8d2c77j63bl8hvhx5qnqppg73f77004hzz4kbwk";
   };
 
-  vdr = stdenv.mkDerivation {
-
-    inherit name;
-
-    src = fetchurl {
-      url = "ftp://ftp.tvdr.de/vdr/${name}.tar.bz2";
-      sha256 = "1klcgy9kr7n6z8d2c77j63bl8hvhx5qnqppg73f77004hzz4kbwk";
-    };
-
-    enableParallelBuilding = true;
-
-    postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd";
+  enableParallelBuilding = true;
 
-    buildInputs = [ fontconfig libjpeg libcap freetype ]
-    ++ stdenv.lib.optional enableSystemd systemd
-    ++ stdenv.lib.optional enableBidi fribidi;
+  postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd";
 
-    buildFlags = [ "vdr" "i18n" ]
-    ++ stdenv.lib.optional enableSystemd "SDNOTIFY=1"
-    ++ stdenv.lib.optional enableBidi "BIDI=1";
+  buildInputs = [ fontconfig libjpeg libcap freetype ]
+  ++ lib.optional enableSystemd systemd
+  ++ lib.optional enableBidi fribidi;
 
-    nativeBuildInputs = [ perl ];
+  buildFlags = [ "vdr" "i18n" ]
+  ++ lib.optional enableSystemd "SDNOTIFY=1"
+  ++ lib.optional enableBidi "BIDI=1";
 
-    # plugins uses the same build environment as vdr
-    propagatedNativeBuildInputs = [ pkgconfig gettext ];
+  nativeBuildInputs = [ perl ];
 
-    installFlags = [
-      "DESTDIR=$(out)"
-      "PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix
-    ];
+  # plugins uses the same build environment as vdr
+  propagatedNativeBuildInputs = [ pkgconfig gettext ];
 
-    installTargets = [ "install-pc" "install-bin" "install-doc" "install-i18n"
-      "install-includes" ];
+  installFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX=" # needs to be empty, otherwise plugins try to install at same prefix
+  ];
 
-    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
-      '';
+  installTargets = [ "install-pc" "install-bin" "install-doc" "install-i18n"
+    "install-includes" ];
 
-    outputs = [ "out" "dev" "man" ];
+  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
+    '';
 
-    meta = with stdenv.lib; {
-      homepage = http://www.tvdr.de/;
-      description = "Video Disc Recorder";
-      maintainers = [ maintainers.ck3d ];
-      platforms = [ "i686-linux" "x86_64-linux" ];
-      license = licenses.gpl2;
-    };
+  outputs = [ "out" "dev" "man" ];
 
+  meta = with lib; {
+    homepage = http://www.tvdr.de/;
+    description = "Video Disc Recorder";
+    maintainers = [ maintainers.ck3d ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    license = licenses.gpl2;
   };
-in vdr // {
-  plugins = {
-    skincurses = (mkPlugin "skincurses").overrideAttrs(
-    oldAttr: { buildInputs = oldAttr.buildInputs ++ [ ncurses ]; });
-  } // (stdenv.lib.genAttrs [
-    "epgtableid0" "hello" "osddemo" "pictures" "servicedemo" "status" "svdrpdemo"
-  ] mkPlugin);
 }
diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix
index 0e543390c4b..4fc3783ba51 100644
--- a/pkgs/applications/video/vdr/plugins.nix
+++ b/pkgs/applications/video/vdr/plugins.nix
@@ -1,7 +1,24 @@
 { stdenv, fetchurl, fetchgit, vdr, ffmpeg_2, alsaLib, fetchFromGitHub
 , libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg
-, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg }:
-{
+, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg, ncurses }:
+let
+  mkPlugin = name: stdenv.mkDerivation {
+    name = "vdr-${vdr.version}-${name}";
+    inherit (vdr) src;
+    buildInputs = [ vdr ];
+    preConfigure = "cd PLUGINS/src/${name}";
+    installFlags = [ "DESTDIR=$(out)" ];
+  };
+in {
+
+  skincurses = (mkPlugin "skincurses").overrideAttrs(oldAttr: {
+    buildInputs = oldAttr.buildInputs ++ [ ncurses ];
+  });
+
+  inherit (stdenv.lib.genAttrs [
+    "epgtableid0" "hello" "osddemo" "pictures" "servicedemo" "status" "svdrpdemo"
+  ] mkPlugin);
+
   femon = stdenv.mkDerivation rec {
 
     name = "vdr-femon-2.4.0";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 35eb3777ab9..10bb5104352 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -23547,7 +23547,7 @@ in
   ghc-standalone-archive = callPackage ../os-specific/darwin/ghc-standalone-archive { inherit (darwin) cctools; };
 
   vdr = callPackage ../applications/video/vdr { };
-  vdrPlugins = vdr.plugins // (recurseIntoAttrs (callPackages ../applications/video/vdr/plugins.nix { }));
+  vdrPlugins = recurseIntoAttrs (callPackages ../applications/video/vdr/plugins.nix { });
   wrapVdr = callPackage ../applications/video/vdr/wrapper.nix {};
 
   chrome-gnome-shell = callPackage  ../desktops/gnome-3/extensions/chrome-gnome-shell {};