base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / cd-dvd / cdrdao / default.nix
blobb4e93adce8644e737ed41c82fb4185fe68b07240
2   lib,
3   stdenv,
4   fetchurl,
5   fetchpatch,
6   pkg-config,
7   libiconv,
8   libvorbis,
9   libmad,
10   libao,
11   CoreServices,
12   IOKit,
15 stdenv.mkDerivation (finalAttrs: {
16   pname = "cdrdao";
17   version = "1.2.5";
19   src = fetchurl {
20     url = "mirror://sourceforge/cdrdao/cdrdao-${finalAttrs.version}.tar.bz2";
21     hash = "sha256-0ZtnyFPF26JAavqrbNeI53817r5jTKxGeVKEd8e+AbY=";
22   };
24   makeFlags = [ "RM=rm" "LN=ln" "MV=mv" ];
26   nativeBuildInputs = [
27     pkg-config
28   ];
30   buildInputs = [
31     libiconv
32     libvorbis
33     libmad
34     libao
35   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
36     CoreServices
37     IOKit
38   ];
40   hardeningDisable = [ "format" ];
42   patches = [
43     # Fix build on macOS SDK < 12
44     # https://github.com/cdrdao/cdrdao/pull/19
45     (fetchpatch {
46       url = "https://github.com/cdrdao/cdrdao/commit/105d72a61f510e3c47626476f9bbc9516f824ede.patch";
47       hash = "sha256-NVIw59CSrc/HcslhfbYQNK/qSmD4QbfuV8hWYhWelX4=";
48     })
50     # Fix undefined behaviour caused by uninitialized variable
51     # https://github.com/cdrdao/cdrdao/pull/21
52     (fetchpatch {
53       url = "https://github.com/cdrdao/cdrdao/commit/251a40ab42305c412674c7c2d391374d91e91c95.patch";
54       hash = "sha256-+nGlWw5rgc5Ns2l+6fQ4Hp2LbhO4R/I95h9WGIh/Ebw=";
55     })
56   ];
58   # we have glibc/include/linux as a symlink to the kernel headers,
59   # and the magic '..' points to kernelheaders, and not back to the glibc/include
60   postPatch = ''
61     sed -i 's,linux/../,,g' dao/sg_err.h
62   '';
64   # Needed on gcc >= 6.
65   env.NIX_CFLAGS_COMPILE = "-Wno-narrowing";
67   meta = {
68     description = "Tool for recording audio or data CD-Rs in disk-at-once (DAO) mode";
69     homepage = "https://cdrdao.sourceforge.net/";
70     platforms = lib.platforms.unix;
71     license = lib.licenses.gpl2Plus;
72   };