This is basically the same approach FreeBSD Ports takes, except they
use a patch instead of the configure flag. Since we were already
using the configure flag, I decided to go with that.
Usually I'd submit a patch upstream for this sort of thing, but I
didn't in this case because submitting a patch requires creating a
Google account and agreeing to a CLA, and because Google is
notoriously hostile to BSD patches.
Tested building for NetBSD. For FreeBSD it will work once another fix
I have in the works lands.
This is done by removing some warnings that are not supported by the
cross-compiler.
We also need to disable the --enable-external-build flag, which breaks
the build completely.
This PR: https://github.com/NixOS/nixpkgs/pull/100210 added the flag,
but it doesn't explain why it was added. It also doesn't show any
attempt at trying to cross-compile for either darwin or aarch64. So
let's remove it again, since it 'just' seems to break the build anyway.
- drop commented out configure flags
- be (more) explicit in patchShebangs
- libvpx_1_8: be explicit about patchShebangs, remove commented flags
I made a mistake merge. Reverting it in c778945806 undid the state
on master, but now I realize it crippled the git merge mechanism.
As the merge contained a mix of commits from `master..staging-next`
and other commits from `staging-next..staging`, it got the
`staging-next` branch into a state that was difficult to recover.
I reconstructed the "desired" state of staging-next tree by:
- checking out the last commit of the problematic range: 4effe769e2
- `git rebase -i --preserve-merges a8a018ddc0` - dropping the mistaken
merge commit and its revert from that range (while keeping
reapplication from 4effe769e2)
- merging the last unaffected staging-next commit (803ca85c20)
- fortunately no other commits have been pushed to staging-next yet
- applying a diff on staging-next to get it into that state
- Needs to be like <cpu>-<os>-gcc.
- Remove unneeded --enable-external-build flag
This confuses the feature detection and is not needed for cross
compilation anymore.
backports sourced from debian package 1.7.0-3+deb10u1, included in-repo
as file is not available on sources.debian.org or salsa.debian.org
(cherry picked from commit 9bcc7608f2)
* freetype: Remove unnecessary `--disable-static`.
The true-by-default `dontDisableStatic` already takes care of it.
Fixes freetype not being overridable to have static libs.
* treewide: Remove unnecessary `--disable-static`.
The true-by-default `dontDisableStatic` already takes care of it.
Fixes these packages not being overridable to have static libs.
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.
The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:
```
ISA: ARMv8 {-A, -R, -M}
/ \
Mode: Aarch32 Aarch64
| / \
Encoding: A64 A32 T32
```
At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.
The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.
[1]: https://developer.arm.com/products/architecture/a-profile
Uses the HTTPS url for cases where the existing URL has a permanent
redirect. For each domain, at least one fixed derivation URL was
downloaded to test the domain is properly serving downloads.
Also fixes jbake source URL, which was broken.
Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:
- built on NixOS
/tmp/tmp.Z8QazLD8jI /home/ryantm/.cache/nixpkgs
/home/ryantm/.cache/nixpkgs
- ran `/nix/store/q26np2w8fjj2cjsgkhklbywd4vvykq67-libvpx-1.7.0-bin/bin/vpxdec --help` got 0 exit code
- ran `/nix/store/q26np2w8fjj2cjsgkhklbywd4vvykq67-libvpx-1.7.0-bin/bin/vpxdec --help` and found version 1.7.0
- ran `/nix/store/q26np2w8fjj2cjsgkhklbywd4vvykq67-libvpx-1.7.0-bin/bin/vpxenc --help` got 0 exit code
- ran `/nix/store/q26np2w8fjj2cjsgkhklbywd4vvykq67-libvpx-1.7.0-bin/bin/vpxenc --help` and found version 1.7.0
- found 1.7.0 with grep in /nix/store/q26np2w8fjj2cjsgkhklbywd4vvykq67-libvpx-1.7.0-bin
- directory tree listing: https://gist.github.com/feae181f96e3cbf1235f1f3b9503500c
Packages get --host and --target by default, but can explicitly request
any subset to be passed as needed. See docs for more info.
rustc: Avoid hash breakage by using the old (ignored)
dontSetConfigureCross when not cross building