Unverified Commit 0aefadec authored by Thiago Kenji Okada's avatar Thiago Kenji Okada Committed by GitHub
Browse files

Merge pull request #207296 from wegank/chuck-darwin

chuck: 1.4.1.0 -> 1.4.1.1, unbreak on aarch64-darwin
parents 4090c5da d5fc6aac
Loading
Loading
Loading
Loading
+8 −18
Original line number Diff line number Diff line
{ stdenv, lib, fetchurl, alsa-lib, bison, flex, libsndfile, which
, AppKit, Carbon, CoreAudio, CoreMIDI, CoreServices, Kernel
{ stdenv, lib, fetchurl, alsa-lib, bison, flex, libsndfile, which, DarwinTools, xcbuild
, AppKit, Carbon, CoreAudio, CoreMIDI, CoreServices, Kernel, MultitouchSupport
}:

stdenv.mkDerivation rec {
  version = "1.4.1.0";
  version = "1.4.1.1";
  pname = "chuck";

  src = fetchurl {
    url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz";
    sha256 = "sha256-dL+ZrVFeMRPFW4MxUpNvrQKjzwBqVBBf8Rd3xHMZSSg=";
    sha256 = "sha256-RFnubxUdpy3N4VJeCv4FMp1hCGNWsWjs/AvDpXApD2M=";
  };

  nativeBuildInputs = [ flex bison which ];
  nativeBuildInputs = [ flex bison which ]
    ++ lib.optionals stdenv.isDarwin [ DarwinTools xcbuild ];

  buildInputs = [ libsndfile ]
    ++ lib.optional (!stdenv.isDarwin) alsa-lib
    ++ lib.optionals stdenv.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel ];
    ++ lib.optionals stdenv.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel MultitouchSupport ];

  patches = [ ./darwin-limits.patch ];

  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-missing-sysroot";
  NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework MultitouchSupport";

  postPatch = ''
    substituteInPlace src/core/makefile.x/makefile.osx \
      --replace "weak_framework" "framework" \
      --replace "MACOSX_DEPLOYMENT_TARGET=10.9" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET"
  '';

  makeFlags = [ "-C src" "DESTDIR=$(out)/bin" ];
  buildFlags = [ (if stdenv.isDarwin then "osx" else "linux-alsa") ];
  buildFlags = [ (if stdenv.isDarwin then "mac" else "linux-alsa") ];

  meta = with lib; {
    description = "Programming language for real-time sound synthesis and music creation";
@@ -37,7 +29,5 @@ stdenv.mkDerivation rec {
    license = licenses.gpl2;
    platforms = platforms.unix;
    maintainers = with maintainers; [ ftrvxmtrx ];
    # never built on aarch64-darwin since first introduction in nixpkgs
    broken = stdenv.isDarwin && stdenv.isAarch64;
  };
}
+3 −0
Original line number Diff line number Diff line
@@ -21,4 +21,7 @@

  # Also expose DebugSymbols; used by `llvmPackages_8.lldb` package.
  DebugSymbols = {};

  # Also expose MultitouchSupport; used by `chuck` package.
  MultitouchSupport = {};
}
+10 −1
Original line number Diff line number Diff line
@@ -326,7 +326,16 @@ in rec {
        "Versions/A/Frameworks/WebKitLegacy.framework/Versions/A/WebKitLegacy.tbd"
      ];
    });
  } // lib.genAttrs [ "ContactsPersistence" "CoreSymbolication" "DebugSymbols" "GameCenter" "SkyLight" "UIFoundation" ] (x: tbdOnlyFramework x {});
  } // lib.genAttrs [
    "ContactsPersistence"
    "CoreSymbolication"
    "DebugSymbols"
    "GameCenter"
    "MultitouchSupport"
    "SkyLight"
    "UIFoundation"
  ]
    (x: tbdOnlyFramework x {});

  bareFrameworks = lib.mapAttrs framework (import ./frameworks.nix {
    inherit frameworks libs;
+2 −1
Original line number Diff line number Diff line
@@ -28118,7 +28118,8 @@ with pkgs;
  chromiumDev = lowPrio (chromium.override { channel = "dev"; });
  chuck = callPackage ../applications/audio/chuck {
    inherit (darwin.apple_sdk.frameworks) AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel;
    inherit (darwin) DarwinTools;
    inherit (darwin.apple_sdk.frameworks) AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel MultitouchSupport;
  };
  cinelerra = callPackage ../applications/video/cinelerra { };