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

qt6: add darwin support #202015

Merged
merged 14 commits into from
Dec 5, 2022
Merged

qt6: add darwin support #202015

merged 14 commits into from
Dec 5, 2022

Conversation

wegank
Copy link
Member

@wegank wegank commented Nov 20, 2022

Description of changes

#188938

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.11 Release Notes (or backporting 22.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@ofborg ofborg bot added the 6.topic: darwin Running or building packages on Darwin label Nov 20, 2022
@wegank wegank force-pushed the qt6-qtbase-darwin branch 3 times, most recently from 4e1bfa4 to a7bae16 Compare November 20, 2022 06:55
@ofborg ofborg bot added the 8.has: package (new) This PR adds a new package label Nov 20, 2022
@ofborg ofborg bot requested review from NickCao and LunNova November 20, 2022 07:55
Copy link
Member

@NickCao NickCao left a comment

Choose a reason for hiding this comment

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

diff LGTM

@NickCao
Copy link
Member

NickCao commented Nov 20, 2022

Actually this could have just targeted master, the amount of rebuild is relatively small.
cc @jiegec for testing.

@ofborg ofborg bot requested a review from NickCao November 20, 2022 08:08
@jiegec
Copy link
Contributor

jiegec commented Nov 20, 2022

nixpkgs-review on aarch64-darwin:

2 packages failed to build:
calcmysky qt6Packages.qxlsx

6 packages built:
qt6.qmake qt6.qtbase qt6Packages.poppler unixODBCDrivers.mariadb unixODBCDrivers.psql unixODBCDrivers.sqlite

@NickCao
Copy link
Member

NickCao commented Nov 20, 2022

@wegank would you mind at least fixing the build of qxlsx to ensure that qtbase actually works?

@jiegec
Copy link
Contributor

jiegec commented Nov 20, 2022

qt6Packages.qxlsx can build if adding OpenGL framework to buildInputs.

@wegank wegank marked this pull request as draft November 20, 2022 14:13
@wegank wegank changed the base branch from staging to master November 20, 2022 14:13
@wegank wegank marked this pull request as ready for review November 20, 2022 14:13
@wegank
Copy link
Member Author

wegank commented Nov 20, 2022

Rebased to master and fixed both calcmysky and qt6Packages.qxlsx.

@ofborg ofborg bot requested a review from NickCao November 20, 2022 14:24
@jiegec
Copy link
Contributor

jiegec commented Nov 20, 2022

Result of nixpkgs-review pr 202015 run on aarch64-darwin 1

8 packages built:
  • calcmysky
  • qt6.qmake
  • qt6.qtbase
  • qt6Packages.poppler
  • qt6Packages.qxlsx
  • unixODBCDrivers.mariadb
  • unixODBCDrivers.psql
  • unixODBCDrivers.sqlite

@wegank wegank changed the title qt6.qtbase: add aarch64-darwin support qt6.qtbase: add darwin support Nov 20, 2022
@wegank wegank requested a review from Atemu November 20, 2022 15:35
@risicle
Copy link
Contributor

risicle commented Nov 20, 2022

Only failure nixpkgs-review reveals for me on macos 10.15 is ladybird, but it obviously isn't a new failure. Still builds for me fine, nixos x86_64.

@LunNova
Copy link
Member

LunNova commented Nov 27, 2022

Result of nixpkgs-review pr 202015 run on x86_64-linux 1

3 packages marked as broken and skipped:
  • libsForQt512.fcitx5-qt
  • libsForQt514.fcitx5-qt
  • obs-studio-plugins.obs-hyperion
86 packages built:
  • beamerpresenter (beamerpresenter-mupdf)
  • beamerpresenter-poppler
  • calcmysky
  • calibre
  • cudaPackages.nsight_compute
  • cutemaze
  • duckstation
  • fcitx5-chinese-addons
  • fcitx5-configtool
  • fcitx5-unikey
  • fcitx5-with-addons
  • gpxsee (gpxsee-qt5)
  • gpxsee-qt6
  • jami-client-qt
  • ladybird
  • libsForQt5.fcitx5-qt (libsForQt515.fcitx5-qt ,plasma5Packages.fcitx5-qt)
  • libsForQt5.qtpbfimageplugin (libsForQt515.qtpbfimageplugin ,plasma5Packages.qtpbfimageplugin)
  • libsForQt512.qtpbfimageplugin
  • libsForQt514.qtpbfimageplugin
  • maestral-gui
  • mozillavpn
  • obs-studio
  • obs-studio-plugins.input-overlay
  • obs-studio-plugins.looking-glass-obs
  • obs-studio-plugins.obs-backgroundremoval
  • obs-studio-plugins.obs-gstreamer
  • obs-studio-plugins.obs-move-transition
  • obs-studio-plugins.obs-multi-rtmp
  • obs-studio-plugins.obs-nvfbc
  • obs-studio-plugins.obs-pipewire-audio-capture
  • obs-studio-plugins.obs-source-record
  • obs-studio-plugins.obs-vkcapture
  • obs-studio-plugins.wlrobs
  • prismlauncher
  • python310Packages.pyqt6
  • python310Packages.pyqt6-webengine
  • python39Packages.pyqt6
  • python39Packages.pyqt6-webengine
  • qMasterPassword
  • qt6.full (qt6Packages.full)
  • qt6.qmake (qt6Packages.qmake)
  • qt6.qt3d (qt6Packages.qt3d)
  • qt6.qt5compat (qt6Packages.qt5compat)
  • qt6.qtbase (qt6Packages.qtbase)
  • qt6.qtcharts (qt6Packages.qtcharts)
  • qt6.qtconnectivity (qt6Packages.qtconnectivity)
  • qt6.qtdatavis3d (qt6Packages.qtdatavis3d)
  • qt6.qtdeclarative (qt6Packages.qtdeclarative)
  • qt6.qtdoc (qt6Packages.qtdoc)
  • qt6.qthttpserver (qt6Packages.qthttpserver)
  • qt6.qtimageformats (qt6Packages.qtimageformats)
  • qt6.qtlanguageserver (qt6Packages.qtlanguageserver)
  • qt6.qtlottie (qt6Packages.qtlottie)
  • qt6.qtmultimedia (qt6Packages.qtmultimedia)
  • qt6.qtnetworkauth (qt6Packages.qtnetworkauth)
  • qt6.qtpositioning (qt6Packages.qtpositioning)
  • qt6.qtquick3d (qt6Packages.qtquick3d)
  • qt6.qtquick3dphysics (qt6Packages.qtquick3dphysics)
  • qt6.qtquicktimeline (qt6Packages.qtquicktimeline)
  • qt6.qtremoteobjects (qt6Packages.qtremoteobjects)
  • qt6.qtscxml (qt6Packages.qtscxml)
  • qt6.qtsensors (qt6Packages.qtsensors)
  • qt6.qtserialbus (qt6Packages.qtserialbus)
  • qt6.qtserialport (qt6Packages.qtserialport)
  • qt6.qtshadertools (qt6Packages.qtshadertools)
  • qt6.qtspeech (qt6Packages.qtspeech)
  • qt6.qtsvg (qt6Packages.qtsvg)
  • qt6.qttools (qt6Packages.qttools)
  • qt6.qttranslations (qt6Packages.qttranslations)
  • qt6.qtvirtualkeyboard (qt6Packages.qtvirtualkeyboard)
  • qt6.qtwayland (qt6Packages.qtwayland)
  • qt6.qtwebchannel (qt6Packages.qtwebchannel)
  • qt6.qtwebengine (qt6Packages.qtwebengine)
  • qt6.qtwebsockets (qt6Packages.qtwebsockets)
  • qt6.qtwebview (qt6Packages.qtwebview)
  • qt6Packages.kcoreaddons
  • qt6Packages.poppler
  • qt6Packages.qtpbfimageplugin
  • qt6Packages.quazip
  • qt6Packages.qxlsx
  • qutebrowser-qt6
  • stellarium
  • tdesktop
  • unixODBCDrivers.mariadb
  • zeal-qt6
  • zint

@LunNova
Copy link
Member

LunNova commented Nov 27, 2022

Looks good! Tried out Calibre too which depends on QtWebEngine which is a fairly good manual test.

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-already-reviewed/2617/691

@@ -90,7 +98,9 @@ let
qt3d = callPackage ./modules/qt3d.nix { };
qt5compat = callPackage ./modules/qt5compat.nix { };
qtcharts = callPackage ./modules/qtcharts.nix { };
qtconnectivity = callPackage ./modules/qtconnectivity.nix { };
qtconnectivity = callPackage ./modules/qtconnectivity.nix {
Copy link
Member

Choose a reason for hiding this comment

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

You must use the callPackage wrapper or integrate it into qt's callPackage wrapper.

Copy link
Member Author

Choose a reason for hiding this comment

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

It actually uses the same callPackage wrapper as in qtbase.

--replace '$$PROTOBUF/lib/libprotobuf-lite.a' '${protobuf}/lib/libprotobuf-lite.dylib'
'';

qmakeFlags = lib.optionals stdenv.isDarwin [
"CONFIG+=c++17"
"QMAKE_MACOSX_DEPLOYMENT_TARGET=10.15"
Copy link
Member

Choose a reason for hiding this comment

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

Should we get this from the sdk version?

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think so, it's just to avoid an error (in the comment) mentioning macOS 10.15. Also, this package seems to rely on Xcode Command Line Tools. Should we mark this as broken for now?

Copy link
Member

Choose a reason for hiding this comment

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

If it doesn't work sure. We can always revisit it. Also this keeps the scope of this PR manageable.

@wegank wegank mentioned this pull request Nov 28, 2022
13 tasks
@wegank wegank force-pushed the qt6-qtbase-darwin branch 3 times, most recently from a036c58 to a44cd98 Compare November 28, 2022 23:33
@ofborg ofborg bot requested a review from LunNova November 28, 2022 23:44
@mweinelt mweinelt added the 12.approvals: 2 This PR was reviewed and approved by two reputable people label Dec 3, 2022
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-already-reviewed/2617/708

Copy link
Member

@Atemu Atemu left a comment

Choose a reason for hiding this comment

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

Diff LGTM.

@SuperSandro2000 SuperSandro2000 merged commit 1749190 into NixOS:master Dec 5, 2022
@wegank wegank deleted the qt6-qtbase-darwin branch December 5, 2022 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: darwin Running or building packages on Darwin 6.topic: python 8.has: clean-up 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 11-100 10.rebuild-linux: 101-500 12.approvals: 2 This PR was reviewed and approved by two reputable people
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants