Upgrading Inkscape's 2geom
Hi all,
Now that 0.48.1 is 'out', shall I try and upgrade our 2geom copy? I am in a situation this month that I have time to do mindless search&replace operations, which will be necessary to do the 2geom upgrade.
Cheers, Johan
On Mon, Jan 31, 2011 at 2:00 PM, <J.B.C.Engelen@...1578...> wrote:
Hi all,
Now that 0.48.1 is 'out', shall I try and upgrade our 2geom copy? I am in a situation this month that I have time to do mindless search&replace operations, which will be necessary to do the 2geom upgrade.
I vote yes. Staying up to date is a good thing.
Cheers, Josh
2011/1/31 <J.B.C.Engelen@...1578...>:
Hi all,
Now that 0.48.1 is 'out', shall I try and upgrade our 2geom copy? I am in a situation this month that I have time to do mindless search&replace operations, which will be necessary to do the 2geom upgrade.
Cheers, Johan
I would postpone this slightly until we can merge the Cairo rendering branch. I have removed a lot of non-2Geom (libnr) stuff in that version.
The Cairo version should be mostly usable right now, but requires using a development release of Cairo that fixes some precision problems with gradients.
Regards, Krzysztof
-----Original Message----- From: Krzysztof Kosiński [mailto:tweenk.pl@...400...] Sent: 01 February 2011 21:49 To: Engelen, J.B.C. (Johan) Cc: inkscape-devel@lists.sourceforge.net; lib2geom- devel@lists.sourceforge.net Subject: Re: [Lib2geom-devel] Upgrading Inkscape's 2geom
2011/1/31 <J.B.C.Engelen@...1578...>:
Hi all,
Now that 0.48.1 is 'out', shall I try and upgrade our 2geom copy? I am in a situation this month that I have time to do mindless search&replace operations, which will be necessary to do the 2geom upgrade.
Cheers, Johan
I would postpone this slightly until we can merge the Cairo rendering branch. I have removed a lot of non-2Geom (libnr) stuff in that version.
Eek! I already started the work... it turns out to be not that much work though. Do you mean that you removed non-2geom stuff in favor of 2geom, and that when I do the conversion now, that that would give you extra work in your code? Would it be OK if I send you the search&replace strings to get it working? Just these two replacements: Geom::Matrix --> Geom::Affine <2geom/matrix.h> --> <2geom/affine.h> gives almost a working build. Some function names changed, but those functions are rarely used; so fixing those is not too much work.
The Cairo version should be mostly usable right now, but requires using a development release of Cairo that fixes some precision problems with gradients.
How long will it take for this to be fixed?
Although I do not want to give you extra headaches, I really want to get our copy of 2geom updated asap. It's been way too long since we did the last update.
Cheers, Johan
2011/2/1 <J.B.C.Engelen@...1578...>:
Eek! I already started the work... it turns out to be not that much work though. Do you mean that you removed non-2geom stuff in favor of 2geom, and that when I do the conversion now, that that would give you extra work in your code? Would it be OK if I send you the search&replace strings to get it working? Just these two replacements: Geom::Matrix --> Geom::Affine <2geom/matrix.h> --> <2geom/affine.h> gives almost a working build. Some function names changed, but those functions are rarely used; so fixing those is not too much work.
If you started the work already, feel free to continue - it shouldn't take too long to update my branch. I don't remember using any advanced 2Geom features, so replacing Matrix with Affine should fix 95% of code. I was really thinking about further 2Geom-ification - that would benefit from doing it in the Cairo branch.
Cairo 1.12 is still probably a few months away.
By the way, Cairo 1.10 doesn't crash the Cairo branch, prevent it from compiling anything, it just misrenders some gradients. You can use 1.10, but the rendering accuracy will not be acceptable for serious use.
Regards, Krzysztof
-----Original Message----- From: Krzysztof Kosiński [mailto:tweenk.pl@...400...] Sent: 01 February 2011 23:35 To: Engelen, J.B.C. (Johan) Cc: inkscape-devel@lists.sourceforge.net; lib2geom- devel@lists.sourceforge.net Subject: Re: [Lib2geom-devel] Upgrading Inkscape's 2geom
2011/2/1 <J.B.C.Engelen@...1578...>:
Eek! I already started the work... it turns out to be not that much
work though.
Do you mean that you removed non-2geom stuff in favor of 2geom, and
that when I do the conversion now, that that would give you extra work in your code? Would it be OK if I send you the search&replace strings to get it working?
Just these two replacements: Geom::Matrix --> Geom::Affine <2geom/matrix.h> --> <2geom/affine.h> gives almost a working build. Some function names changed, but those
functions are rarely used; so fixing those is not too much work.
If you started the work already, feel free to continue - it shouldn't take too long to update my branch. I don't remember using any advanced 2Geom features, so replacing Matrix with Affine should fix 95% of code. I was really thinking about further 2Geom-ification - that would benefit from doing it in the Cairo branch.
Done!
-Johan
On Feb 1, 2011, at 1:29 PM, <J.B.C.Engelen@...1578...> wrote:
The Cairo version should be mostly usable right now, but requires using a development release of Cairo that fixes some precision problems with gradients.
How long will it take for this to be fixed?
Although I do not want to give you extra headaches, I really want to get our copy of 2geom updated asap. It's been way too long since we did the last update.
Well, it turns out I was talking with the Cairo guys this past week at linux.conf.au on this very subject.
The first warning was that until an even release is made with the feature we want, it is *technically* ok for them to change or remove any APIs up until the last minute. So we shouldn't really start using that in our main code until they have an initial even number release with the feature/API we want.
Secondly, and also more important according to them, is that we want to wait until distros have time to assess that release, bring it in, and then make a release themselves. For some distros we can go with a simultaneous targeting, but for others we will most likely want to keep a fair window of compatibility.
The main need for compatibility is those with a business-oriented or LTS approach. By keeping more compatible with such stable releases, we can target professional use of Inkscape and move away from the "just a toy" trap. We get *many* requests from those who want to either install an additional newer Inkscape version or to grab a newer PPA or such of an updated Inkscape. (and keep in mind that we had made changes to allow for easy parallel installation of multiple Inkscape versions).
Bottom line is that I think a switch to the newer lib2geom will bring in a lot without causing many breaking changes.
On Wed, Feb 2, 2011 at 1:01 AM, Jon Cruz <jon@...18...> wrote:
On Feb 1, 2011, at 1:29 PM, <J.B.C.Engelen@...1578...> wrote:
The Cairo version should be mostly usable right now, but requires using a development release of Cairo that fixes some precision problems with gradients.
How long will it take for this to be fixed?
Although I do not want to give you extra headaches, I really want to get our copy of 2geom updated asap. It's been way too long since we did the last update.
Well, it turns out I was talking with the Cairo guys this past week at linux.conf.au on this very subject.
The first warning was that until an even release is made with the feature we want, it is *technically* ok for them to change or remove any APIs up until the last minute. So we shouldn't really start using that in our main code until they have an initial even number release with the feature/API we want.
Agreed about the even numbered release.
Secondly, and also more important according to them, is that we want to wait until distros have time to assess that release, bring it in, and then make a release themselves. For some distros we can go with a simultaneous targeting, but for others we will most likely want to keep a fair window of compatibility.
This I am less worried about. I think that if they are scrutinizing a new cairo release, they're scrutinizing everything else (including a new Inkscape release).
The main need for compatibility is those with a business-oriented or LTS approach. By keeping more compatible with such stable releases, we can target professional use of Inkscape and move away from the "just a toy" trap. We get *many* requests from those who want to either install an additional newer Inkscape version or to grab a newer PPA or such of an updated Inkscape. (and keep in mind that we had made changes to allow for easy parallel installation of multiple Inkscape versions).
Agreed about targeting professionals... however wrt a PPA, if we know of a newer cairo to not have any (known) regressions, we can offer those too via "the" PPA or Suse's build service. I think we can offer the necessary dependencies just as many PPAs do. (of course, this involves us actually setting up an official PPA)
Cheers, Josh
P.S. For professional use, I still find a 10 year old copy of Illustrator to be more friendly... Resources never get out of hand by comparison to a few minutes of use of Inkscape (and yes, that's with me cranking up the undo history preferences in AI).
On Feb 2, 2011, at 1:45 AM, Josh Andler wrote:
Agreed about targeting professionals... however wrt a PPA, if we know of a newer cairo to not have any (known) regressions, we can offer those too via "the" PPA or Suse's build service. I think we can offer the necessary dependencies just as many PPAs do. (of course, this involves us actually setting up an official PPA)
One big gotcha is that in general a PPA won't install in parallel, but instead overwrites the current version. For an app this is not as big of an issue, but stomping over a system library can have some 'interesting' effects for users and other apps.
On Wed, Feb 2, 2011 at 2:11 AM, Jon Cruz <jon@...18...> wrote:
On Feb 2, 2011, at 1:45 AM, Josh Andler wrote:
Agreed about targeting professionals... however wrt a PPA, if we know of a newer cairo to not have any (known) regressions, we can offer those too via "the" PPA or Suse's build service. I think we can offer the necessary dependencies just as many PPAs do. (of course, this involves us actually setting up an official PPA)
One big gotcha is that in general a PPA won't install in parallel, but instead overwrites the current version. For an app this is not as big of an issue, but stomping over a system library can have some 'interesting' effects for users and other apps.
If we're so inclined, we can avoid stomping over system libraries (probably not fun for figuring out packaging). However, I wilfully have packages stomped over on a semi-regular basis and it tends to fix more bugs than it causes. I'm not saying it's good practice... but it tends to not be as negative. For the record, this has happened for me w/ either cairo and/or pixman on numerous occasions and been pretty successful.
Cheers, Josh
2011/2/2 Jon Cruz <jon@...18...>:
The first warning was that until an even release is made with the feature we want, it is *technically* ok for them to change or remove any APIs up until the last minute.
I don't want to argue with your premises, as I also agree we should wait some time before releasing a version of Inkscape that depends on Cairo 1.12, but I want to make two clarifications. 1. We do not use any API newly introduced in 1.11. We just need it for a substantial rendering bugfix. 2. The development version can start depending on 1.12 before that version of Cairo makes its way into distros. Installing a newer version of a library is very easy, and you only need it to improve the rendering quality, not to make Inkscape work at all. Developers not focusing on the rendering subsystem should be able to work with 1.10.
The main need for compatibility is those with a business-oriented or LTS approach. By keeping more compatible with such stable releases, we can target professional use of Inkscape and move away from the "just a toy" trap. We get *many* requests from those who want to either install an additional newer Inkscape version or to grab a newer PPA or such of an updated Inkscape. (and keep in mind that we had made changes to allow for easy parallel installation of multiple Inkscape versions).
My answer would be: if you have an LTS installation, use the LTS version of Inkscape. Library compatibility should be taken into account, but holding up major features because someone might want to use an old distro is just counter-productive.
The PPA route looks like the best compromise, and it's working well for other projects.
Regards, Krzysztof
-----Original Message----- From: Engelen, J.B.C. (Johan) Sent: 01 February 2011 22:30 To: 'Krzysztof Kosiński' Cc: inkscape-devel@lists.sourceforge.net; lib2geom- devel@lists.sourceforge.net Subject: RE: [Lib2geom-devel] Upgrading Inkscape's 2geom
-----Original Message----- From: Krzysztof Kosiński [mailto:tweenk.pl@...400...] Sent: 01 February 2011 21:49 To: Engelen, J.B.C. (Johan) Cc: inkscape-devel@lists.sourceforge.net; lib2geom- devel@lists.sourceforge.net Subject: Re: [Lib2geom-devel] Upgrading Inkscape's 2geom
The Cairo version should be mostly usable right now, but requires using a development release of Cairo that fixes some precision problems with gradients.
How long will it take for this to be fixed?
I meant: how long will it take for the fix to be released in a stable (read: usable by Inkscape) version?
On Tue, Feb 1, 2011 at 1:30 PM, <J.B.C.Engelen@...1578...> wrote:
-----Original Message----- From: Engelen, J.B.C. (Johan) Sent: 01 February 2011 22:30 To: 'Krzysztof Kosiński' Cc: inkscape-devel@lists.sourceforge.net; lib2geom- devel@lists.sourceforge.net Subject: RE: [Lib2geom-devel] Upgrading Inkscape's 2geom
-----Original Message----- From: Krzysztof Kosiński [mailto:tweenk.pl@...400...] Sent: 01 February 2011 21:49 To: Engelen, J.B.C. (Johan) Cc: inkscape-devel@lists.sourceforge.net; lib2geom- devel@lists.sourceforge.net Subject: Re: [Lib2geom-devel] Upgrading Inkscape's 2geom
The Cairo version should be mostly usable right now, but requires using a development release of Cairo that fixes some precision problems with gradients.
How long will it take for this to be fixed?
I meant: how long will it take for the fix to be released in a stable (read: usable by Inkscape) version?
Difficult issue... Win32 we bundle the libs, so as soon as it's released we can update the libs. It should theoretically be in the next round of distro releases if they're (cairo folks) aiming for a 6 month cycle. If I'm not mistaken, Macports tends to keep things reasonably current. So, for 2/3 platforms it should be good in short order... but the Linux world varies quite a bit given LTS & Enterprise users, people who wait for things to be out for a while before updating, etc. The main thing though is that LTS users also wouldn't expect the latest and greatest version of Inkscape for their installs unless they compile themselves, in which case I think it's basically a "tough luck" situation. For them, we have the bug fixed 0.48.x series which is stable, just how they like things. ;)
Cheers, Josh
participants (4)
-
unknown@example.com
-
Jon Cruz
-
Josh Andler
-
Krzysztof Kosiński