summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-04-25 13:42:03 +0400
committerNikolay Amiantov <ab@fmap.me>2016-04-25 13:42:03 +0400
commit31d76ae1b1f8c3ef71e84dd002f0c9396edfa6ca (patch)
treeb8f224947d534c02f69229bee8af3e63f840f7b5 /pkgs
parent7cf8daa2bbf7e9ac1b57305a22547271dca28a6e (diff)
parentef9175c5fb5ae0dc17bdfdffef8859d725f318c1 (diff)
downloadnixpkgs-31d76ae1b1f8c3ef71e84dd002f0c9396edfa6ca.tar
nixpkgs-31d76ae1b1f8c3ef71e84dd002f0c9396edfa6ca.tar.gz
nixpkgs-31d76ae1b1f8c3ef71e84dd002f0c9396edfa6ca.tar.bz2
nixpkgs-31d76ae1b1f8c3ef71e84dd002f0c9396edfa6ca.tar.lz
nixpkgs-31d76ae1b1f8c3ef71e84dd002f0c9396edfa6ca.tar.xz
nixpkgs-31d76ae1b1f8c3ef71e84dd002f0c9396edfa6ca.tar.zst
nixpkgs-31d76ae1b1f8c3ef71e84dd002f0c9396edfa6ca.zip
Merge pull request #14871 from abbradar/choice-cdrtools-cdrkit
CD/DVD writing improvements
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/misc/cdrtools/default.nix9
-rw-r--r--pkgs/applications/misc/k3b/default.nix7
-rw-r--r--pkgs/applications/misc/k3b/wrapper.nix23
-rw-r--r--pkgs/development/libraries/libburn/default.nix18
-rw-r--r--pkgs/development/libraries/libisofs/default.nix21
-rw-r--r--pkgs/tools/cd-dvd/brasero/default.nix8
-rw-r--r--pkgs/tools/cd-dvd/brasero/wrapper.nix23
-rw-r--r--pkgs/top-level/all-packages.nix14
8 files changed, 108 insertions, 15 deletions
diff --git a/pkgs/applications/misc/cdrtools/default.nix b/pkgs/applications/misc/cdrtools/default.nix
index 2168a21f7da..55bcfd99e17 100644
--- a/pkgs/applications/misc/cdrtools/default.nix
+++ b/pkgs/applications/misc/cdrtools/default.nix
@@ -26,10 +26,11 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://sourceforge.net/projects/cdrtools/;
     description = "Highly portable CD/DVD/BluRay command line recording software";
-    # Licensing issues: This package contains code licensed under CDDL, GPL2
-    # and LGPL2. There is debate regarding the legality of this licensing.
-    # Marked as unfree to avoid any possible legal issues.
-    license = licenses.unfree;
+    license = with licenses; [ gpl2 lgpl2 cddl ];
     platforms = platforms.linux;
+    # Licensing issues: This package contains code licensed under CDDL, GPL2
+    # and LGPL2. There is a debate regarding the legality of distributing this
+    # package in binary form.
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix
index 922dec11180..8c69e36a4e4 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 00000000000..d5c98a2affa
--- /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/development/libraries/libburn/default.nix b/pkgs/development/libraries/libburn/default.nix
new file mode 100644
index 00000000000..22edcc15769
--- /dev/null
+++ b/pkgs/development/libraries/libburn/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libburn-${version}";
+  version = "1.4.2.pl01";
+
+  src = fetchurl {
+    url = "http://files.libburnia-project.org/releases/${name}.tar.gz";
+    sha256 = "1nqfm24dm2csdnhsmpgw9cwcnkwvqlvfzsm9bhr6yg7bbmzwvkrk";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://libburnia-project.org/;
+    description = "A library by which preformatted data get onto optical media: CD, DVD, BD (Blu-Ray)";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/libisofs/default.nix b/pkgs/development/libraries/libisofs/default.nix
new file mode 100644
index 00000000000..d7e78410740
--- /dev/null
+++ b/pkgs/development/libraries/libisofs/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, acl, attr, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "libisofs-${version}";
+  version = "1.4.2";
+
+  src = fetchurl {
+    url = "http://files.libburnia-project.org/releases/${name}.tar.gz";
+    sha256 = "1axk1ykv8ibrlrd2f3allidviimi4ya6k7wpvr6r4y1sc7mg7rym";
+  };
+
+  buildInputs = [ attr zlib ];
+  propagatedBuildInputs = [ acl ];
+
+  meta = with stdenv.lib; {
+    homepage = http://libburnia-project.org/;
+    description = "A library to create an ISO-9660 filesystem with extensions like RockRidge or Joliet";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/tools/cd-dvd/brasero/default.nix b/pkgs/tools/cd-dvd/brasero/default.nix
index ff910ad2e49..e903601c81d 100644
--- a/pkgs/tools/cd-dvd/brasero/default.nix
+++ b/pkgs/tools/cd-dvd/brasero/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchurl, pkgconfig, gtk3, itstool, gst_all_1, libxml2, libnotify
-, libcanberra_gtk3, intltool, makeWrapper, dvdauthor, cdrdao
-, dvdplusrwtools, cdrtools, vcdimager, wrapGAppsHook }:
+, libcanberra_gtk3, intltool, makeWrapper, dvdauthor, libburn, libisofs
+, vcdimager, wrapGAppsHook }:
 
 # libdvdcss is "too old" (in fast "too new"), see https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/611590
 
 let
   major = "3.12";
   minor = "1";
-  binpath = lib.makeBinPath [ dvdauthor cdrdao dvdplusrwtools vcdimager cdrtools ];
+  binpath = lib.makeBinPath [ dvdauthor vcdimager ];
 
 in stdenv.mkDerivation rec {
   version = "${major}.${minor}";
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig itstool intltool wrapGAppsHook ];
 
-  buildInputs = [ gtk3 libxml2 libnotify libcanberra_gtk3
+  buildInputs = [ gtk3 libxml2 libnotify libcanberra_gtk3 libburn libisofs
                   gst_all_1.gstreamer gst_all_1.gst-plugins-base
                   gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
                   gst_all_1.gst-plugins-ugly gst_all_1.gst-libav ];
diff --git a/pkgs/tools/cd-dvd/brasero/wrapper.nix b/pkgs/tools/cd-dvd/brasero/wrapper.nix
new file mode 100644
index 00000000000..021e0da0e72
--- /dev/null
+++ b/pkgs/tools/cd-dvd/brasero/wrapper.nix
@@ -0,0 +1,23 @@
+{ lib, buildEnv, brasero-original, cdrtools, makeWrapper }:
+
+let
+  binPath = lib.makeBinPath [ cdrtools ];
+in buildEnv {
+  name = "brasero-${brasero-original.version}";
+
+  paths = [ brasero-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 ${brasero-original}/bin/*; do
+        ln -s $i $out/bin
+      done
+    fi
+    wrapProgram $out/bin/brasero \
+      --prefix PATH ':' ${binPath}
+  '';
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f4de0702e2b..f332a833a37 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -609,7 +609,9 @@ in
 
   boxfs = callPackage ../tools/filesystems/boxfs { };
 
-  brasero = callPackage ../tools/cd-dvd/brasero { };
+  brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { });
+
+  brasero = callPackage ../tools/cd-dvd/brasero/wrapper.nix { };
 
   brltty = callPackage ../tools/misc/brltty {
     alsaSupport = (!stdenv.isDarwin);
@@ -7346,6 +7348,8 @@ in
 
   libbson = callPackage ../development/libraries/libbson { };
 
+  libburn = callPackage ../development/libraries/libburn { };
+
   libcaca = callPackage ../development/libraries/libcaca { };
 
   libcanberra = callPackage ../development/libraries/libcanberra { };
@@ -7741,6 +7745,8 @@ in
     graphviz = graphviz-nox;
   };
 
+  libisofs = callPackage ../development/libraries/libisofs { };
+
   libiptcdata = callPackage ../development/libraries/libiptcdata { };
 
   libjpeg_original = callPackage ../development/libraries/libjpeg { };
@@ -15303,9 +15309,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 { };