Skip to content

qt-base: fix build on macos, when +network#38519

Merged
alecbcs merged 8 commits intospack:developfrom
aumuell:qt-base-macos
Jul 17, 2023
Merged

qt-base: fix build on macos, when +network#38519
alecbcs merged 8 commits intospack:developfrom
aumuell:qt-base-macos

Conversation

@aumuell
Copy link
Copy Markdown
Contributor

@aumuell aumuell commented Jun 22, 2023

this should also fix #34037

aumuell added 4 commits June 22, 2023 12:31
On macos, the code in src/network/kernel/qauthenticator.cpp
unconditionally includes the header from the GSS framework, so we should
link against it.

This applies two patches from the dev branch. They are to be cherry-picked
into the 6.5 (probably released with 6.5.2) and 6.6 branches, but they
apply against 6.3.2 as well.
src/network/CMakeLists.txt disables it on MACOS anyway. And as it is not
found without pkg-config, building with +network would break because of
the feature being explicitly enabled.
On macOS, usage of pkg-config is disabled by unsetting
PKG_CONFIG_EXECUTABLE, unless the feature pkg-config is requested explicitly.
Does not build on macOS and seems to be targeted at linux. Qt6 on
homebrew does not depend on it, either.
@aumuell aumuell added the macOS label Jun 22, 2023
yes, probably not needed on windows, either

Co-authored-by: Alec Scott <[email protected]>
sethrj
sethrj previously approved these changes Jul 2, 2023
Copy link
Copy Markdown
Contributor

@sethrj sethrj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small pythonicity suggestion. But maybe this would be better with just "platform=Linux"?

according to src/network/CMakeLists.txt it's only used on Unix
Copy link
Copy Markdown
Member

@alecbcs alecbcs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking great! Just a few small suggestions.

Copy link
Copy Markdown
Member

@alecbcs alecbcs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! Thanks @aumuell for all the hard work on this PR.

@alecbcs alecbcs merged commit 193e6e7 into spack:develop Jul 17, 2023
@aumuell aumuell deleted the qt-base-macos branch July 17, 2023 17:17
eugeneswalker pushed a commit to eugeneswalker/spack that referenced this pull request Jul 22, 2023
* qt-base: always link to GSS framework on macOS

On macos, the code in src/network/kernel/qauthenticator.cpp
unconditionally includes the header from the GSS framework, so we should
link against it.

This applies two patches from the dev branch. They are to be cherry-picked
into the 6.5 (probably released with 6.5.2) and 6.6 branches, but they
apply against 6.3.2 as well.

* qt-base: disable libproxy on macOS

src/network/CMakeLists.txt disables it on MACOS anyway. And as it is not
found without pkg-config, building with +network would break because of
the feature being explicitly enabled.

* qt-base: don't depend on pkgconfig on macOS

On macOS, usage of pkg-config is disabled by unsetting
PKG_CONFIG_EXECUTABLE, unless the feature pkg-config is requested explicitly.

* qt-base: don't depend on at-spi2-core on macOS

Does not build on macOS and seems to be targeted at linux. Qt6 on
homebrew does not depend on it, either.

* qt-base: fix long lines

* qt-base: restrict use of pkgconfig to linux

yes, probably not needed on windows, either

Co-authored-by: Alec Scott <[email protected]>

* qt-base: disable libproxy on Windows as well

according to src/network/CMakeLists.txt it's only used on Unix

* qt-base: improvements based on reviewer suggestions

---------

Co-authored-by: Alec Scott <[email protected]>
mpokorny pushed a commit to mpokorny/spack that referenced this pull request Sep 18, 2023
* qt-base: always link to GSS framework on macOS

On macos, the code in src/network/kernel/qauthenticator.cpp
unconditionally includes the header from the GSS framework, so we should
link against it.

This applies two patches from the dev branch. They are to be cherry-picked
into the 6.5 (probably released with 6.5.2) and 6.6 branches, but they
apply against 6.3.2 as well.

* qt-base: disable libproxy on macOS

src/network/CMakeLists.txt disables it on MACOS anyway. And as it is not
found without pkg-config, building with +network would break because of
the feature being explicitly enabled.

* qt-base: don't depend on pkgconfig on macOS

On macOS, usage of pkg-config is disabled by unsetting
PKG_CONFIG_EXECUTABLE, unless the feature pkg-config is requested explicitly.

* qt-base: don't depend on at-spi2-core on macOS

Does not build on macOS and seems to be targeted at linux. Qt6 on
homebrew does not depend on it, either.

* qt-base: fix long lines

* qt-base: restrict use of pkgconfig to linux

yes, probably not needed on windows, either

Co-authored-by: Alec Scott <[email protected]>

* qt-base: disable libproxy on Windows as well

according to src/network/CMakeLists.txt it's only used on Unix

* qt-base: improvements based on reviewer suggestions

---------

Co-authored-by: Alec Scott <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Installation issue: qt-base on macOS arm64

3 participants