Unverified Commit 77743910 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #247063 from emilazy/cdrdao-fixes

{cdrdao,whipper}: support Darwin and add patch
parents 4f530892 8d08ce1f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -95,6 +95,6 @@ in python3.pkgs.buildPythonApplication rec {
    description = "A CD ripper aiming for accuracy over speed";
    maintainers = with maintainers; [ emily ];
    license = licenses.gpl3Plus;
    platforms = platforms.linux;
    platforms = platforms.unix;
  };
}
+48 −9
Original line number Diff line number Diff line
{lib, stdenv, fetchurl, libvorbis, libmad, pkg-config, libao}:
{
  lib,
  stdenv,
  fetchurl,
  fetchpatch,
  pkg-config,
  libiconv,
  libvorbis,
  libmad,
  libao,
  CoreServices,
  IOKit,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "cdrdao";
  version = "1.2.5";

  src = fetchurl {
    url = "mirror://sourceforge/cdrdao/cdrdao-${version}.tar.bz2";
    url = "mirror://sourceforge/cdrdao/cdrdao-${finalAttrs.version}.tar.bz2";
    hash = "sha256-0ZtnyFPF26JAavqrbNeI53817r5jTKxGeVKEd8e+AbY=";
  };

  makeFlags = [ "RM=rm" "LN=ln" "MV=mv" ];

  nativeBuildInputs = [ pkg-config ];
  buildInputs = [ libvorbis libmad libao ];
  nativeBuildInputs = [
    pkg-config
  ];

  buildInputs = [
    libiconv
    libvorbis
    libmad
    libao
  ] ++ lib.optionals stdenv.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 = ''
@@ -25,10 +64,10 @@ stdenv.mkDerivation rec {
  # Needed on gcc >= 6.
  env.NIX_CFLAGS_COMPILE = "-Wno-narrowing";

  meta = with lib; {
  meta = {
    description = "A tool for recording audio or data CD-Rs in disk-at-once (DAO) mode";
    homepage = "https://cdrdao.sourceforge.net/";
    platforms = platforms.linux;
    license = licenses.gpl2;
    platforms = lib.platforms.unix;
    license = lib.licenses.gpl2;
  };
}
})
+3 −1
Original line number Diff line number Diff line
@@ -6563,7 +6563,9 @@ with pkgs;
  cdpr = callPackage ../tools/networking/cdpr { };
  cdrdao = callPackage ../tools/cd-dvd/cdrdao { };
  cdrdao = callPackage ../tools/cd-dvd/cdrdao {
    inherit (darwin.apple_sdk.frameworks) CoreServices IOKit;
  };
  cdrkit = callPackage ../tools/cd-dvd/cdrkit { };