Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

DarthGandalf
Copy link
Contributor

@thesamesam thesamesam requested a review from grobian June 25, 2024 01:09
@thesamesam
Copy link
Member

@grobian can you take a look?

@@ -1695,7 +1698,6 @@ do_emerge_pkgs() {
-fortran
-gdbm
-git
-libcxx
Copy link
Member

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?

Copy link
Contributor Author

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"
Copy link
Member

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?

Copy link
Contributor Author

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.

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}"
Copy link
Member

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?

Copy link
Contributor Author

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.


# Get a sane bash, overwriting tmp symlinks
pre_emerge_pkgs "" "app-shells/bash" || return 1
ln -s "${ROOT}"/bin/bash "${ROOT}"/usr/bin/bash
Copy link
Member

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

Copy link
Contributor Author

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

Copy link
Contributor Author

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?

gentoo-bot pushed a commit to gentoo/gentoo that referenced this pull request Oct 16, 2024
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
Copy link
Member

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants