diff options
author | Stanisław Pitucha <git@viraptor.info> | 2023-03-23 14:16:40 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-23 14:16:40 +1100 |
commit | 72b9329c57bd0a92ed608e8c6db6338a4f34bea3 (patch) | |
tree | daa63cb49f90152f2d39e89fe6de74ef3d50ab3b /pkgs/tools | |
parent | a00c50cd6d52948f08032cfd5a083cee2ab3c49d (diff) | |
parent | 6d903cec7e3040a694c2c24c395f401db735545a (diff) | |
download | nixlib-72b9329c57bd0a92ed608e8c6db6338a4f34bea3.tar nixlib-72b9329c57bd0a92ed608e8c6db6338a4f34bea3.tar.gz nixlib-72b9329c57bd0a92ed608e8c6db6338a4f34bea3.tar.bz2 nixlib-72b9329c57bd0a92ed608e8c6db6338a4f34bea3.tar.lz nixlib-72b9329c57bd0a92ed608e8c6db6338a4f34bea3.tar.xz nixlib-72b9329c57bd0a92ed608e8c6db6338a4f34bea3.tar.zst nixlib-72b9329c57bd0a92ed608e8c6db6338a4f34bea3.zip |
Merge pull request #222517 from viraptor/cdrkit
cdrkit: fix darwin build
Diffstat (limited to 'pkgs/tools')
-rw-r--r-- | pkgs/tools/cd-dvd/cdrkit/default.nix | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/pkgs/tools/cd-dvd/cdrkit/default.nix b/pkgs/tools/cd-dvd/cdrkit/default.nix index efa663809949..de54827071c6 100644 --- a/pkgs/tools/cd-dvd/cdrkit/default.nix +++ b/pkgs/tools/cd-dvd/cdrkit/default.nix @@ -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; }; } |