This continues #23374, which always kept around both attributes, by
always including both propagated files: `propgated-native-build-inputs`
and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still
defined as before, however, so this change should only barely
observable.
This is an incremental step to fully keeping the dependencies separate
in all cases.
This makes those files a bit easier to read. Also, for what it's worth,
it brings us one baby step closer to handling spaces in store paths.
Also, I optimized handling of many transitive deps with read. Probably,
not very beneficial, but nice to enforce the pkg-per-line structure.
Doing so let me find much dubious code and fix it.
Two misc notes:
- `propagated-user-env-packages` also needed to be adjusted as
sometimes it is copied to/from the propagated input files.
- `local fd` should ensure that file descriptors aren't clobbered
during recursion.
Oracle changed the path of the files.
Previous versions looked like:
$ jar tf UnlimitedJCEPolicyJDK7.zip
UnlimitedJCEPolicy/
UnlimitedJCEPolicy/US_export_policy.jar
UnlimitedJCEPolicy/local_policy.jar
UnlimitedJCEPolicy/README.txt
The new version looks like:
$ jar tf jce_policy-8.zip
UnlimitedJCEPolicyJDK8/
UnlimitedJCEPolicyJDK8/local_policy.jar
UnlimitedJCEPolicyJDK8/README.txt
UnlimitedJCEPolicyJDK8/US_export_policy.jar
A better solution is probably just to trim the directory off completely.
This seems to have been confusing people, using both xlibs and xorg, etc.
- Avoided renaming local (and different) xlibs binding in gcc*.
- Fixed cases where both xorg and xlibs were used.
Hopefully everything still works as before.
Fixes#9044, close#9667. Thanks to @taku0 for suggesting this solution.
Now we have no modes starting with `/` or `+`.
Rewrite the `-perm` parameters of find:
- completely safe: rewrite `/0100` and `+100` to `-0100`,
- slightly semantics-changing: rewrite `+111` to `-0100`.
I cross-verified the `find` manual pages for Linux, Darwin, FreeBSD.