CentOS 6.4 upgrade breaks gtk+-3.6.2 build

2013-03-26 Thread Roger Davis

Hi all,

I just upgraded several CentOS 6.3 systems to 6.4 and have been rebuilding
gtk+-3.6.2 (and all its dependencies, e.g., glib, gdk-pixbuf, etc.) on all
of them. This has gone fine except for 2 problem systems subject to the
new Xorg 1.13 ABI bug because of their particular graphics hardware. To get
those particular systems to properly upgrade to 6.4 yet still be able to
run Xorg, I had to add exclude all xorg* package updates via the line

exclude=xorg*

appended to /etc/yum.conf before doing the 6.4 update. On one of those
systems, I did the normal full upgrade first, then discovered my system
suffered from the Xorg bug and had to do a yum downgrade back to the 6.3
packages. These systems now run Xorg 1.10.6.

On these two problem systems, my build of gtk3+ fails here very close to 
the beginning of the make:

make[4]: Entering directory `/opt/gtk3/gtk+-3.6.2/gdk/x11'
  CC   gdkapplaunchcontext-x11.lo
  CC   gdkasync.lo
  CC   gdkcursor-x11.lo
  CC   gdkdevice-core-x11.lo
  CC   gdkdevice-xi2.lo
gdkdevice-xi2.c: In function '_gdk_x11_device_xi2_translate_event_mask':
gdkdevice-xi2.c:723: error: 'XI_TouchBegin' undeclared (first use in this 
function)
gdkdevice-xi2.c:723: error: (Each undeclared identifier is reported only once
gdkdevice-xi2.c:723: error: for each function it appears in.)
gdkdevice-xi2.c:724: error: 'XI_TouchUpdate' undeclared (first use in this 
function)
gdkdevice-xi2.c:725: error: 'XI_TouchEnd' undeclared (first use in this 
function)

Looking at my ./configure output from just prior to the make, I see this 
possibly relevant info:

...
checking if X11/extensions/XIproto.h is needed for xReply... no
checking for XkbQueryExtension... yes
checking for XShapeCombineMask... yes
checking for XSyncQueryExtension... yes
checking for X11/extensions/sync.h... yes
checking for Xinerama packages... yes
checking for XGetEventData... yes
checking X11/extensions/XInput2.h usability... yes
checking X11/extensions/XInput2.h presence... yes
checking for X11/extensions/XInput2.h... yes
checking for XIAllowTouchEvents... yes
checking for XIScrollClassInfo.number... yes
...

I'm guessing that whatever package contains the XI_Touch* functions is not 
fully present on the system although perhaps configure seems to think that 
it is. Any idea how to fix this?

Thanks!

Roger Davis
Univ. of Hawaii

PS: I do not need any touchscreen functionality, if that's what this stuff
is about.
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


CentOS 6.4 gtk+-3.6.2 build failure

2013-03-26 Thread Roger Davis

[ Apologies if this is a needless repost -- I tried to mail this earlier
but am pretty certain the mail never left my system. ]

Hi all,

I just upgraded several CentOS 6.3 systems to 6.4 and have been rebuilding
gtk+-3.6.2 (and all its dependencies, e.g., glib, gdk-pixbuf, etc.) on all
of them. This has gone fine except for 2 problem systems subject to the new
Xorg 1.13 ABI bug because of their particular graphics hardware. To get
those particular systems to properly upgrade to 6.4 yet still be able to
run Xorg, I had to add exclude all xorg* package updates via the line

exclude=xorg*

appended to /etc/yum.conf before doing the 6.4 update. On one of those
systems, I did the normal full upgrade first, then discovered my system
suffered from this bug and had to do a yum downgrade back to the 6.3
packages.

On these two problem systems, my build of gtk3+ fails here very close to
the beginning of the make:

make[4]: Entering directory `/opt/gtk3/gtk+-3.6.2/gdk/x11'
  CC   gdkapplaunchcontext-x11.lo
  CC   gdkasync.lo
  CC   gdkcursor-x11.lo
  CC   gdkdevice-core-x11.lo
  CC   gdkdevice-xi2.lo
gdkdevice-xi2.c: In function '_gdk_x11_device_xi2_translate_event_mask':
gdkdevice-xi2.c:723: error: 'XI_TouchBegin' undeclared (first use in this 
function)
gdkdevice-xi2.c:723: error: (Each undeclared identifier is reported only once
gdkdevice-xi2.c:723: error: for each function it appears in.)
gdkdevice-xi2.c:724: error: 'XI_TouchUpdate' undeclared (first use in this 
function)
gdkdevice-xi2.c:725: error: 'XI_TouchEnd' undeclared (first use in this 
function)

Looking at my ./configure output from just prior to the make, I see this
possibly relevant info:

...
checking if X11/extensions/XIproto.h is needed for xReply... no
checking for XkbQueryExtension... yes
checking for XShapeCombineMask... yes
checking for XSyncQueryExtension... yes
checking for X11/extensions/sync.h... yes
checking for Xinerama packages... yes
checking for XGetEventData... yes
checking X11/extensions/XInput2.h usability... yes
checking X11/extensions/XInput2.h presence... yes
checking for X11/extensions/XInput2.h... yes
checking for XIAllowTouchEvents... yes
checking for XIScrollClassInfo.number... yes
...

I'm guessing that whatever package contains the XI_Touch* functions is not
fully present on the system although perhaps configure seems to think that
it is. Any idea how to fix this?

Thanks!

Roger Davis
Univ. of Hawaii

PS: I have no need of touchscreen functionality if that's what this is about.
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: CentOS 6.4 gtk+-3.6.2 build failure

2013-03-26 Thread Roger Davis

Sorry, apparently my original post *did* get through, oops!

Anyway, I have tracked this down a little further but am unsure on how
to proceed. The error is due to an incorrect version of XI2.h installed
in /usr/include/X11/extensions. The newer release of the relevant package
(xorg-x11-proto-devel-7.6-25.el6.noarch) has the required #defines, but
the older release (xorg-x11-proto-devel-7.6-13.el6.noarch) doesn't.
Apparently there is some confusion in my package system or elsewhere due
to the CentOS 6.4 upgrade that was performed while excluding newer Xorg
package updates.

I have not yet tried upgrading this single package, I suspect that if I
do the gtk3 build (or my own app builds) will just fail later on when code
is linked to whatever X11 library is supposed to include these functions.
I also suspect if I try to install the newerr libraries I will get a big
dependency mess related to other new xorg packages that are missing.

Like I said, if this is just about touchscreen stuff I don't need it, so
if anyone knows how to fully degrade my system so that the gtk3+ configure
will believe I have the older release, that would be fine.

Any suggestions?

Thanks!
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: GTK+ 3.8.0 released

2013-03-26 Thread Edscott Wilson
It would be nice know that =pango1.32.4 means that systems with
fontconfig, freetype and xft if and only if harfbuzz = 0.9.9.

Seems like the pango 1.32.4 configure.ac tests in things in the wrong order.



2013/3/25 Matthias Clasen matthias.cla...@gmail.com

 GTK+ 3.8.0 is now available for download at:

  http://download.gnome.org/sources/gtk+/3.8/
  ftp://ftp.gtk.org/pub/gtk/3.8/

 sha256 sum:
 db1345d89d6b5f5bad411b4b2a3b1a18a2a8f98d2ab1b40d43a0197a6e6c252e
  gtk+-3.8.0.tar.xz


 What is GTK+
 

 GTK+ is a multi-platform toolkit for creating graphical user
 interfaces. Offering a complete set of widgets, GTK+ is suitable for
 projects ranging from small one-off tools to complete application
 suites.

 GTK+ has been designed from the ground up to support a range of
 languages, not only C/C++. Using GTK+ from languages such as Perl and
 Python (especially in combination with the Glade GUI builder) provides
 an effective method of rapid application development.

 GTK+ is free software and part of the GNU Project. However, the
 licensing terms for GTK+, the GNU LGPL, allow it to be used by all
 developers, including those developing proprietary software, without
 any license fees or royalties.

 Since its origins as the toolkit for the GNU Image Manipulation
 Program (GIMP), GTK+ has been used in a wide range of software.
 Notably, GTK+ is the foundation of the GNOME desktop.


 What's new in 3.8
 =

 Major new features include:

 * Wayland:
  - we support Wayland 1.0 now

 * Broadway:
 - we install a separate server: broadwayd

 * Theming:
  - Improve touch text handle theming
  - Always draw background of menuitems
  - The default font is no longer handled like a custom style sheet
that overrides everything, but as the initial value. This is the
same behavior as in web browsers.
  - It is now possible to set font-family and font-size like other
CSS properties, and relative font sizes are supported. Font
sizes in CSS can be specified as numbers or with keywords
like xx-small, medium, smaller, larger,...
  - GtkFrame now draws a background
  - Opacity can be set on any GtkWidget, not just toplevels

 * Geometry management
  - Size groups now handle height-for-width
  - Fix corner cases in label size allocation
  - Invisible widgets now return a size of 0x0. This is an experimental
change that makes GtkWidget::visible essentially behave the same way
that display: none does in CSS. If you want the effect of CSS's
visibility: hidden, you can use a GtkNotebook with an empty page

 * Accessibility
  - Entry icons are now accessible
  - We install headers for accessible implementations of GTK+ widgets.
This makes it possible to implement accessibility for third-party
widgets by subclassing the proper GTK+ implementation. To do so,
include gtk/gtk-a11y.h

 * Touch
  - We support touch friendly popups on entries and text views
in place of context menus, on touch devices

 * Printing
  - The print dialog now shows printers that are discovered
using avahi, if configured with --enable-avahi-browsing

 * GtkTreeView and GtkIconView allow single-click activation

 * We now support the Window Manager frame synchronization protocol
   draft (when running under a WM that supports it). This means
   applications will throttle their drawing cycle to what the compositor
   is drawing, and the compositor will never render half-updated windows,
   for seamless resizing and improves smoothness in drawing.
   See
 https://mail.gnome.org/archives/wm-spec-list/2013-January/msg0.html
   and the articles at http://blog.fishsoup.net/ for more details.

 * Performance improvements
  - Size allocation has been optimized, by avoiding excessive
resizing in various situations.
  - The performance of size groups has been improved.
  - Text rendering in GtkLabel and other widgets has been optimized
to avoid excessive recreation of Pango layouts.
  - Icon loading overhead was reduced by caching of GtkIconInfo.
  - The CSS is now keeping a tree of selectors to speed up matchinh.

 * Deprecations and removals:
  - Custom CSS properties have been deprecated
  - Support for color schemes has been removed
  - gtk_style_provider_get_style, gtk_style_provider_get_icon_factory
  - GtkGradient and GtkSymbolicColor
  - All the padding style properties in menus
  - gtk_style_context_set_direction() has been deprecated in favour
of state flags for text direction: GTK_STATE_FLAG_LTR/RTL
  - gtk_window_set_opacity has been deprecated in favor of
gtk_widget_set_opacity

 * GtkIconInfo has changed from being a boxed type to a GObject. This
   is technically an ABI change, but basically all existing code
   will keep working if its used as a boxed type, and its not
   possible to instantiate GtkIconInfos outside Gtk, so this is not
   expected to be a big problem.


 For more details and lists of fixed bugs, see the NEWS file
 that is included in the tarball, 

New baseline branch, review wanted

2013-03-26 Thread Alexander Larsson
I've done a bunch of work on the baseline stuff and rebased it into a
nice branch called wip/baseline3. Its got the core working with a bunch
of widgets converted.

The only interesting widget that lacks baseline support (imho) is
GtkComboBox. But that one is hard due to it using GtkCellArea  co. I'd
rather not add baseline support to cell renderers...

There is a new GTK_DEBUG flag called baselines, so if you want to try
this out, do:
 GTK_DEBUG=baselines tests/testbaseline

There are however some open issues:

* I added a new vfunc called get_preferred_height_and_baseline_for_width
which is the basic baseline supporting size request. The core code will
call this all the time now, but there is a default implementation that
calls the old methods, which should keep old widgets working.

However, when I add baseline support to some existing classes i override
the default implementation. This means that widgets deriving from these
classes (say e.g. GtkButton) that override the old size request vfuncs
(say get_preferred_height), will break. We will keep calling the
baseline supporting version of the baseclass.

I'm not sure how to fix this. I could add some per-type flag for
baseline support such that we only use
get_preferred_height_and_baseline_for_width if this flag is set. That
would mean such old widgets keep working. However, it also means that
you *must* always set this flag for all derived classes, even for things
where baseline support was implemented from the start, which seems kinda
bad. Not sure what the best approach here is...

* GtkGrid has a new per-row property,
gtk_grid_set/get_row_baseline_position. This is neither a normal
property or a child property, which means its not really nicely bindable
or usable as construct properties in e.g. GtkBuilder. Is there a good
way to handle this?

Other than this I think this branch is in a pretty good state.


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list