Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
104 lines
2.8 KiB
Nix
104 lines
2.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitLab,
|
|
cmake,
|
|
libcap,
|
|
zlib,
|
|
bzip2,
|
|
perl,
|
|
quilt,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "cdrkit";
|
|
version = "1.1.11-4";
|
|
|
|
src = fetchFromGitLab {
|
|
domain = "salsa.debian.org";
|
|
owner = "debian";
|
|
repo = "cdrkit";
|
|
rev = "debian/9%${finalAttrs.version}";
|
|
hash = "sha256-oOqvSA2MAURf0YOrWM5Ft6Ln43gXw7SEvNxxRrDs8sI=";
|
|
};
|
|
|
|
patches = [
|
|
./cmake-4.patch
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
quilt
|
|
];
|
|
buildInputs = [
|
|
zlib
|
|
bzip2
|
|
perl
|
|
]
|
|
++ lib.optionals stdenv.hostPlatform.isLinux [ libcap ];
|
|
|
|
env.NIX_CFLAGS_COMPILE = toString (
|
|
lib.optionals stdenv.hostPlatform.isMusl [
|
|
"-D__THROW="
|
|
]
|
|
++ lib.optionals stdenv.cc.isClang [
|
|
"-Wno-error=int-conversion"
|
|
]
|
|
);
|
|
|
|
postPatch = ''
|
|
QUILT_PATCHES=debian/patches quilt push -a
|
|
''
|
|
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
|
substituteInPlace libusal/scsi-mac-iokit.c \
|
|
--replace "IOKit/scsi-commands/SCSITaskLib.h" "IOKit/scsi/SCSITaskLib.h"
|
|
substituteInPlace genisoimage/sha256.c \
|
|
--replace "<endian.h>" "<machine/endian.h>"
|
|
substituteInPlace genisoimage/sha512.c \
|
|
--replace "<endian.h>" "<machine/endian.h>"
|
|
substituteInPlace genisoimage/sha256.h \
|
|
--replace "__THROW" ""
|
|
substituteInPlace genisoimage/sha512.h \
|
|
--replace "__THROW" ""
|
|
'';
|
|
|
|
preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
|
|
substituteInPlace include/xconfig.h.in \
|
|
--replace "#define HAVE_RCMD 1" "#undef HAVE_RCMD"
|
|
'';
|
|
|
|
postConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
|
substituteInPlace */CMakeFiles/*.dir/link.txt \
|
|
--replace-warn "-lrt" "-framework IOKit -framework CoreFoundation"
|
|
'';
|
|
|
|
postInstall = ''
|
|
# file name compatibility with the old cdrecord (growisofs wants this name)
|
|
ln -s $out/bin/genisoimage $out/bin/mkisofs
|
|
ln -s $out/bin/wodim $out/bin/cdrecord
|
|
'';
|
|
|
|
cmakeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "-DBITFIELDS_HTOL=0" ];
|
|
|
|
makeFlags = [ "PREFIX=\$(out)" ];
|
|
|
|
meta = {
|
|
description = "Portable command-line CD/DVD recorder software, mostly compatible with cdrtools";
|
|
|
|
longDescription = ''
|
|
Cdrkit is a suite of programs for recording CDs and DVDs,
|
|
blanking CD-RW media, creating ISO-9660 filesystem images,
|
|
extracting audio CD data, and more. The programs included in
|
|
the cdrkit package were originally derived from several sources,
|
|
most notably mkisofs by Eric Youngdale and others, cdda2wav by
|
|
Heiko Eissfeldt, and cdrecord by Jörg Schilling. However,
|
|
cdrkit is not affiliated with any of these authors; it is now an
|
|
independent project.
|
|
'';
|
|
|
|
homepage = "http://cdrkit.org/";
|
|
license = lib.licenses.gpl2Plus;
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
})
|