| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using `container:` setting in GitHub actions unfortunately doesn't
work with musl-llvm Gentoo images. The reason is that GitHub actions
are injecting a NodeJS binary and for distros other than Alpine, it
injects a binary linked against glibc.[0]
The proper fix would involve either defaulting to musl or making the
libc detection in the container system smarter, but for now, let's just
run the container manually.
[0] https://github.com/actions/runner/blob/6ef5803f24724b77a8d3599a478d06018da5d7c6/src/Runner.Worker/Handlers/StepHost.cs#L143-L172
Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com>
Closes: https://github.com/gentoo/crossdev/pull/27
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Add a workflow which sets up and tests crossdev for the given list of
targets.
Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com>
Closes: https://github.com/gentoo/crossdev/pull/25
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid build issues on cross environments using musl and LLVM by using
libunwind and libc++ explicitly in the clang configuration. Otherwise,
clang expects GCC libunwind and libstdc++.
These flags were not set explicitly in the clang configuration, because
LLVM profiles were setting them, but that's not the case anymore[0].
[0] https://github.com/gentoo/gentoo/commit/5e5c9d5c524871f5af260557dbd2962b8eec5087
Bug: https://bugs.gentoo.org/941140
Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com>
Closes: https://github.com/gentoo/crossdev/pull/23
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
USE=boundschecking, USE=gcj, USE=gtk, USE=libffi, USE=mudflap
are all long gone, so drop those from GUSE_DISABLE.
USE=mpx is also gone, so remove that from GUSE_DISABLE_STAGE_1.
Shift USE=vtv from GUSE_DISABLE_STAGE_1 -> GUSE_DISABLE as it falls under
everything described in that comment ;)
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These variables control whether pkg-config returns flags to search
directories that the toolchain would search by default anyway. Rust's
pkg-config-rs enables them by default, and some crates expect flags to
always be returned, even if they are technically unnecessary. Unsetting
these variables in the wrapper therefore breaks some crates. Having seen
how this works in detail, it would be fruitless to ask upstream to
change it.
These lines were originally added at a time when we expected other
non-Gentoo-based distributions to use crossdev. That didn't happen.
Gentoo itself doesn't set these variables anywhere that I can see. Even
if they were set, they are unlikely to break anything in practise now
that our cross builds are better behaved than they used to be.
Bug: https://bugs.gentoo.org/939334
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
|
|
|
|
|
|
| |
This variable is deprecated in favour of repos.conf.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
This is pointless because cross-pkg-config unsets it anyway. It's also
harmful because if a cross build needs to call CBUILD's pkg-config,
which doesn't use the wrapper, it will pick up .pc files from the wrong
location.
Bug: https://bugs.gentoo.org/936677
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
|
|
|
|
|
|
| |
We especially don't want to enable it on i?86.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
|
|
|
|
|
|
|
|
| |
Without `static-libs`, the configure check for `-static` would fail and
it leads to a cascade failure in finding `-lpthread` in stage2 gcc.
Closes: https://github.com/gentoo/crossdev/pull/21
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
|
|
|
|
|
|
| |
of other libs listed.
Signed-off-by: vindicatorr <nroycea+github@gmail.com>
Closes: https://github.com/gentoo/crossdev/pull/20
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Fixes: c012baee91797ddbd87fa26f4cb73c9a58de3c0c
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Declare the EAPI in profiles/, otherwise we're EAPI 0. pkgcraft rightly
complains about this.
* Similar to 9e889bc74012c4d7bedb9f7fa31d6625be93cf3c.
* See also 7f2f74f4e471172ceeceb78913fd8f8c88aa031d in app-eselect/eselect-repository.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
PMS requires it, the key in layout.conf isn't enough. Noticed after
pkgcraft rightly complained about it.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reported by matoro when building coreutils for mipsel-unknown-linux-gnu. If
autoconf-2.72 is used, apparently this shows up, and the coreutils-9.4 dist
tarball was indeed built with it...
The symptoms are similar to bug #885485 but it's a different cause -- we
were exporting a dodgy cache value with a missing '$':
```
configure:14771: checking for uid_t
configure:14771: result: {ac_cv_type_uid_t=yes}
```
```
ac_cv_type_uid_t='{ac_cv_type_uid_t=yes}'
```
```
$ rg ac_cv_type_uid_t
wrappers/site/mipsel-linux-gnu:115:ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
```
Bug: https://bugs.gentoo.org/885485
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/680652
Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/18
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
The sys-devel/gdb package was moved to dev-debug category, so reflect
this change in the script.
Signed-off-by: Krzesimir Nowak <knowak@microsoft.com>
Closes: https://github.com/gentoo/crossdev/pull/17
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
This can happen if you rm -rf the SYSROOT (rather than crossdev -C).
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
Removing default option of disabling PAM as no longer needed in all tests done.
Signed-off-by: Ian Jordan <immoloism@gmail.com>
Closes: https://github.com/gentoo/crossdev/pull/16
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
When cross-compiling, pkgconf behaves in a way that causes many packages
to install files to ${SYSROOT}/${SYSROOT}/... without
PKG_CONFIG_FDO_SYSROOT_RULES set.
I'm aware of at least gobject-introspection, modemmanager, and libp11,
but there are likely more.
Signed-off-by: Matt Turner <mattst88@gentoo.org>
|
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/914725
Signed-off-by: Nathan Du <nathandu@outlook.com>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Perhaps this was a difference between pkg-config and pkgconf, but we
have not set PKG_CONFIG_SYSTEM_LIBRARY_PATH correctly since we began
setting it in 2014. It should include the SYSROOT. We also never set
PKG_CONFIG_SYSTEM_INCLUDE_PATH at all.
These variables tell pkg-config not to emit paths that the toolchain
would search in anyway. This helps to reduce the noise appearing in
newly-installed .pc files.
This change does assume that if you have set SYSROOT differently to the
toolchain's default, then you have also added the --sysroot argument to
your compiler flags. Neither Portage nor Gentoo currently do this for
you. cross-boss does, but it's not an officially supported solution. The
change could therefore potentially break things, but it's likely you'll
run into other problems if you don't add --sysroot anyway.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Closes: https://github.com/gentoo/crossdev/pull/13
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
It always succeeds, and then if LLVM isn't installed, crossdev fails with
a confusing error:
Target architecture not supported by installed LLVM toolchain
Signed-off-by: Benjamin Gilbert <bgilbert@backtick.net>
Closes: https://github.com/gentoo/crossdev/pull/14
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/12
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
previously it would match CTARGET for amd64*.
Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/11
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes it possible to use Clang instead of GCC in
Crossdev. As LLVM is already able to target other architectures,
provided that LLVM_TARGETS is set accordingly, the only thing needed
to do is compile builtins (compiler-rt) for the target triple. Note
that compiler-rt needs libc headers to target when building, and in
turn linux-headers needs to be installed for Linux targets, so most
stages except binutils and GCC are still there.
Currently having both a GCC and LLVM Crossdev environment installed
for the same triple is not supported since many ebuilds just use
/usr/${CTARGET} as a hardcoded sysroot, but I plan adding support.
Note: by standalone I mean a pure LLVM toolchain not dependent on an
existing GCC toolchain.
Bug: https://bugs.gentoo.org/680652
Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/10
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
It is probably better to look up the repo path at runtime anyway.
Bug: https://bugs.gentoo.org/908602
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
Fixes: c4cf9b41b4b7b7bc36d3878383666a77d51c804b
Fixes: 7eeb1d8f8fbb712706165e780c9b2904e4da7b92
Fixes: 748fcd09f89d10b8cf85d11dc574aad3896281d9
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sys_siglist was removed from glibc-2.32. Before now, for mipsel-linux-gnu,
we were forcing the cache var to 'yes', rather than 'no'. I suspect this
test would've worked correctly even without caching anyway, but it is what it
is.
Default to 'no' instead of 'yes'.
See also: https://lists.openembedded.org/g/openembedded-core/topic/dunfell_patch_site_make/77178472?p=
Closes: https://bugs.gentoo.org/791154
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, we end up with a mess like:
```
[...]
/usr/libexec/gcc/arm-none-eabi/ld: /usr/lib/gcc/arm-none-eabi/12/../../../../arm-none-eabi/lib/libg.a(libc_a-stack_protector.o): in function `__stack_chk_fail':
stack_protector.c:(.text.__stack_chk_fail+0x60): undefined reference to `_exit'
[...]
```
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
See: c439961a06625b27d39d683beee00e8c3a54005f
See: cb41e7e05c55f6ef64e7a617869bbb644899e724
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
The Python build assumes that tzset is broken when cross-compiling. We
can assume it works under Linux.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Closes: https://github.com/gentoo/crossdev/pull/8
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
This helps with both cross-compiling into a prefix and cross-compiling
within a prefix.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
This hack is unnecessary if we use emerge for uninstalls instead.
Reverts: bec5fd6a5597f736a868e79017f99b5bc79a9dbf
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
|
|
|
|
|
|
|
| |
qmerge does not remove packages from the world file.
Also, this allows us to drop the dependency on portage-utils.
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Probably a typo, so accidentally got changed to `cache/binpkgs` instead of
`/var/cache/binpkgs`
Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
Closes: https://github.com/gentoo/crossdev/pull/5
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
Closes: https://github.com/gentoo/crossdev/pull/4
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
Crossdev currently installs a dead symlink to cross-ebuild. This commit
creates it. Mostly copied from cross-emerge.
Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Not sure how this worked before - in our case emerge couldn't find a
matching ebuild any more when requesting stable versions.
Signed-off-by: Krzesimir Nowak <knowak@microsoft.com>
Closes: https://github.com/gentoo/crossdev/pull/3
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
When restoring user settings and when figuring out the list of repos.
Signed-off-by: Krzesimir Nowak <knowak@microsoft.com>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
Passing `--stable` didn't affect the version of built GDB, thus we
needed to pass `--gdb '[stable]'` on our own.
Signed-off-by: Krzesimir Nowak <knowak@microsoft.com>
Signed-off-by: Sam James <sam@gentoo.org>
|