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

Migrate from qt4 to qt5 [WIP] #33239

Closed
wants to merge 8 commits into from
Closed

Conversation

peterhoeg
Copy link
Member

Motivation for this change

Qt4 is deprecated.

Mixxx can simply be recompiled for Qt5.
OpenMW is also updated from 0.42.0 to 0.43.0 with a slightly newer openscenegraph.
Vanilla openscenegraph is updated from 3.4.0 -> 3.4.1

If you guys think they should be split up into multiple different PRs for the sake of not changing too many things at the same time, let me know.

Cc: @abbradar @aszlig @cillianderoiste @7c6f434c

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@lukateras
Copy link
Member

lukateras commented Dec 31, 2017

I would like to take on some Qt4 apps too. List of files mentioning Qt4: [truncated, moved to #33248]

@lukateras
Copy link
Member

223 total.

I think we already have Qt5 version of VLC in libsForQt5.vlc attribute, but we might want to drop Qt4 version.

pkgs/tools/inputmethods/* will all be dropped when Qt4 is removed entirely, and will also remove Qt4 from closure of everyone who uses non-alphabetic writing systems.

LibreOffice will probably land Qt5 in February: https://www.phoronix.com/scan.php?page=news_item&px=LibreOffice-VCL-Qt5

@orivej
Copy link
Contributor

orivej commented Dec 31, 2017

It is fine to build applications that support Qt 5 with Qt 5, but is there any reason to stop building applications with Qt 4 that don't (e.g. i7z)? Qt 4 works well and is not going to be removed in any near future.

@adisbladis
Copy link
Member

@yegortimoshenko Wouldnt it be better to create a tracking issue with that list? I doubt that all of those packages will be handled by this PR.

@orivej I agree with you. I think it may be worth revisiting that question once there are only a few packages depending on Qt4 but for now I don't see any reason to drop Qt4 from packages not supporting Qt5.

@orivej
Copy link
Contributor

orivej commented Dec 31, 2017

@peterhoeg The fork of qjoypad that you have found is pretty good, but its UI is a bit deficient compared to its qt4 ancestor. I'd like these pull requests to be merged before we switch: panzi/qjoypad#17 and panzi/qjoypad#18.

@7c6f434c
Copy link
Member

Sounds reasonable for xxdiff, for openscenegraph I am not sure whether flightgear or speed_dreams care about Qt support in the library. Hopefully they use as much as openmw, though.

@lukateras
Copy link
Member

@orivej: i7z-gui segfaults for me, so I too think we should drop it, if it doesn't work for anyone:

$ i7z-gui
i7z DEBUG: i7z version: svn-r77-(20-Nov-2011)
i7z DEBUG: Found Intel Processor
i7z DEBUG:    Stepping 7
i7z DEBUG:    Model a
i7z DEBUG:    Family 6
i7z DEBUG:    Processor Type 0
i7z DEBUG:    Extended Model 2
i7z DEBUG: msr = Model Specific Register
segmentation fault

But in other cases, patching application to support Qt5 is preferable.

@adisbladis
Copy link
Member

adisbladis commented Dec 31, 2017

@yegortimoshenko Works fine for me.

@orivej
Copy link
Contributor

orivej commented Dec 31, 2017

Works for me too. It must be run as root, but when it isn't it doesn't segfault, it prints:

i7z DEBUG: i7z version: svn-r77-(20-Nov-2011)
i7z DEBUG: Found Intel Processor
i7z DEBUG:    Stepping 3
i7z DEBUG:    Model e
i7z DEBUG:    Family 6
i7z DEBUG:    Processor Type 0
i7z DEBUG:    Extended Model 4
i7z DEBUG: msr = Model Specific Register
i7z DEBUG: Unknown processor, not exactly based on Nehalem, Sandy bridge or Ivy Bridge
i7z DEBUG: msr device files exist /dev/cpu/*/msr
i7z DEBUG: You DONOT have write permissions to msr device files
i7z DEBUG: A solution is to run this program as root

@lukateras
Copy link
Member

Interesting, i7z doesn't segfault for me (output identical to #33239 (comment)) but i7z-gui does.

@nixos-discourse
Copy link

This pull request has been mentioned on Nix community. There might be relevant details there:

https://discourse.nixos.org/t/bump-openmw-0-44-0-and-ported-to-qt5/2121/1

@geekware geekware mentioned this pull request Feb 14, 2019
10 tasks
@geekware geekware mentioned this pull request Mar 30, 2019
10 tasks
@mmahut
Copy link
Member

mmahut commented Aug 20, 2019

Are there any updates on this pull request, please?

@peterhoeg
Copy link
Member Author

No longer relevant.

@peterhoeg peterhoeg closed this Aug 26, 2019
@peterhoeg peterhoeg deleted the f/qt4to5 branch August 26, 2019 12:52
@woffs woffs mentioned this pull request Sep 9, 2020
10 tasks
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.

None yet

10 participants