aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/tools/cd-dvd
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/cd-dvd')
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/cdrtools/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix57
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch13
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch11
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch11
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch11
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch93
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch13
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix5
11 files changed, 153 insertions, 168 deletions
diff --git a/nixpkgs/pkgs/tools/cd-dvd/cdrtools/default.nix b/nixpkgs/pkgs/tools/cd-dvd/cdrtools/default.nix
new file mode 100644
index 00000000000..f4f07143a20
--- /dev/null
+++ b/nixpkgs/pkgs/tools/cd-dvd/cdrtools/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, m4, acl, libcap, Carbon, IOKit }:
+
+stdenv.mkDerivation rec {
+ pname = "cdrtools";
+ version = "3.02a09";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/cdrtools/${pname}-${version}.tar.bz2";
+ sha256 = "10ayj48jax2pvsv6j5gybwfsx7b74zdjj84znwag7wwf8n7l6a5a";
+ };
+
+ nativeBuildInputs = [ m4 ];
+ buildInputs = if stdenv.isDarwin then [ Carbon IOKit ] else [ acl libcap ];
+
+ postPatch = ''
+ sed "/\.mk3/d" -i libschily/Targets.man
+ substituteInPlace man/Makefile --replace "man4" ""
+ substituteInPlace RULES/rules.prg --replace "/bin/" ""
+ '';
+
+ dontConfigure = true;
+
+ makeFlags = [ "GMAKE_NOWARN=true" "INS_BASE=/" "INS_RBASE=/" "DESTDIR=${placeholder "out"}" ];
+
+ enableParallelBuilding = false; # parallel building fails on some linux machines
+
+ meta = with stdenv.lib; {
+ homepage = "http://cdrtools.sourceforge.net/private/cdrecord.html";
+ description = "Highly portable CD/DVD/BluRay command line recording software";
+ license = with licenses; [ cddl gpl2 lgpl21 ];
+ platforms = with platforms; linux ++ darwin;
+ # 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/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
index 40ca08c9260..40925a14537 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/default.nix
@@ -1,38 +1,41 @@
-{stdenv, fetchurl, cdrkit, m4}:
+{ stdenv, fetchurl, fetchpatch, cdrtools, m4 }:
-stdenv.mkDerivation {
- name = "dvd+rw-tools-7.1";
+stdenv.mkDerivation rec {
+ pname = "dvd+rw-tools";
+ version = "7.1";
src = fetchurl {
- url = http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-7.1.tar.gz;
+ url = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${pname}-${version}.tar.gz";
sha256 = "1jkjvvnjcyxpql97xjjx0kwvy70kxpiznr2zpjy2hhci5s10zmpq";
};
- # Patches from Gentoo / Fedora
- # https://bugs.gentoo.org/257360
- # https://bugzilla.redhat.com/show_bug.cgi?id=426068
- # https://bugzilla.redhat.com/show_bug.cgi?id=243036
- patches = [
- ./dvd+rw-tools-7.0-dvddl.patch
- ./dvd+rw-tools-7.0-glibc2.6.90.patch
- ./dvd+rw-tools-7.0-wctomb.patch
- ./dvd+rw-tools-7.0-wexit.patch
- ./dvd+rw-tools-7.1-layerbreaksetup.patch
- ];
+ # Patches from Gentoo
+ patches = [ ]
+ ++ builtins.map ({pfile, sha256}: fetchpatch {
+ url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-cdr/dvd+rw-tools/files/${pfile}?id=b510df361241e8f16314b1f14642305f0111dac6";
+ inherit sha256;
+ })
+ [{ pfile = "dvd+rw-tools-7.0-dvddl-r1.patch"; sha256 = "12l33jq6405shfwdycrj52qmd07h5bsp1vjaddknfri456azjny5"; }
+ { pfile = "dvd+rw-tools-7.0-glibc2.6.90.patch"; sha256 = "1fb3gap2in782pa4164h1w0ha8ggsq3inissa1k0zn2p2r3rb5ln"; }
+ { pfile = "dvd+rw-tools-7.0-reload.patch"; sha256 = "12v2y2y6ci5hh6lbmsk97dzgznrm4bxwhc81mq684ix0qspb9mq4"; }
+ { pfile = "dvd+rw-tools-7.0-sysmacros.patch"; sha256 = "1rkb26cyhfxklkmna3l9b4797f6gzlxyqqin44jwnq3jmwfrs6v0"; }
+ { pfile = "dvd+rw-tools-7.0-wctomb-r1.patch"; sha256 = "1xg770l0b4bjn30y7nqg619v4m5ickcn2n8hv9k2an6r191daq58"; }
+ { pfile = "dvd+rw-tools-7.0-wexit.patch"; sha256 = "0sqzlkm19fmjx4lzxkxwn2ymrj9fq0zk0jkys3xm6xvd2ibb6kxl"; }
+ { pfile = "dvd+rw-tools-7.1-bluray_pow_freespace.patch"; sha256 = "0iscz8fs5002ymk6wl2fz4x06b7bdnc57rfz8kbv3216acqi5rv3"; }
+ { pfile = "dvd+rw-tools-7.1-bluray_srm+pow.patch"; sha256 = "0sy40m12w987i6g0cyxv8cfmab4vp7cd222lv05apknfi2y7smmw"; }
+ { pfile = "dvd+rw-tools-7.1-lastshort.patch"; sha256 = "01wspv70sil20khkg5kj086b1x8rrig4yhcq9s88bdjd42nv0vpx"; }
+ { pfile = "dvd+rw-tools-7.1-noevent.patch"; sha256 = "1kbmxpg15wci33f2h6pxxvf3qm0kpyzx9wj5a3l67sk34hvza3z6"; }
+ ];
- buildInputs = [cdrkit m4];
+ nativeBuildInputs = [ m4 ];
+ buildInputs = [ cdrtools ];
- preBuild = ''
- makeFlags="prefix=$out"
- '';
+ makeFlags = [ "prefix=${placeholder "out"}" ];
- # Incompatibility with Linux 2.6.23 headers, see
- # http://www.mail-archive.com/cdwrite@other.debian.org/msg11464.html
- NIX_CFLAGS_COMPILE = "-DINT_MAX=__INT_MAX__";
-
- meta = {
- homepage = http://fy.chalmers.se/~appro/linux/DVD+RW/tools;
- description = "Tools for burning DVDs";
- platforms = stdenv.lib.platforms.linux;
+ meta = with stdenv.lib; {
+ homepage = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools";
+ description = "Tools for mastering Blu-ray and DVD+-RW/+-R media";
+ platforms = platforms.linux;
+ license = with licenses; [ gpl2 publicDomain ];
};
}
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
deleted file mode 100644
index c1c6fb3332a..00000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-dvddl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- ./growisofs_mmc.cpp.joe 2006-04-27 20:45:00.788446635 +0200
-+++ ./growisofs_mmc.cpp 2006-04-27 20:46:01.666824300 +0200
-@@ -1412,9 +1412,7 @@
- blocks += 15, blocks &= ~15;
-
- if (blocks <= split)
-- fprintf (stderr,":-( more than 50%% of space will be *wasted*!\n"
-- " use single layer media for this recording\n"),
-- exit (FATAL_START(EMEDIUMTYPE));
-+ fprintf (stderr,":-? more than 50%% of space will be *wasted*!\n");
-
- blocks /= 16;
- blocks += 1;
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
deleted file mode 100644
index 49742d3c4db..00000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-glibc2.6.90.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up dvd+rw-tools-7.0/transport.hxx.glibc2.6.90 dvd+rw-tools-7.0/transport.hxx
---- dvd+rw-tools-7.0/transport.hxx.glibc2.6.90 2007-08-15 12:56:17.000000000 +0200
-+++ dvd+rw-tools-7.0/transport.hxx 2007-08-15 12:56:42.000000000 +0200
-@@ -11,6 +11,7 @@
- #include <stdlib.h>
- #include <unistd.h>
- #include <string.h>
-+#include <limits.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
deleted file mode 100644
index 3d13fc8d273..00000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wctomb.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./transport.hxx~ 2008-03-25 21:24:47.000000000 -0400
-+++ ./transport.hxx 2008-03-25 21:25:36.000000000 -0400
-@@ -116,7 +116,7 @@
- extern "C" char *plusminus_locale()
- { static class __plusminus {
- private:
-- char str[4];
-+ char str[MB_LEN_MAX];
- public:
- __plusminus() { setlocale(LC_CTYPE,ENV_LOCALE);
- int l = wctomb(str,(wchar_t)(unsigned char)'');
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch
deleted file mode 100644
index e7910cbdd7b..00000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.0-wexit.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- dvd+rw-tools-7.0/dvd+rw-format.cpp.wexit 2007-06-21 12:42:30.000000000 +0200
-+++ dvd+rw-tools-7.0/dvd+rw-format.cpp 2007-06-21 12:44:13.000000000 +0200
-@@ -245,7 +245,7 @@ int main (int argc, char *argv[])
- alarm(1);
- while ((waitpid(pid,&i,0) != pid) && !WIFEXITED(i)) ;
- if (WEXITSTATUS(i) == 0) fprintf (stderr,"\n");
-- exit (0);
-+ exit (WEXITSTATUS(i));
- }
- #endif
-
diff --git a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch b/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch
deleted file mode 100644
index 7636f8393df..00000000000
--- a/nixpkgs/pkgs/tools/cd-dvd/dvd+rw-tools/dvd+rw-tools-7.1-layerbreaksetup.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff -ur dvd+rw-tools-7.1-orig/growisofs.c dvd+rw-tools-7.1/growisofs.c
---- dvd+rw-tools-7.1-orig/growisofs.c 2008-03-04 10:15:03.000000000 +0100
-+++ dvd+rw-tools-7.1/growisofs.c 2009-09-06 22:39:33.000000000 +0200
-@@ -535,7 +535,7 @@
- */
- int get_mmc_profile (void *fd);
- int plusminus_r_C_parm (void *fd,char *C_parm);
--pwrite64_t poor_mans_setup (void *fd,off64_t leadout);
-+pwrite64_t poor_mans_setup (void *fd,off64_t leadout,unsigned int lbreak);
- char *plusminus_locale ();
- int __1x ();
- /*
-@@ -2447,7 +2447,7 @@
- goto out;
- }
- if (!progress.final) progress.final = tracksize;
-- tracksize = layer_break*CD_BLOCK*2;
-+ //tracksize = layer_break*CD_BLOCK*2;
- }
- }
- else if (capacity > outoff)
-@@ -2648,7 +2648,7 @@
- * further details on poor_mans_setup
- */
- pwrite64_method = poor_mans_setup (ioctl_handle,
-- outoff+tracksize);
-+ outoff+tracksize, (unsigned int)layer_break);
- }
-
- if (!progress.final)
-diff -ur dvd+rw-tools-7.1-orig/growisofs_mmc.cpp dvd+rw-tools-7.1/growisofs_mmc.cpp
---- dvd+rw-tools-7.1-orig/growisofs_mmc.cpp 2008-03-04 18:47:49.000000000 +0100
-+++ dvd+rw-tools-7.1/growisofs_mmc.cpp 2009-09-06 20:52:46.000000000 +0200
-@@ -1612,7 +1612,7 @@
- return 0;
- }
-
--static void plus_r_dl_split (Scsi_Command &cmd,off64_t size)
-+static void plus_r_dl_split (Scsi_Command &cmd,off64_t size,unsigned int lbreak)
- { int err;
- unsigned int blocks,split;
- unsigned char dvd_20[4+8];
-@@ -1644,10 +1644,17 @@
- " use single layer media for this recording\n"),
- exit (FATAL_START(EMEDIUMTYPE));
-
-- blocks /= 16;
-- blocks += 1;
-- blocks /= 2;
-- blocks *= 16;
-+ if (lbreak)
-+ {
-+ blocks=lbreak;
-+ }
-+ else
-+ {
-+ blocks /= 16;
-+ blocks += 1;
-+ blocks /= 2;
-+ blocks *= 16;
-+ }
-
- fprintf (stderr,"%s: splitting layers at %u blocks\n",
- ioctl_device,blocks);
-@@ -2010,7 +2017,7 @@
- typedef ssize_t (*pwrite64_t)(int,const void *,size_t,off64_t);
-
- extern "C"
--pwrite64_t poor_mans_setup (void *fd,off64_t leadout)
-+pwrite64_t poor_mans_setup (void *fd,off64_t leadout,unsigned int lbreak)
- { Scsi_Command cmd(ioctl_handle=fd);
- int err,profile=mmc_profile&0xFFFF;
-
-@@ -2059,7 +2066,7 @@
- case 0x2B: // DVD+R Double Layer
- plusminus_pages_setup(cmd,profile);
- if (profile==0x2B && next_track==1 && dvd_compat && leadout)
-- plus_r_dl_split (cmd,leadout);
-+ plus_r_dl_split (cmd,leadout,lbreak);
- atexit (plus_r_finalize);
- if (next_wr_addr)
- { atsignals (no_r_finalize);
-diff -ur dvd+rw-tools-7.1-orig/transport.hxx dvd+rw-tools-7.1/transport.hxx
---- dvd+rw-tools-7.1-orig/transport.hxx 2008-03-01 11:34:43.000000000 +0100
-+++ dvd+rw-tools-7.1/transport.hxx 2009-09-06 20:53:53.000000000 +0200
-@@ -9,6 +9,7 @@
- #if defined(__unix) || defined(__unix__)
- #include <stdio.h>
- #include <stdlib.h>
-+#include <limits.h>
- #include <unistd.h>
- #include <string.h>
- #include <sys/types.h>
diff --git a/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix b/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
new file mode 100644
index 00000000000..90315540aba
--- /dev/null
+++ b/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub
+, python3
+, popt
+}:
+
+stdenv.mkDerivation rec {
+ pname = "isomd5sum";
+ version = "1.2.3";
+
+ src = fetchFromGitHub {
+ owner = "rhinstaller";
+ repo = pname;
+ rev = version;
+ sha256 = "1wjnh2hlp1hjjm4a8wzdhdrm73jq41lmpmy3ls0rh715p3j7z4q9";
+ };
+
+ buildInputs = [ python3 popt ] ;
+
+ postPatch = ''
+ substituteInPlace Makefile --replace "#/usr/" "#"
+ substituteInPlace Makefile --replace "/usr/" "/"
+ '';
+
+ dontConfigure = true;
+
+ makeFlags = [ "DESTDIR=${placeholder "out"}" ];
+
+ # we don't install python stuff as it borks up directories
+ installTargets = "install-bin install-devel";
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/rhinstaller/isomd5sum;
+ description = "Utilities for working with md5sum implanted in ISO images";
+ platforms = platforms.linux;
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ knl ];
+ };
+}
diff --git a/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix b/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix
new file mode 100644
index 00000000000..94cd09674da
--- /dev/null
+++ b/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, substituteAll }:
+
+stdenv.mkDerivation rec {
+ pname = "srt-to-vtt-cl";
+ version = "unstable-2019-01-03";
+
+ src = fetchFromGitHub {
+ owner = "nwoltman";
+ repo = pname;
+ rev = "ce3d0776906eb847c129d99a85077b5082f74724";
+ sha256 = "0qxysj08gjr6npyvg148llmwmjl2n9cyqjllfnf3gxb841dy370n";
+ };
+
+ patches = [
+ (substituteAll {
+ src = ./fix-validation.patch;
+ })
+ ];
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp bin/$(uname -s)/$(uname -m)/srt-vtt $out/bin
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Convert SRT files to VTT";
+ license = licenses.mit;
+ maintainers = with maintainers; [ ericdallo ];
+ homepage = https://github.com/nwoltman/srt-to-vtt-cl;
+ platforms = platforms.linux;
+ };
+}
diff --git a/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch b/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch
new file mode 100644
index 00000000000..abddae6d071
--- /dev/null
+++ b/nixpkgs/pkgs/tools/cd-dvd/srt-to-vtt-cl/fix-validation.patch
@@ -0,0 +1,13 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,4 @@
+-ERR = $(shell which clang++ >/dev/null; echo $$?)
+-ifeq "$(ERR)" "0"
+- CXX ?= clang++
+-else
+- CXX ?= g++
+-endif
++CXX ?= g++
+ CXXFLAGS = -std=c++11 -O2 -MMD -I ./deps
+ OBJECTS := src/text_encoding_detect.o src/Utils.o src/Converter.o src/main.o
+ DEPENDS := $(OBJECTS:.o=.d)
diff --git a/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix b/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
index 1469a68bf0e..901b0c329c5 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -1,11 +1,12 @@
{ fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl, attr, libiconv }:
stdenv.mkDerivation rec {
- name = "xorriso-1.5.0";
+ name = "xorriso-${version}";
+ version = "1.5.2";
src = fetchurl {
url = "mirror://gnu/xorriso/${name}.tar.gz";
- sha256 = "0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9";
+ sha256 = "1rqpzj95f70jfwpn4lamasfgqpizjsipz12aprdhri777b4zas9v";
};
doCheck = true;