cyan icon indicating copy to clipboard operation
cyan copied to clipboard

Support MacOS X 10.5/10.6 (PPC)

Open barracuda156 opened this issue 10 months ago • 20 comments

Or is Qt5 strictly required even now?

barracuda156 avatar Apr 21 '24 12:04 barracuda156

v1.0 probably worked in Qt4, don't remember (or care).

rodlie avatar Apr 21 '24 14:04 rodlie

v1.0 probably worked in Qt4, don't remember (or care).

Thank you. Is there a source code for it? The earliest tag here is 1.2.0.

barracuda156 avatar Apr 21 '24 14:04 barracuda156

Yeah, not sure what have happened to the tags, everything before 1.2 is gone...... Very odd.

If you need Qt4 support just try one of the 1.2 tags, should not be much difference. Worst case you might need to change a couple of lines of code.

rodlie avatar Apr 21 '24 14:04 rodlie

@rodlie Got it, thanks. Will try it.

barracuda156 avatar Apr 21 '24 14:04 barracuda156

So, most of the branches seems to have been "tainted", the only branch that can go all the way back to the first commit is 2021.Q1. I will need to figure out a solution to this.

https://github.com/rodlie/cyan/commits/2021.Q1/?after=56017947b104265afad38b1322c56b9437614455+1049

EDIT: no, that's also wrong. I seem to have lost pre 1.2 :(

And yes Qt4 was supported, I probably just removed it from cyan.pro.

rodlie avatar Apr 21 '24 15:04 rodlie

Some updates.

In 2018 I did something stupid, I merged two projects. I had a project called pixelcore, that for some reason I renamed to Cyan2 and merged it into Cyan. This broke the history in this repo. I will try and find a disk with the old repo, but that might take a while.

But...

I originally made Cyan with my old GitHub user, but I didn't move the repo, so you can find the original Cyan 1 rc tags here: https://github.com/olear/cyan.

rodlie avatar Apr 21 '24 16:04 rodlie

@rodlie Great, thank you very much!

P. S. Let me see if the current version can build with Qt4 (not much hope, tbh, but does not hurt trying), then I will go down sequentially.

barracuda156 avatar Apr 21 '24 16:04 barracuda156

The code should work (1.2 was mostly backend changes compared to 1.0), but the cyan.pro file will probably need some minor changes.

I will accept Qt4 changes as long as they stay compatible with Qt5+, I just don't have the time to check or support Qt4 anymore.

Also note that the next version of Cyan is located in the v3 folder (pre-alpha), I should be able to release something before end of summer.

rodlie avatar Apr 21 '24 17:04 rodlie

@rodlie A quick update: 1.2.4, as expected, does not build with Qt4 directly (initial failures were easy to fix – missing Q_NULLPTR and QtMimeTypes, but then there are more down the road). But 1.0.0.RC2 builds fine with no patching and seems to work on PowerPC :)

barracuda156 avatar Apr 21 '24 17:04 barracuda156

Ok, good. So the goal is OSX 10.6?

I can check Qt4 compat the next time I'm doing test builds on my old iMac (supporting qt4 on older OSX is not a big issue).

rodlie avatar Apr 21 '24 18:04 rodlie

Ok, good. So the goal is OSX 10.6?

Ideally 10.5, but personally I am happy with 10.6 either.

I can check Qt4 compat the next time I'm doing test builds on my old iMac (supporting qt4 on mac is not a big issue).

That would be awesome!

BTW, for QtMimeTypes this can be used with Qt4: https://ports.macports.org/port/qt4-mimetypes

barracuda156 avatar Apr 21 '24 18:04 barracuda156

quick hack for qt4-mac: https://github.com/rodlie/cyan/tree/qt4-hack

Just a test.

rodlie avatar Apr 21 '24 19:04 rodlie

@rodlie Wow, that worked! cyan

barracuda156 avatar Apr 21 '24 19:04 barracuda156

BTW, the port is merged: https://github.com/macports/macports-ports/blob/7369de66968e925f17340d3c77feed88abf8156d/graphics/cyan/Portfile

Once we have a finalized version for Qt4, I will update it, dropping a fallback of 1.0.0.

barracuda156 avatar Apr 21 '24 19:04 barracuda156

Cool, note that the UI has some color issues etc (https://github.com/rodlie/cyan/blob/qt4-hack/src/cyan.cpp#L112), will look at it tomorrow (or when I get the time), and also actually fix the code not just hack it ;)

rodlie avatar Apr 21 '24 19:04 rodlie

Also note that the qt4-hack branch is based on main, so 1.3ish.

rodlie avatar Apr 21 '24 19:04 rodlie

Also note that the qt4-hack branch is based on main, so 1.3ish.

Yeah, I just used the commit to build.

Well, since Macports generally does not welcome commit-based ports unless that is necessary, I can just make the commit-based version for old (Qt4-using) systems, while retaining 1.2.4 for the rest until a new release.

barracuda156 avatar Apr 21 '24 19:04 barracuda156

One minor issue on 10.6: app icon is missing. Perhaps resolution too high or unsupported format with Qt4?

barracuda156 avatar Apr 21 '24 19:04 barracuda156

OpenMP can be supported on 10.5+, no issues with that; the only thing is that with gcc linking is done internally by the compiler to its own libgomp (and obviously LLVM libomp should not be used at the same time).

barracuda156 avatar Apr 21 '24 19:04 barracuda156

I will make a proper "backport" to Qt4, and I will do it to the 1.2 branch, so 1.2.5 will include Qt4 support (again).

One minor issue on 10.6: app icon is missing. Perhaps resolution too high or unsupported format with Qt4?

Noticed, probably need to generate a new icon or maybe it's not included(?).

OpenMP can be supported on 10.5+, no issues with that; the only thing is that with gcc linking is done internally by the compiler to its own libgomp (and obviously LLVM libomp should not be used at the same time).

Cyan does not use OpenMP, but ImageMagick does. The .pro file was/is for deployment, there I use a static ImageMagick and must link to OpenMP.

rodlie avatar Apr 21 '24 19:04 rodlie