crossdev creates configs under `/etc/portage/package.keywords` like the following:
cross-aarch64-cros-linux-gnu/binutils arm64 -amd64 -~amd64
cross-aarch64-cros-linux-gnu/gcc arm64 -amd64 -~amd64
cross-aarch64-cros-linux-gnu/linux-headers arm64 -amd64 -~amd64
cross-aarch64-cros-linux-gnu/glibc arm64 -amd64 -~amd64
cross-aarch64-cros-linux-gnu/gdb arm64 -amd64 -~amd64
This ensures cross compilers follow the keywords of the target arch
rather than the host arch. Meanwhile in the profile when we omit the
keyword `package.accept_keywords` only ~arch for the host is implied. So
either we would need to configure crossdev to allow ~arch or we just
need to be explicit in the profile. The later is a bit easer.
We need this version for improved arm64 support and it has worth-while
improvements. None of the 4.9 related bugs in upstream should impact us:
https://bugs.gentoo.org/show_bug.cgi?id=495124
Upstream has shuffled ncurses around slots. Previously there was only:
ncurses-5.9:5
Now there are:
ncurses-5.9:0/5
ncurses-5.9:5/5
ncurses-6.0:0/6
So the new :0 slot is the package that installs everything while the :5
slot is a minimal library-only package meant to be installed along side
the new 6.0 version. All this isn't really meaningful or helpful to us
but we have to follow suit because now oodles of upstream packages
explicitly depend on the new :0 slot.
While migrating I've synced up with upstream as of commit
9c928e3de99c4b2f01f8dfd1b4cc97ae8cd181e5.
Note: Gentoo made this transition between 5.9-r4 and 5.9-r5, we are one
revision higher so -r6 is our first ebuild in the new scheme.
To aid in debugging build problems add an ebegin/eend to the go_build routine,
print out the entire go envronment, and print out the name of each go package
as it is built.
Signed-off-by: Geoff Levand <geoff@infradead.org>
Adds a metadata.xml file to any packages that are missing it. If there is an
upstream gentoo metadata.xml file for the package, that is used, otherwise a
minimal metadata.xml is added.
Fixes equery errors like these:
!!! Package XXX is missing metadata.xml
Signed-off-by: Geoff Levand <geoff@infradead.org>
The current kernel build process expects ccache to be effective but
since setting CCACHE_BASEDIR globally was reverted in 35d8b34a builds
have been uncached any time the source revision changes.
Until it is safe to set CCACHE_BASEDIR globally again we should at least
make use of it for kernel builds.
Add a new USE flag 'arm64-extras' to the go ebuild which will build and install
the needed arm64 package files that will allow the SDK to cross build for arm64
targets.
Signed-off-by: Geoff Levand <geoff@infradead.org>