Commit Graph

8105 Commits

Author SHA1 Message Date
Randy Eckenrode
c922cb27b6
bintools-wrapper: drop postLinkSignHook
When the linker signs a Mach-O binary, it sets a flag in the signature’s code directory indicating that the signature was generated by a linker. Tools such as `strip` and `install_name_tool` read this flag and will
update ad hoc signatures after they perform their modifications.

The updated l64 supports signing binaries automatically. Both the updated cctools and LLVM will check for the linker-signed flag and resign binaries they modify automatically when it’s present. Given that, use of postLinkSignHook is unnecessary and potentially harmful.

In particular, if the hook is used and an unwrapped `strip` or `install_name_tool` is on the user’s path, they will not automatically update an ad hoc signature. Instead, they will issue a warning and create a binary with a broken signature.

It is more robust to let the tools handled this since the only time a signature would not be linker-signed is when the user is manually invoking `codesign` (or another tool such as `sigtool` or `rcodesign`), which by nature of the invocation updates the signature to a valid  one.

Since `strip` no longer needs to be wrapped for code-signing, binutils-wrapper now uses the GNU strip wrapper on Darwin.

Fixes https://github.com/NixOS/nixpkgs/issues/208951.
2024-07-13 17:54:36 -04:00
Randy Eckenrode
4712e8fe80
libredirect: use llvmPackages unconditionally
Darwin and its bootstrap tools both use LLVM 16, which is sufficient for
arm64e support in LLVM. Thsi change removes an unnecessary LLVM 13 build
from the stdenv bootstrap.
2024-07-13 10:59:41 -04:00
Randy Eckenrode
1cb1853573
ld-wrapper: use a temporary file for reponse file
This changes ld-wrapper to use a temporary file for the response file
passed to ld instead of using process substitution.

ld64 does not handle long command-lines when reading from the response
file, which defeats the point of using a response file to handle long
command-lines. cctools-port was patched to work around this, but nixpkgs
is now using Apple’s source release directly instead of the port.

Since it’s preferable not to patch Apple’s release heavily (to reduce
the difficulty of updating to new versions and to match upstream’s
behavior), use the approach that was adopted in cc-wrapper to work
around issues with response files in newer versions of clang.

Related PRs (cctools-port):
- https://github.com/NixOS/nixpkgs/pull/213831
- https://github.com/tpoechtrager/cctools-port/pull/132

Related PRs (cc-wrapper):
- https://github.com/NixOS/nixpkgs/pull/245282
- https://github.com/NixOS/nixpkgs/pull/258608
2024-07-13 10:59:41 -04:00
github-actions[bot]
b66506a79e
Merge staging-next into staging 2024-07-12 12:01:44 +00:00
Doron Behar
3cddaded22
Merge pull request #318015 from doronbehar/pkg/yarnConfigHook
Create yarnBuildHook and yarnConfigHook
2024-07-12 09:45:26 +03:00
Vladimír Čunát
2c053848df
Merge branch 'master' into staging 2024-07-11 22:05:05 +02:00
Florian Klink
9b481a9f7b
Merge pull request #325876 from flokli/defaultCreateOverridesAddZlib
defaultCrateOverrides: add extraLinkFlags to zlib
2024-07-11 11:24:25 +03:00
Martin Weinelt
176a56c40f
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
- pkgs/applications/misc/blender/default.nix
- pkgs/development/web/nodejs/nodejs.nix
2024-07-11 01:06:28 +02:00
Naïm Favier
0764f58ca3
Merge pull request #324503 from ncfavier/agda-mk-library-file
build-support/agda: expose mkLibraryFile
2024-07-11 00:44:48 +02:00
Doron Behar
2400268a38 fetch-yarn-deps: handle yarn.lock deps without a resolved url 2024-07-10 09:39:10 +03:00
Doron Behar
ee7cfec5aa doc/javascript: document yarn{Config,Build}Hook 2024-07-10 09:39:03 +03:00
Doron Behar
296556a320 yarnBuildHook: init 2024-07-10 09:39:02 +03:00
Doron Behar
a84f3ca3d8 yarnConfigHook: init 2024-07-10 09:39:02 +03:00
Doron Behar
1151b39c24 fetch-yarn-deps: format with nixfmt (RFC166) 2024-07-10 09:39:01 +03:00
John Ericson
279c439ac8
Merge pull request #323608 from obsidiansystems/openbsd-static
openbsd: Add static linking support
2024-07-09 23:44:49 -04:00
John Ericson
000b58721f Merge remote-tracking branch 'upstream/master' into openbsd-static 2024-07-09 18:18:47 -04:00
John Ericson
676df1cf2d openbsd: Add static linking support
I've had better luck creating statically-linked binaries that work than
dynamically-linked ones, so this is needed quite practically.
2024-07-09 18:17:06 -04:00
Wael Nasreddine
0505253a30
Merge pull request #303217 from deshaw/buildGoModule-setSourceRoot
buildGoModule: propagate setSourceRoot
2024-07-09 15:10:02 -07:00
Florian Klink
9e3825de8d defaultCrateOverrides: add extraLinkFlags to zlib
These libraries need zlib, and otherwise cause a linker error when
linking the final crate of a tauri/wry project.
2024-07-09 18:12:38 +03:00
David McFarland
691bec7b0e nuget-to-nix: fix hash generation when resolving multiple sources
Fixes: 2280d5c467
2024-07-08 12:14:09 -03:00
Vladimír Čunát
4c09ae2416
Merge branch 'staging-next' into staging 2024-07-08 10:43:15 +02:00
Anderson Torres
368f163caa emacs: migrate build-support/emacs to applications/editors/emacs/build-support
As a consequence of restrictions imposed by RFC 140 - Simple Package Paths [1]
-, files related to a package should be confined on the package directory.

Certainly this restriction does not apply to packages outside by-name hierarchy.

Nonetheless, this is an interesting organization heuristics: things that affect
Emacs should be confined inside Emacs directory. Besides a future migration, the
"debuggability" of a framework is way more enhanced when we know how to find all
its files.

A similar task was done before, when RFC 140 was not a thging yet - namely, the
migration of emacs-modes to elisp-packages [2].

[1] https://github.com/NixOS/rfcs/pull/140
[2] https://github.com/NixOS/nixpkgs/pull/123859
2024-07-06 09:41:13 -03:00
github-actions[bot]
1f5f0905f8
Merge staging-next into staging 2024-07-06 12:01:49 +00:00
Ilan Joselevich
7220592b15
Merge pull request #324880 from flokli/defaultCreateOverridesFixes
defaultCrateOverrides: fix some gtk dependencies
2024-07-06 13:05:14 +03:00
Martin Weinelt
e7b1ee45cf
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
- pkgs/tools/misc/watchlog/default.nix
2024-07-06 01:52:35 +02:00
Martin Weinelt
d9610a9f2e
Merge remote-tracking branch 'origin/master' into staging-next 2024-07-06 01:51:14 +02:00
Florian Klink
0c00ad14ac defaultCrateOverrides: fix some gtk dependencies
- gobject-sys and gio-sys need pkg-config
 - add gtkx11-sys
 - add javascriptcore-rs-sys
 - add soup3-sys
 - add webkit2gtk-sys
2024-07-06 00:05:43 +03:00
Florian Klink
890286ddbf
Merge pull request #324876 from flokli/buildRustCrateBuildRsOutput
buildRustCrate: don't swallow build.rs output
2024-07-05 23:05:31 +03:00
Florian Klink
cbe5cf5d81 buildRustCrate: don't swallow build.rs output
This is executed curing the build, and usually quite helpful in telling
you how the build failed, if it failed.

For example, when linking against system libraries, it shows which
system lib could not be discovered, the pkg-config path used etc.

Not showing it simply removes all this, and trying to parse out the
"important" bits and only show these is probably also brittle.

The output generally isn't that spammy normally, so let's just `tee` it.
2024-07-05 21:39:08 +03:00
github-actions[bot]
30cfd4445f
Merge master into staging-next 2024-07-05 00:02:21 +00:00
David McFarland
4f7953d244
Merge pull request #324526 from Aleksanaa/nugetHash
dotnet: add SRI hash support to dotnet packages
2024-07-04 20:59:56 -03:00
Robert Hensing
3f226f2f9c nixosTests.docker-tools: fix for hello's new versionCheckHook 2024-07-04 21:44:39 +02:00
github-actions[bot]
36cbae9ff0
Merge master into staging-next 2024-07-04 18:01:19 +00:00
éclairevoyant
dab3278128
Merge pull request #324365 from iynaix/make-desktopitem-directory
make-desktopitem: fix file extension for type directory
2024-07-04 12:54:28 +00:00
Naïm Favier
4ef7bf78bb
build-support/agda: expose mkLibraryFile 2024-07-04 14:51:30 +02:00
aleksana
74597434a7 buildDotNetGlobalTool: add SRI hash support 2024-07-04 20:16:51 +08:00
aleksana
2280d5c467 nuget-to-nix: generate SRI hash instead of sha256 2024-07-04 20:16:51 +08:00
aleksana
c3698a127a mkNugetDeps: add SRI hash support 2024-07-04 20:16:51 +08:00
github-actions[bot]
e14242d985
Merge staging-next into staging 2024-07-04 12:01:37 +00:00
aleksana
9aee77e045 fetchNuGet: add SRI hash support 2024-07-04 17:33:34 +08:00
Vladimír Čunát
44b36397c2
Merge branch 'master' into staging-next
Conflicts - GitHub wouldn't auto-resolve them but my local git did:
	pkgs/development/cuda-modules/cuda/overrides.nix
2024-07-04 10:10:22 +02:00
Masum Reza
410d1213cd
Merge pull request #323983 from Aleksanaa/cargoSha256-change
treewide: remove all cargoSha256 usage
2024-07-04 10:50:18 +05:30
Sandro Jäckel
2040dfa812
uglify-js: remove remaining aliases, entry from nodePackages 2024-07-03 21:25:54 +02:00
github-actions[bot]
d449302be6
Merge staging-next into staging 2024-07-03 18:01:32 +00:00
Vladimír Čunát
c76085b3a9
Merge branch 'master' into staging-next 2024-07-03 19:07:35 +02:00
Artturin
18b0068236
Merge pull request #323824 from tie/fetchpatch-build-inputs
fetchpatch: add patchutils to nativeBuildInputs
2024-07-03 19:04:44 +03:00
Lin Xianyi
93a9ecd024 make-desktopitem: fix file extension for type directory 2024-07-03 23:23:30 +08:00
aleksana
07fddc62e4 buildRustPackage: deprecate cargoSha256 in favor of cargoHash 2024-07-03 21:54:26 +08:00
aleksana
a9709c299b treewide: change cargoSha256 with SRI hash to cargoHash 2024-07-03 21:53:11 +08:00
github-actions[bot]
a47e41c3cd
Merge staging-next into staging 2024-07-03 06:01:42 +00:00