gridcoin-community / Gridcoin-Research

Gridcoin-Research
MIT License
586 stars 172 forks source link

Update to Qt5 #130

Closed theMarix closed 7 years ago

theMarix commented 8 years ago

Support for Qt4 has ended in December 2015. Thus, it will no longer receive security updates. Given that the wallet is a security sensitive application, Gridcoin should really switch to Qt5.

This becomes increasingly important as large distributions start dropping Qt4 from their repository. E.g. Fedora 24 no longer ships Qt4, so it is currently impossible to use Gridcoin on this distribution.

Git-Jiro commented 8 years ago

I will also run into a problem with Qt4, when most people will update to OS X Sierra and still want to use the Gridcoin for OS X homebrew recipe I am maintaining.

Some people already report issues with Qt4 on OS X Sierra, see link: http://stackoverflow.com/questions/39690404/brew-install-qt-does-not-work-on-macos-sierra

grctest commented 8 years ago

Is the upgrade to QT5 significant? Are there similar commits from bitcoin/peercoin/blackcoin that we can reference?

theMarix commented 8 years ago

Bitcoin has moved to Qt5 at least two years ago. Haven't had the time too look at the relevant commits, though. Fear our codebase has detached too far already, anyhow.

grctest commented 8 years ago

I believe this has been causing some headaches for the OSX builds recently.

grctest commented 7 years ago

https://cryptocointalk.com/topic/13139-os-x-builds-feedback-bug-reporting/page-13#entry227868 https://cryptocointalk.com/topic/13139-os-x-builds-feedback-bug-reporting/page-13#entry227874

OSX package headaches : /

Git-Jiro commented 7 years ago

I don't think it is such a big deal to upgrade to Qt5. On El Capitan the only issue was how to get C++11 cope with 64bit format strings in the Gridcoin source. C++11 just requires some whitespace around 64bit format strings, nothing more. See https://github.com/gridcoin/Gridcoin-Research/pull/174

I have Gridcoin running again on El Cap using these changes. I also had to patch the Makefile a little, but I can keep those changes in a small on-the-fly patch inside the Homebrew Formula.

denravonska commented 7 years ago

Sally:~ marco$ qmake --version QMake version 3.0 Using Qt version 5.7.0 in /usr/local/Cellar/qt5/5.7.0/lib

Qt5 has been working through Homebrew for quite some time, right? We have two PRs solving the same C++11 problems. After that there should be no issues swithing.

gridcoin commented 7 years ago

Cool, let me loop in Grisou. Hes been working on upgrading the code to qt 5.8 and trying to use qt 5.8's pie chart.

Peppernrino commented 7 years ago

as far as i can see, it's just replacing a bunch of deprecated functions... time-consuming, sure, but i might be able to hack it out.

i will test my theories during my Arch compile adventures. going to see if i can't get a proper PKGBUILD going, etc. @Tahvok has had some success compiling in Qt5, as well Arch, and i am going to join their endeavour. i have also found a Qt4toQt5 program on github that -seems- to work, but of course, testing has to be done.

Tahvok commented 7 years ago

@Peppernrino I didn't just had "some success", in fact my aur packages are working with qt5 for almost an year now. I have been running the wallet in such a way for all that time on my machine. There are some minor visual distortions, but nothing that makes the wallet unusable: https://aur.archlinux.org/packages/gridcoinresearch-qt

You might be also interested in the -git aur package, as it takes the latest git commit instead of the latest release: https://aur.archlinux.org/packages/gridcoinresearch-qt-git/

skcin commented 7 years ago

I also use @Tahvok AUR package for a long time and it works just fine. One of the visual distortions: #180

@gridcoin the pie chart works fine, except for the wallet crashing all the time on reloading the pie charts data. I found a simple workaround: https://github.com/skcin/Gridcoin-Research/tree/votingdialog But the voting part is missing, for now only showing the polls is possible.

denravonska commented 7 years ago

Can we consider this done as well?

denravonska commented 7 years ago

I'm closing this when I get some feedback from the OSX builders.

Git-Jiro commented 7 years ago

As I already mentioned before, Gridcoin for OSX builds fine with Qt5, if some C++11 64bit related peculiarities are patched. Those peculiarties are mentioned in #174.

denravonska commented 7 years ago

Sweet, then I'll close this.