-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support clang on macos prefix #34
base: master
Are you sure you want to change the base?
Conversation
@grobian can you take a look? |
scripts/bootstrap-prefix.sh
Outdated
@@ -1695,7 +1698,6 @@ do_emerge_pkgs() { | |||
-fortran | |||
-gdbm | |||
-git | |||
-libcxx |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this is going to break non-clang bootstraps?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, gcc doesn't use libcxx at all
@@ -2221,11 +2286,37 @@ bootstrap_stage3() { | |||
ln -s bash "${ROOT}"/bin/sh | |||
fi | |||
|
|||
# Start using apps from the final destination Prefix | |||
export PREROOTPATH="${ROOT}/usr/bin:${ROOT}/bin" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this var used to be picked up by portage, are we sure the below replacement is picked up by portage?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Special handling of PREROOTPATH was removed from portage in gentoo/portage@69f2221
I reimplemented here what it was doing before, but with the current portage version.
scripts/bootstrap-prefix.sh
Outdated
export PREROOTPATH="${ROOT}/usr/bin:${ROOT}/bin" | ||
# Start using apps from new target | ||
cat > "${ROOT}"/tmp/etc/env.d/10stage3 <<-EOF | ||
PATH="${ROOT}/usr/bin:${ROOT}/bin:${ROOT}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the trailing ROOT supposed to be here? what lives there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure, maybe it was a typo.
I no longer have Mac available, so can't test what happens without it.
scripts/bootstrap-prefix.sh
Outdated
|
||
# Get a sane bash, overwriting tmp symlinks | ||
pre_emerge_pkgs "" "app-shells/bash" || return 1 | ||
ln -s "${ROOT}"/bin/bash "${ROOT}"/usr/bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is weird
bin should be a symlink to usr/bin, and thus this should break or complain about both arguments being the same file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't remember anymore why this line was necessary
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps on the darwin profile bin is not a symlink to usr/bin?
Backport first a fix for arm64 CFI which fixes build w/ the macOS assembler (reported by olfway on IRC when looking at gentoo/prefix#34). While here, backport a few more fixes: * runtime: sparc: struct args * runtime: x86: sse * tests: fix dg-* typo Signed-off-by: Sam James <sam@gentoo.org>
Bug: https://bugs.gentoo.org/758167 Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
EXTRA_ECONF=$(rapx --with-sysroot=/) \ | ||
emerge_pkgs --nodeps "${pkg}" || return 1 | ||
done | ||
if [[ ${CHOST}:${DARWIN_USE_GCC} != *-darwin*:0 ]] ; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So you just don't want to merge the linker here for clang target? Can it be set to empty or something?
Bug: https://bugs.gentoo.org/758167