Fix build with poppler 82
AbandonedPublic

Authored by tcanabrava on Dec 16 2019, 4:08 PM.

Details

Reviewers
danders
Group Reviewers
Calligra: 3.0
Summary

Perhaps it's time to drop poppler 62 support?
Perhaps it's time to drop poppler 72 support?

We still have ifdefs for those two, but I don't want to touch it
without knowing the systems that are targeted

Diff Detail

Repository
R8 Calligra
Branch
fixBuildWithPoppler82
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 19939
Build 19957: arc lint + arc unit
tcanabrava created this revision.Dec 16 2019, 4:08 PM
Restricted Application added a project: Calligra: 3.0. · View Herald TranscriptDec 16 2019, 4:08 PM
Restricted Application added a subscriber: Calligra-Devel-list. · View Herald Transcript
tcanabrava requested review of this revision.Dec 16 2019, 4:08 PM

Maybe we can drop 62, but not 72.

ognarb added a subscriber: ognarb.Dec 25 2019, 2:36 PM

Doesn't compile for me with Poppler 81. So I created a small patch on top of your patch

Maybe we can drop 62, but not 72.

If this is for master I don't see why we could keep anything pre-0.79. Distros already have to patch the hell out of 3.1.0 which has led to diverging code because several changes are conflicting. That one needs a point release to settle that.

And meanwhile master needs a fix for 0.83 too.

Maybe we can drop 62, but not 72.

If this is for master I don't see why we could keep anything pre-0.79. Distros already have to patch the hell out of 3.1.0 which has led to diverging code because several changes are conflicting. That one needs a point release to settle that.

And meanwhile master needs a fix for 0.83 too.

What about releasing Calligra as a part of the Release Service (a release every 4 months with some Bugfix release between)? The latest release was almost 2 years ago, and we have more than 500 commits in master.

Maybe we can drop 62, but not 72.

If this is for master I don't see why we could keep anything pre-0.79. Distros already have to patch the hell out of 3.1.0 which has led to diverging code because several changes are conflicting. That one needs a point release to settle that.

And meanwhile master needs a fix for 0.83 too.

What about releasing Calligra as a part of the Release Service (a release every 4 months with some Bugfix release between)? The latest release was almost 2 years ago, and we have more than 500 commits in master.

Release service can't be the answer to everything. More than everything it needs dedicated maintainers.

leinir added a subscriber: leinir.Dec 26 2019, 2:28 PM

Maybe we can drop 62, but not 72.

If this is for master I don't see why we could keep anything pre-0.79. Distros already have to patch the hell out of 3.1.0 which has led to diverging code because several changes are conflicting. That one needs a point release to settle that.

And meanwhile master needs a fix for 0.83 too.

What about releasing Calligra as a part of the Release Service (a release every 4 months with some Bugfix release between)? The latest release was almost 2 years ago, and we have more than 500 commits in master.

To go with this, i'm starting to think that it would perhaps not be the worst thing to have Calligra's engine explicitly split out, to allow it to be released as a proper Framework, and the applications to be applications based on that framework... It would seem like something that'd be worth trying to aim for for KF6, because while Calligra might have slowed down, that particular reason for Calligra's existence is still a thing, and the monolithic nature of the current layout of the codebase does not allow people to use it in the way it is intended. So... yup, going to have to spend some time considering this and making a formal proposal, but thought i would mention it here and get the idea out in the open.

I'm pretty sure Krita devs think about when they split application out of Calligra repo and make its own copy of libs, flakes, etc. So beneficial of splitting libs in their own release plan will be for all applications. That will a huge work pretty underrated by all users.

Maybe we can drop 62, but not 72.

If this is for master I don't see why we could keep anything pre-0.79. Distros already have to patch the hell out of 3.1.0 which has led to diverging code because several changes are conflicting. That one needs a point release to settle that.

And meanwhile master needs a fix for 0.83 too.

What about releasing Calligra as a part of the Release Service (a release every 4 months with some Bugfix release between)? The latest release was almost 2 years ago, and we have more than 500 commits in master.

To go with this, i'm starting to think that it would perhaps not be the worst thing to have Calligra's engine explicitly split out, to allow it to be released as a proper Framework, and the applications to be applications based on that framework... It would seem like something that'd be worth trying to aim for for KF6, because while Calligra might have slowed down, that particular reason for Calligra's existence is still a thing, and the monolithic nature of the current layout of the codebase does not allow people to use it in the way it is intended. So... yup, going to have to spend some time considering this and making a formal proposal, but thought i would mention it here and get the idea out in the open.

+1 and I'm willing to help :)

I like the idea of trying to move away from the monolythic release. Not that my opinion matters much, but I'm willing to help in the endeavor. I'll try to participate in tasks in that direction as much as my free time will allow it.

See Poppler's site for what distros/OSes have which versions. I think dropping pre-62 may be safe. Definitely not 72.

I am a firm +1 on splitting Calligra and as a distro maintainer we would be happy to provide testing for it on our multiple CPU architectures (POWER, ARM, and x86) and LTS Qt version. Feel free to Subscribe me to any Phabricator tasks around that.

rjvbb added a subscriber: rjvbb.Jan 13 2020, 3:28 PM
I am a firm +1 on splitting Calligra

+++
At the very least, the build system should be able to generate the shared parts as well as the different components (wordprocessor, spreadsheet, ...) separately (and depending on the installed shared libraries, for the components). Once that's done it should be possible to reorganise the source tree so releases can consist of separate tarballs for the shared bits and the individual applications even if you'll continue to use a single git repo (which would probably make sense).

danders added a subscriber: danders.Mar 9 2020, 9:09 AM

Ooops, seems I fixed this (+ 0.83) in separate commits, so this can be closed.

@tcanabrava please abondone this.

tcanabrava abandoned this revision.Mar 13 2020, 10:50 AM

For those who mentioned they would like part of the splitty-outy thing: Please pop over here and take a look and make a comment or five and let's get this under way - https://phabricator.kde.org/T12815 :)