nixpkgs/pkgs/build-support
Michael Hoang 66884a4912 writeDarwinBundle: use binary wrapper
Previously `writeDarwinBundle` used a handcrafted shell wrapper, however
this causes issues on Apple Silicon Macs as script-only application
bundles are always run under Rosetta[0][1].

Replacing the handcrafted shell wrapper with a binary wrapper allows
apps to run natively instead of requiring Rosetta. However, this means
we can no longer use `$1` and `$@`.

After checking nearly every current usage of `desktopToDarwinBundle`,
there were no apps that used `%[fFuU]` before the last argument, meaning
removing them naively is good enough for the current apps.

[0]: https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary
[1]: https://stackoverflow.com/a/68208374
2023-08-21 13:29:12 +10:00
..
add-opengl-runpath
agda
alternatives lapack: force a rebuild on x86_64-darwin 2023-03-24 08:57:05 +01:00
appimage tree-wide: buildFHSUserEnv -> buildFHSEnv 2023-04-16 10:15:13 +02:00
binary-cache binary-cache: use lib.makeBinPath 2023-06-30 00:42:14 +02:00
bintools-wrapper Merge pull request #239624 from Stunkymonkey/use-optionalString-then 2023-07-22 13:02:47 +02:00
build-bazel-package buildBazelPackage: add support for bazel run targets 2023-08-02 16:05:55 +08:00
build-fhsenv-bubblewrap buildFHSEnv: disable multiArch by default 2023-07-07 21:33:04 +02:00
build-fhsenv-chroot buildFHSEnv: use default values as fallback for XDG_DATA_DIRS 2023-05-08 18:56:51 -03:00
build-graalvm-native-image buildGraalvmNativeImage: allow overwriting {build,install}Phase/nativeBuildInputs 2023-03-17 16:50:52 +00:00
build-setupcfg
buildenv buildenv: Limit exclusion of info/dir 2023-07-09 22:06:26 -04:00
cc-wrapper Merge #243595: cc-wrapper: -fwrapv instead of -fno-strict-overflow in clang 2023-07-26 11:55:59 +02:00
coq
dart buildDartApplication: add sigtool on darwin 2023-06-14 22:29:01 +03:00
deterministic-uname
dhall
docker treewide: use optionalString instead of 'then ""' 2023-06-24 20:19:19 +02:00
dotnet nuget-to-nix: set nullglob 2023-06-24 19:13:16 -03:00
emacs treewide: use optionalAttrs instead of 'else {}' 2023-06-25 11:01:34 -03:00
expand-response-params
fake-nss
fetch9front lib: add fetchFrom9Front 2023-07-23 13:16:28 -05:00
fetchbitbucket treewide: Make some fetchers overridable 2023-04-22 22:29:23 +02:00
fetchbower
fetchbzr
fetchcvs treewide: Make some fetchers overridable 2023-04-22 22:29:23 +02:00
fetchdarcs fetchdarcs: clean up md5 references 2023-07-20 21:24:13 -07:00
fetchdocker treewide: don't hardcode /nix/store (no rebuilds changes) 2023-03-24 20:11:33 +02:00
fetchfirefoxaddon fetchfirefoxaddon: fix passing md5 to fetchurl 2023-07-28 16:18:15 -04:00
fetchfossil
fetchgit Merge master into staging-next 2023-07-21 06:01:05 +00:00
fetchgitea treewide: Make some fetchers overridable 2023-04-22 22:29:23 +02:00
fetchgithub treewide: use optionalString instead of 'then ""' 2023-06-24 20:19:19 +02:00
fetchgitiles treewide: Make some fetchers overridable 2023-04-22 22:29:23 +02:00
fetchgitlab treewide: Make some fetchers overridable 2023-04-22 22:29:23 +02:00
fetchgitlocal treewide: Make some fetchers overridable 2023-04-22 22:29:23 +02:00
fetchgx
fetchhg fetchhg: clean up md5 references 2023-07-20 21:24:13 -07:00
fetchipfs
fetchmavenartifact fetchMavenArtifact: deprecate phases & use pname+version 2023-03-26 18:44:55 +02:00
fetchmtn
fetchnextcloudapp
fetchpatch
fetchpijul build-support: Add fetchpijul function. 2023-07-17 18:44:06 +02:00
fetchpypi
fetchrepoorcz
fetchrepoproject fetchrepoproject: fix a bug that was there since bef6bef0d2 2023-08-06 12:17:09 +00:00
fetchs3
fetchsavannah treewide: Make some fetchers overridable 2023-04-22 22:29:23 +02:00
fetchsourcehut fetchFromSourcehut: expose gitRepoUrl to consumers 2023-06-11 09:02:34 +01:00
fetchsvn fetchsvn: clean up md5 references 2023-07-20 21:24:07 -07:00
fetchsvnrevision
fetchsvnssh fetchsvnssh: clean up md5 references 2023-07-20 21:24:13 -07:00
fetchurl fetchurl: clean up md5 references 2023-07-20 21:23:04 -07:00
fetchzip
flutter flutter: build-support: allow customizing wrapProgram args 2023-05-14 17:10:49 +02:00
go treewide .goModules: revert renaming the derivation 2023-07-24 08:15:48 +02:00
icon-conv-tools
install-shell-files
java
kernel Merge pull request #239624 from Stunkymonkey/use-optionalString-then 2023-07-22 13:02:47 +02:00
libredirect libredirect: fix build with clang 16 2023-07-14 18:10:13 -06:00
make-darwin-bundle writeDarwinBundle: use binary wrapper 2023-08-21 13:29:12 +10:00
make-desktopitem
make-hardcode-gsettings-patch
make-pkgconfigitem
make-startupitem
mkshell
mono-dll-fixer
nix-gitignore Merge pull request #239624 from Stunkymonkey/use-optionalString-then 2023-07-22 13:02:47 +02:00
node feat: implement redirect for fetch-yarn-deps 2023-07-26 15:13:37 +08:00
nuke-references
ocaml ocamlPackages: default to version 3 of Dune 2023-05-12 05:50:40 +02:00
oci-tools
pkg-config-wrapper treewide: use optionalAttrs instead of 'else {}' 2023-06-25 11:01:34 -03:00
portable-service
prefer-remote-fetch
references-by-popularity
release treewide: use lib.optionalAttrs 2023-07-24 21:59:17 +02:00
remove-references-to Merge pull request #162447 from thefloweringash/remove-references-to-region 2023-05-17 12:34:28 +03:00
replace-secret
rust Merge #239191: treewide: gobject-introspection from buildInputs to nativeBuildInputs 2023-07-26 20:53:32 +02:00
setup-hooks writeDarwinBundle: use binary wrapper 2023-08-21 13:29:12 +10:00
singularity-tools
snap
src-only nixos/tests: Test that Remote SSH can patch Node 2023-06-09 18:21:41 +10:00
substitute
substitute-files
templaterpm
testers testers.hasPkgConfigModules: allow checking multiple pkg-config mods 2023-08-08 19:16:48 +02:00
trivial-builders trivial-builders: add meta.mainProgram to writeShellScriptBin 2023-08-11 00:40:37 -05:00
vm Merge pull request #239624 from Stunkymonkey/use-optionalString-then 2023-07-22 13:02:47 +02:00
wrapper-common wrapBintoolsWith: support LINK.EXE-style args in purity checks 2023-04-29 01:37:00 +00:00
writers writers: Set mainProgram 2023-08-01 12:21:06 +02:00
build-maven.nix
build-pecl.nix
closure-info.nix
make-impure-test.nix
plugins.nix
replace-dependency.nix
setup-systemd-units.nix
source-from-head-fun.nix