Closed
Bug 1027000
Opened 10 years ago
Closed 10 years ago
Using system pixman requires 0.25.2
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla33
People
(Reporter: glandium, Assigned: glandium)
References
Details
Attachments
(2 files)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
Bug 845874 added a use of pixman_region32_clear, which, according to http://upstream-tracker.org was added in 0.25.2. Configure checks pixman is >= 0.19.2.
This may or may not be fine, depending what systems we consider the GTK3 builds should aim to support support. Pixman 0.26.0, the first stable release after 0.25.2, was released in may 2012.
Assignee | ||
Updated•10 years ago
|
Flags: needinfo?(karlt)
Flags: needinfo?(jmuizelaar)
Assignee | ||
Comment 1•10 years ago
|
||
Initial data point: the first Debian release with gtk3, Wheezy, has pixman 0.26.
Comment 2•10 years ago
|
||
We could always do something like this to avoid the dependency
Flags: needinfo?(jmuizelaar)
Assignee | ||
Comment 3•10 years ago
|
||
Other data points, from scraping FTPs and release notes:
- The first Fedora with Gtk+3 looks like it was Fedora 16 (nov 2011), and it had pixman 0.22. Fedora 17 (may 2012) had pixman 0.24. Fedora 18 (jan 2013) came with pixman 0.26.
- The first Redhat release with Gtk+3 is RHEL7, which just came out. I didn't look up what version of pixman it has, but if it has something older than 0.26, then Redhat has serious problems in how they work.
- The first OpenSuSE release with Gtk+3 I found was 11.4 (nov 2012) and it had pixman 0.20. But I guess older 11.x releases had something similar. 12.1 (may 2013) had pixman 0.22, 12.2 (jan 2014) had 0.24, 12.3 (sep 2014) will have 0.28.
Looks like suse is the drag.
Assignee | ||
Comment 4•10 years ago
|
||
Dates for openSuse are off, they are:
11.4 -> mar 2011
12.1 -> nov 2011
12.2 -> jul 2012
12.3 -> mar 2013
Assignee | ||
Comment 5•10 years ago
|
||
Ah, the previous times I was giving for opensuse are their EOL.
Assignee | ||
Comment 6•10 years ago
|
||
RHEL7/Centos7 have 0.32.
Assignee | ||
Comment 7•10 years ago
|
||
Well, the test slaves don't have a recent enough pixman, that more or less settles it:
https://tbpl.mozilla.org/php/getParsedLog.php?id=41976124&tree=Try
Blocks: try-gtk3
Assignee | ||
Comment 8•10 years ago
|
||
Comment on attachment 8442129 [details] [diff] [review]
Avoid using region_clear()
Review of attachment 8442129 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/src/nsRegion.h
@@ +42,5 @@
>
> class nsRegion
> {
> + static inline void
> + clear_region_workaround(pixman_region32_t *region)
Could call that pixman_region32_clear and make the function itself #ifdef MOZ_TREE_PIXMAN.
Assignee | ||
Comment 9•10 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #7)
> Well, the test slaves don't have a recent enough pixman, that more or less
> settles it:
> https://tbpl.mozilla.org/php/getParsedLog.php?id=41976124&tree=Try
Ubuntu 12.04 LTS is what we have on those machines, and that comes with 0.24, although precise-updates has 0.30. 13.04 has 0.28.
Comment 10•10 years ago
|
||
I'm sceptical about the quality of early GTK+3 libraries, so the main reason for the workaround would be to build on our (old) build machines.
_fini and _init should work fine, yes.
Flags: needinfo?(karlt)
Comment 11•10 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #8)
> Comment on attachment 8442129 [details] [diff] [review]
> Avoid using region_clear()
>
> Review of attachment 8442129 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: gfx/src/nsRegion.h
> @@ +42,5 @@
> >
> > class nsRegion
> > {
> > + static inline void
> > + clear_region_workaround(pixman_region32_t *region)
>
> Could call that pixman_region32_clear and make the function itself #ifdef
> MOZ_TREE_PIXMAN.
Wouldn't that break if you were building against a recent pixman?
Assignee | ||
Comment 12•10 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #11)
> Wouldn't that break if you were building against a recent pixman?
That function would be a static member of nsRegion, it wouldn't conflict with pixman's definition.
Assignee | ||
Comment 13•10 years ago
|
||
Attachment #8442494 -
Flags: review?(jmuizelaar)
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED
Comment 14•10 years ago
|
||
Comment on attachment 8442494 [details] [diff] [review]
Allow binary compatibility with libpixman versions between 0.19.2 and 0.25.2 when building against system libpixman
Review of attachment 8442494 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/src/nsRegion.h
@@ +261,5 @@
> nsCString ToString() const;
> private:
> pixman_region32_t mImpl;
>
> +#ifndef MOZ_TREE_PIXMAN
Add a comment like:
// This is needed for versions of pixman older than 0.25.2
Attachment #8442494 -
Flags: review?(jmuizelaar) → review+
Assignee | ||
Comment 15•10 years ago
|
||
Comment 16•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•