Ticket #120 (closed task: fixed)
Opened 6 years ago
Last modified 5 months ago
bring cairo BeOS code up to date
| Reported by: | scottmc | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Unscheduled |
| Component: | x11-libs/cairo | Version: | |
| Severity: | normal | Keywords: | |
| Cc: | umccullough@…, planche2k@… |
Description
The BeOS port of cairo needs to be brought up to date, as changes in cairo since the BeOS backend was first written have probably been broken.
--- The BeOS/Zeta surface backend feature is still under active development --- and is included in this release only as a preview. It does NOT fully work --- yet and incompatible changes may yet be made to BeOS/Zeta surface backend --- specific API.
Change History
comment:1 Changed 6 years ago by scottmc
- Component changed from BePorter to x11-libs/cairo
comment:2 Changed 6 years ago by umccullough
- Cc umccullough@… added
comment:3 follow-up: ↓ 4 Changed 6 years ago by andreasf
comment:4 in reply to: ↑ 3 Changed 6 years ago by scottmc
Replying to andreasf:
Hi Scott,
Have you tried my patch at x11-libs/cairo/git-master/1? It fixed more issues than just configure.ac.
I don't recall if I used your patch when building the current binary or not. umccullough has a larger patch that he's working on I think. Perhaps he'll post what he has so far so that it doesn't get lost.
comment:5 Changed 6 years ago by umccullough
Andreas: Interestingly, I made many of the same patches that you did before I found your patch :)
I think I have made a few cleaner changes in my patch, however, and will try to post them soon.
FWIW, I can get most of the tests to *run* (but not pass) with some hacky changes to the boilerplate code and disabling the assert in the cairo error handler.
comment:6 Changed 6 years ago by andreasf
- Cc planche2k@… added
Urias, a Git branch would be best. If you don't have hosting preferences, I'd set up an automatic mirror on repo.or.cz and prepare a "haiku" fork for us.
P.S. What do I post the patch for if nobody reads it?! ;)
comment:7 follow-up: ↓ 8 Changed 6 years ago by umccullough
I do have a machine I can put it on, but it's volatile - so I'd appreciate a mirror of the branch if I set it up :)
(plus I have no clue how to setup an official git branch)
Don't fret! your patch did help me clean up some of the mess in my own patch as well :D - I just didn't notice it until I had already hammered out most of the changes on my own...
Ok, I promise, tonight, I will post my patches somewhere!...assuming the machine I was using for them doesn't crash when I boot up Haiku again (that's what happened last time)
comment:8 in reply to: ↑ 7 Changed 6 years ago by scottmc
Ok, I promise, tonight, I will post my patches somewhere!...assuming the machine I was using for them doesn't crash when I boot up Haiku again (that's what happened last time)
Exactly the reason we should put patched into svn, even if they aren't yet complete, even partial patches can save us from having to redo work we've already done. ;)
(That, or email it to yourself on gmail.)
comment:9 Changed 6 years ago by umccullough
Well, let me clarify - when it crashed, I left it in the debugger so I could get more info for the trac ticket, so I didn't get the latest patch diff'd - I have a couple various diffs of my patches "forever" on pastebin.com that I can still locate ;)
In any case, here's a link to the last time I got all the tests to run:
comment:10 Changed 6 years ago by andreasf
Archiving one large patch in SVN is better than losing it, but having the full original patch queue is even better. :)
I've set up a new Git fork here: http://repo.or.cz/w/cairo/haiku.git
To push there, you need to register your SSH public key at http://repo.or.cz/m/reguser.cgi and tell me the username you chose. (Be sure to backup your private and public key before you overwrite your Haiku image!)
comment:11 Changed 5 years ago by stippi
I am wondering if most of the code in the BeOS backend should be dumped except for actually creating Cairo surfaces in the form of BBitmaps. Then one should attach the Cairo software renderer to perform any rendering. The Haiku BView rendering API is simply no-where powerful enough to implement the rendering with that. And frankly I have serious doubts that there would be any performance benefit. Probably the contrary.
comment:12 Changed 5 years ago by umccullough
Sounds good to me, some of the people I chatted with in #cairo seemed to think that would be best as well.
comment:13 Changed 5 years ago by michaelvoliveira
Depend of
comment:14 Changed 5 months ago by scottmc
- Resolution set to fixed
- Status changed from new to closed
There is a recipe for it on new site. Probably not fully working yet. If still broken, report issue there.

Hi Scott,
Have you tried my patch at x11-libs/cairo/git-master/1? It fixed more issues than just configure.ac.