[Bug] don't sign with --deep on MacOS #182

Closed
opened 2024-11-04 17:36:42 +00:00 by Kek5chen · 0 comments
Kek5chen commented 2024-11-04 17:36:42 +00:00 (Migrated from github.com)

Description of the issue

Hello there, I come from over at nixpkgs. I've been trying to provide a build of ryujinx for MacOS + Nix users. This has been a bit of a journey, and what I noticed is that it's failing at codesigning postBuild.

I would like to hint towards --deep being deprecated / removed and why it shouldn't be used.

Here's a concrete log of what's ocurring:

*-- snip --*
==  Ryujinx.Headless.SDL2 -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/bin/Release/net8.0/Ryujinx.Headless.SDL2.dll
  The following argument was not expected: --deep
  Run with --help for more information.
=/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj(20,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/../../distribution/macos/entitlements.xml' -f --deep -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/bin/Release/net8.0/Ryujinx.Headless.SDL2'" exited with code 109.
  Ryujinx.Graphics.Nvdec.FFmpeg -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Graphics.Nvdec.FFmpeg/bin/Release/net8.0/Ryujinx.Graphics.Nvdec.FFmpeg.dll
  Ryujinx.Audio.Backends.OpenAL -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Audio.Backends.OpenAL/bin/Release/net8.0/Ryujinx.Audio.Backends.OpenAL.dll
  Ryujinx.UI.Common -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.UI.Common/bin/Release/net8.0/Ryujinx.UI.Common.dll
  Ryujinx.UI.LocaleGenerator -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.UI.LocaleGenerator/bin/Release/netstandard2.0/Ryujinx.UI.LocaleGenerator.dll
==  Ryujinx -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx.dll
  The following argument was not expected: --deep
  Run with --help for more information.
=/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/Ryujinx.csproj(17,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/../../distribution/macos/entitlements.xml' -f --deep -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx'" exited with code 109.
  Ryujinx.UI.Common -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.UI.Common/bin/Release/net8.0/Ryujinx.UI.Common.dll
  Ryujinx.Horizon.Generators -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Horizon.Generators/bin/Release/netstandard2.0/Ryujinx.Horizon.Generators.dll
  Ryujinx.Graphics.Vulkan -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Graphics.Vulkan/bin/Release/net8.0/Ryujinx.Graphics.Vulkan.dll
  Spv.Generator -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Spv.Generator/bin/Release/net8.0/Spv.Generator.dll
  Ryujinx.UI.LocaleGenerator -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.UI.LocaleGenerator/bin/Release/netstandard2.0/Ryujinx.UI.LocaleGenerator.dll
  Ryujinx.Horizon.Common -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Horizon.Common/bin/Release/net8.0/Ryujinx.Horizon.Common.dll
  Ryujinx.Horizon -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Horizon/bin/Release/net8.0/Ryujinx.Horizon.dll
  Ryujinx.Horizon.Kernel.Generators -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Horizon.Kernel.Generators/bin/Release/netstandard2.0/Ryujinx.Horizon.Kernel.Generators.dll
  Ryujinx.HLE.Generators -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE.Generators/bin/Release/netstandard2.0/Ryujinx.HLE.Generators.dll

Build FAILED.

/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE/obj/Release/net8.0/Ryujinx.HLE.Generators/Ryujinx.HLE.Generators.IpcServiceGenerator/IUserInterface.g.cs(6,84): warning CS8669: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source. [/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE/Ryujinx.HLE.csproj]
/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE/obj/Release/net8.0/Ryujinx.HLE.Generators/Ryujinx.HLE.Generators.IpcServiceGenerator/IUserInterface.g.cs(6,26): warning CS8669: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source. [/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE/Ryujinx.HLE.csproj]
/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj(20,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/../../distribution/macos/entitlements.xml' -f --deep -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/bin/Release/net8.0/Ryujinx.Headless.SDL2'" exited with code 109.
/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/Ryujinx.csproj(17,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/../../distribution/macos/entitlements.xml' -f --deep -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx'" exited with code 109.

Reproduction steps

I currently build a custom derivation of https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/by-name/ry/ryujinx/package.nix.

I can provide the source but I don't think it's exactly necessary since the issue is with codesigning.

Using --deep in the postBuild step doesn't work. Similarly when removing it, the status codesign returns is 134. The relevant log out is this:

==  Ryujinx -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx.dll
  libc++abi: terminating due to uncaught exception of type std::runtime_error: Failed to spawn codesign_allocate: No such file or directory
=/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/Ryujinx.csproj(17,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/../../distribution/macos/entitlements.xml' -f -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx'" exited with code 134.

I am not sure how to handle this as I assume it's an upstream issue (from a nixpkgs standpoint), so that's why I'm reporting it here.

Log file

N/A

OS

OSX M3 aarch64-apple-darwin

Ryujinx version

1.2.72

Game version

No response

CPU

No response

GPU

No response

RAM

No response

List of applied mods

No response

Additional context?

No response

### Description of the issue Hello there, I come from over at nixpkgs. I've been trying to provide a build of ryujinx for MacOS + Nix users. This has been a bit of a journey, and what I noticed is that it's failing at codesigning postBuild. I would like to hint towards --deep being deprecated / removed and [why it shouldn't be used.](https://developer.apple.com/forums/thread/129980) Here's a concrete log of what's ocurring: ```nix *-- snip --* == Ryujinx.Headless.SDL2 -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/bin/Release/net8.0/Ryujinx.Headless.SDL2.dll The following argument was not expected: --deep Run with --help for more information. =/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj(20,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/../../distribution/macos/entitlements.xml' -f --deep -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/bin/Release/net8.0/Ryujinx.Headless.SDL2'" exited with code 109. Ryujinx.Graphics.Nvdec.FFmpeg -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Graphics.Nvdec.FFmpeg/bin/Release/net8.0/Ryujinx.Graphics.Nvdec.FFmpeg.dll Ryujinx.Audio.Backends.OpenAL -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Audio.Backends.OpenAL/bin/Release/net8.0/Ryujinx.Audio.Backends.OpenAL.dll Ryujinx.UI.Common -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.UI.Common/bin/Release/net8.0/Ryujinx.UI.Common.dll Ryujinx.UI.LocaleGenerator -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.UI.LocaleGenerator/bin/Release/netstandard2.0/Ryujinx.UI.LocaleGenerator.dll == Ryujinx -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx.dll The following argument was not expected: --deep Run with --help for more information. =/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/Ryujinx.csproj(17,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/../../distribution/macos/entitlements.xml' -f --deep -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx'" exited with code 109. Ryujinx.UI.Common -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.UI.Common/bin/Release/net8.0/Ryujinx.UI.Common.dll Ryujinx.Horizon.Generators -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Horizon.Generators/bin/Release/netstandard2.0/Ryujinx.Horizon.Generators.dll Ryujinx.Graphics.Vulkan -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Graphics.Vulkan/bin/Release/net8.0/Ryujinx.Graphics.Vulkan.dll Spv.Generator -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Spv.Generator/bin/Release/net8.0/Spv.Generator.dll Ryujinx.UI.LocaleGenerator -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.UI.LocaleGenerator/bin/Release/netstandard2.0/Ryujinx.UI.LocaleGenerator.dll Ryujinx.Horizon.Common -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Horizon.Common/bin/Release/net8.0/Ryujinx.Horizon.Common.dll Ryujinx.Horizon -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Horizon/bin/Release/net8.0/Ryujinx.Horizon.dll Ryujinx.Horizon.Kernel.Generators -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Horizon.Kernel.Generators/bin/Release/netstandard2.0/Ryujinx.Horizon.Kernel.Generators.dll Ryujinx.HLE.Generators -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE.Generators/bin/Release/netstandard2.0/Ryujinx.HLE.Generators.dll Build FAILED. /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE/obj/Release/net8.0/Ryujinx.HLE.Generators/Ryujinx.HLE.Generators.IpcServiceGenerator/IUserInterface.g.cs(6,84): warning CS8669: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source. [/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE/Ryujinx.HLE.csproj] /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE/obj/Release/net8.0/Ryujinx.HLE.Generators/Ryujinx.HLE.Generators.IpcServiceGenerator/IUserInterface.g.cs(6,26): warning CS8669: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source. [/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.HLE/Ryujinx.HLE.csproj] /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj(20,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/../../distribution/macos/entitlements.xml' -f --deep -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx.Headless.SDL2/bin/Release/net8.0/Ryujinx.Headless.SDL2'" exited with code 109. /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/Ryujinx.csproj(17,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/../../distribution/macos/entitlements.xml' -f --deep -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx'" exited with code 109. ``` ### Reproduction steps I currently build a custom derivation of https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/by-name/ry/ryujinx/package.nix. I can provide the source but I don't think it's exactly necessary since the issue is with codesigning. Using --deep in the postBuild step doesn't work. Similarly when removing it, the status codesign returns is 134. The relevant log out is this: ```nix == Ryujinx -> /private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx.dll libc++abi: terminating due to uncaught exception of type std::runtime_error: Failed to spawn codesign_allocate: No such file or directory =/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/Ryujinx.csproj(17,5): error MSB3073: The command "codesign --entitlements '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/../../distribution/macos/entitlements.xml' -f -s - '/private/tmp/nix-build-ryujinx-1.2.72.drv-2/source/src/Ryujinx/bin/Release/net8.0/Ryujinx'" exited with code 134. ``` I am not sure how to handle this as I assume it's an upstream issue (from a nixpkgs standpoint), so that's why I'm reporting it here. ### Log file N/A ### OS OSX M3 aarch64-apple-darwin ### Ryujinx version 1.2.72 ### Game version _No response_ ### CPU _No response_ ### GPU _No response_ ### RAM _No response_ ### List of applied mods _No response_ ### Additional context? _No response_
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MeloNX/Ryujinx-ryubing#182
No description provided.