7e47f3658e
GitOrigin-RevId: 1925c603f17fc89f4c8f6bf6f631a802ad85d784
73 lines
1.7 KiB
Nix
73 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
fetchpatch,
|
|
pkg-config,
|
|
libiconv,
|
|
libvorbis,
|
|
libmad,
|
|
libao,
|
|
CoreServices,
|
|
IOKit,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "cdrdao";
|
|
version = "1.2.5";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/cdrdao/cdrdao-${finalAttrs.version}.tar.bz2";
|
|
hash = "sha256-0ZtnyFPF26JAavqrbNeI53817r5jTKxGeVKEd8e+AbY=";
|
|
};
|
|
|
|
makeFlags = [ "RM=rm" "LN=ln" "MV=mv" ];
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
];
|
|
|
|
buildInputs = [
|
|
libiconv
|
|
libvorbis
|
|
libmad
|
|
libao
|
|
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
|
CoreServices
|
|
IOKit
|
|
];
|
|
|
|
hardeningDisable = [ "format" ];
|
|
|
|
patches = [
|
|
# Fix build on macOS SDK < 12
|
|
# https://github.com/cdrdao/cdrdao/pull/19
|
|
(fetchpatch {
|
|
url = "https://github.com/cdrdao/cdrdao/commit/105d72a61f510e3c47626476f9bbc9516f824ede.patch";
|
|
hash = "sha256-NVIw59CSrc/HcslhfbYQNK/qSmD4QbfuV8hWYhWelX4=";
|
|
})
|
|
|
|
# Fix undefined behaviour caused by uninitialized variable
|
|
# https://github.com/cdrdao/cdrdao/pull/21
|
|
(fetchpatch {
|
|
url = "https://github.com/cdrdao/cdrdao/commit/251a40ab42305c412674c7c2d391374d91e91c95.patch";
|
|
hash = "sha256-+nGlWw5rgc5Ns2l+6fQ4Hp2LbhO4R/I95h9WGIh/Ebw=";
|
|
})
|
|
];
|
|
|
|
# we have glibc/include/linux as a symlink to the kernel headers,
|
|
# and the magic '..' points to kernelheaders, and not back to the glibc/include
|
|
postPatch = ''
|
|
sed -i 's,linux/../,,g' dao/sg_err.h
|
|
'';
|
|
|
|
# Needed on gcc >= 6.
|
|
env.NIX_CFLAGS_COMPILE = "-Wno-narrowing";
|
|
|
|
meta = {
|
|
description = "Tool for recording audio or data CD-Rs in disk-at-once (DAO) mode";
|
|
homepage = "https://cdrdao.sourceforge.net/";
|
|
platforms = lib.platforms.unix;
|
|
license = lib.licenses.gpl2Plus;
|
|
};
|
|
})
|