cdrkit: fix darwin build
Fix source issues and required deps.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
{lib, stdenv, fetchurl, cmake, libcap, zlib, bzip2, perl}:
|
||||
{lib, stdenv, fetchurl, cmake, libcap, zlib, bzip2, perl, iconv, darwin}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cdrkit";
|
||||
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libcap zlib bzip2 perl ];
|
||||
buildInputs = [ zlib bzip2 perl ] ++
|
||||
lib.optionals stdenv.isLinux [ libcap ] ++
|
||||
lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Carbon IOKit iconv ]);
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isMusl "-D__THROW=";
|
||||
@@ -18,11 +20,31 @@ stdenv.mkDerivation rec {
|
||||
# efi-boot-patch extracted from http://arm.koji.fedoraproject.org/koji/rpminfo?rpmID=174244
|
||||
patches = [ ./include-path.patch ./cdrkit-1.1.9-efi-boot.patch ./cdrkit-1.1.11-fno-common.patch ];
|
||||
|
||||
postPatch = lib.optionalString stdenv.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.isDarwin ''
|
||||
for f in */CMakeFiles/*.dir/link.txt ; do
|
||||
substituteInPlace "$f" \
|
||||
--replace "-lrt" "-framework IOKit"
|
||||
done
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# file name compatibility with the old cdrecord (growisofs wants this name)
|
||||
ln -s $out/bin/genisoimage $out/bin/mkisofs
|
||||
@@ -49,6 +71,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
homepage = "http://cdrkit.org/";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user