nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 fetchpatch,
6 cdrtools,
7 m4,
8}:
9
10stdenv.mkDerivation rec {
11 pname = "dvd+rw-tools";
12 version = "7.1";
13
14 src = fetchurl {
15 url = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/${pname}-${version}.tar.gz";
16 sha256 = "1jkjvvnjcyxpql97xjjx0kwvy70kxpiznr2zpjy2hhci5s10zmpq";
17 };
18
19 patches = [
20 ./darwin.patch
21 ]
22 # Patches from Gentoo
23 ++
24 map
25 (
26 { pfile, sha256 }:
27 fetchpatch {
28 url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-cdr/dvd+rw-tools/files/${pfile}?id=b510df361241e8f16314b1f14642305f0111dac6";
29 inherit sha256;
30 }
31 )
32 [
33 {
34 pfile = "dvd+rw-tools-7.0-dvddl-r1.patch";
35 sha256 = "12l33jq6405shfwdycrj52qmd07h5bsp1vjaddknfri456azjny5";
36 }
37 {
38 pfile = "dvd+rw-tools-7.0-glibc2.6.90.patch";
39 sha256 = "1fb3gap2in782pa4164h1w0ha8ggsq3inissa1k0zn2p2r3rb5ln";
40 }
41 {
42 pfile = "dvd+rw-tools-7.0-reload.patch";
43 sha256 = "12v2y2y6ci5hh6lbmsk97dzgznrm4bxwhc81mq684ix0qspb9mq4";
44 }
45 {
46 pfile = "dvd+rw-tools-7.0-sysmacros.patch";
47 sha256 = "1rkb26cyhfxklkmna3l9b4797f6gzlxyqqin44jwnq3jmwfrs6v0";
48 }
49 {
50 pfile = "dvd+rw-tools-7.0-wctomb-r1.patch";
51 sha256 = "1xg770l0b4bjn30y7nqg619v4m5ickcn2n8hv9k2an6r191daq58";
52 }
53 {
54 pfile = "dvd+rw-tools-7.0-wexit.patch";
55 sha256 = "0sqzlkm19fmjx4lzxkxwn2ymrj9fq0zk0jkys3xm6xvd2ibb6kxl";
56 }
57 {
58 pfile = "dvd+rw-tools-7.1-bluray_pow_freespace.patch";
59 sha256 = "0iscz8fs5002ymk6wl2fz4x06b7bdnc57rfz8kbv3216acqi5rv3";
60 }
61 {
62 pfile = "dvd+rw-tools-7.1-bluray_srm+pow.patch";
63 sha256 = "0sy40m12w987i6g0cyxv8cfmab4vp7cd222lv05apknfi2y7smmw";
64 }
65 {
66 pfile = "dvd+rw-tools-7.1-lastshort.patch";
67 sha256 = "01wspv70sil20khkg5kj086b1x8rrig4yhcq9s88bdjd42nv0vpx";
68 }
69 {
70 pfile = "dvd+rw-tools-7.1-noevent.patch";
71 sha256 = "1kbmxpg15wci33f2h6pxxvf3qm0kpyzx9wj5a3l67sk34hvza3z6";
72 }
73 ];
74
75 nativeBuildInputs = [ m4 ];
76 buildInputs = [ cdrtools ];
77
78 makeFlags = [
79 "prefix=${placeholder "out"}"
80 "CC=${stdenv.cc.targetPrefix}cc"
81 "CXX=${stdenv.cc.targetPrefix}c++"
82 ];
83
84 env.NIX_CFLAGS_COMPILE = toString (
85 lib.optionals stdenv.hostPlatform.isDarwin [
86 # error: invalid suffix on literal; C++11 requires a space between literal and identifier
87 "-Wno-reserved-user-defined-literal"
88 # error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'IOByteCount' (aka 'unsigned int') in initializer list
89 "-Wno-c++11-narrowing"
90 ]
91 );
92
93 meta = {
94 homepage = "http://fy.chalmers.se/~appro/linux/DVD+RW/tools";
95 description = "Tools for mastering Blu-ray and DVD+-RW/+-R media";
96 platforms = lib.platforms.unix;
97 license = with lib.licenses; [
98 gpl2Only
99 publicDomain
100 ];
101 };
102}