summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/misc/k3b/default.nix7
-rw-r--r--pkgs/applications/misc/k3b/wrapper.nix23
-rw-r--r--pkgs/top-level/all-packages.nix6
3 files changed, 30 insertions, 6 deletions
diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix
index 922dec111806..8c69e36a4e49 100644
--- a/pkgs/applications/misc/k3b/default.nix
+++ b/pkgs/applications/misc/k3b/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, makeWrapper, automoc4, cmake, perl, pkgconfig
 , shared_mime_info, libvorbis, taglib, flac, libsamplerate
 , libdvdread, lame, libsndfile, libmad, gettext , transcode, cdrdao
-, cdrtools, dvdplusrwtools, vcdimager, cdparanoia, kdelibs, libdvdcss, ffmpeg
+, dvdplusrwtools, vcdimager, cdparanoia, kdelibs, libdvdcss, ffmpeg
 , kdemultimedia, phonon, libkcddb ? null
 }:
 
@@ -9,10 +9,11 @@ let
   # at runtime, k3b needs the executables cdrdao, cdrecord, dvd+rw-format,
   # eMovix, growisofs, mkisofs, normalize, readcd, transcode, vcdxbuild,
   # vcdxminfo, and vcdxrip
-  binPath = lib.makeBinPath [ cdrdao dvdplusrwtools transcode vcdimager cdrtools ];
+  binPath = lib.makeBinPath [ cdrdao dvdplusrwtools transcode vcdimager ];
 
 in stdenv.mkDerivation rec {
-  name = "k3b-2.0.3a";
+  name = "k3b-${version}";
+  version = "2.0.3a";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/k3b/${name}.tar.xz";
diff --git a/pkgs/applications/misc/k3b/wrapper.nix b/pkgs/applications/misc/k3b/wrapper.nix
new file mode 100644
index 000000000000..d5c98a2affa7
--- /dev/null
+++ b/pkgs/applications/misc/k3b/wrapper.nix
@@ -0,0 +1,23 @@
+{ lib, buildEnv, k3b-original, cdrtools, makeWrapper }:
+
+let
+  binPath = lib.makeBinPath [ cdrtools ];
+in buildEnv {
+  name = "k3b-${k3b-original.version}";
+
+  paths = [ k3b-original ];
+  buildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    # TODO: This could be avoided if buildEnv could be forced to create all directories
+    if [ -L $out/bin ]; then
+      rm $out/bin
+      mkdir $out/bin
+      for i in ${k3b-original}/bin/*; do
+        ln -s $i $out/bin
+      done
+    fi
+    wrapProgram $out/bin/k3b \
+      --prefix PATH ':' ${binPath}
+  '';
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c70314209b23..9a7bffe73a5e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15292,9 +15292,9 @@ in
 
           eventlist = callPackage ../applications/office/eventlist {};
 
-          k3b = callPackage ../applications/misc/k3b {
-            cdrtools = cdrkit;
-          };
+          k3b-original = lowPrio (callPackage ../applications/misc/k3b { });
+
+          k3b = callPackage ../applications/misc/k3b/wrapper.nix { };
 
           kadu = callPackage ../applications/networking/instant-messengers/kadu { };