Opened 5 years ago

Closed 4 years ago

#12355 closed enhancement (fixed)

pango-1.44.7 (holding due to major compatibility problems.

Reported by: Bruce Dubbs Owned by: Douglas R. Reno
Priority: normal Milestone: 9.1
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

Change History (10)

comment:1 by Wayne Blaszczyk, 5 years ago

You might want to try out version 1.44.4.

Overview of changes in 1.44.4 =============================

  • Add an insert-hyphens attribute
  • Reinstate the return type of pango_fc_font_lock_face
  • Fix a problem with ellipses getting the wrong font
  • fc: Improve filtering by font format
  • Re-add PangoFcFont to public headers
  • Install PangoFc and PangoOT introspection files
  • Fix ink rectangles to have positive height
  • Fix mark positioning
  • Switch to using harfbuzz for metrics

graphviz had issues with pango-1.44.3 which have been resolved with pango-1.44.4

comment:2 by Douglas R. Reno, 5 years ago

The largest reason for holding off was PyGTK not building due to public API becoming private and font rendering problems IIRC

comment:3 by Douglas R. Reno, 5 years ago

Now 1.44.5

News
====

- Revert a broken change (causing crashes on OS X)

IMO, we definitely want to continue holding

comment:4 by Xi Ruoyao, 5 years ago

Now 1.44.6.

Overview of changes in 1.44.6
=============================
- docs: Fix symbol indices
- Fix Thai line breaking
- Re-add symbols needed by some bindings
- Don't insert hyphens for some languages
- Fix a crash with hyphenation

We have to continue holding until a new cairo release though I'll upgrade on my machine.

Last edited 5 years ago by Xi Ruoyao (previous) (diff)

comment:5 by Xi Ruoyao, 4 years ago

Now 1.44.7.

Overview of changes in 1.44.7
=============================
- Fix tests without libthai
- Small speedup to Emoji iteration
- Bring back PangoFontsetSimple (pygtk bind it)

It seems we can build pygtk now. But cairo-1.17.3 is still not released so we have to continue holding.

Or create a cairo snapshot?

comment:6 by Douglas R. Reno, 4 years ago

It looks like we'll need this for nautilus:

[108/249] Compiling C object 'src/25a6634@@nautilus@sta/nautilus-view-icon-item-ui.c.o'.
FAILED: src/25a6634@@nautilus@sta/nautilus-view-icon-item-ui.c.o 
cc -Isrc/25a6634@@nautilus@sta -Isrc -I../src -I. -I../ -Ilibnautilus-extension -I../libnautilus-extension -Isubprojects/libgd -I../subprojects/libgd -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gnome-autoar-0 -I/usr/include/gnome-desktop-3.0 -I/usr/include/gsettings-desktop-schemas -I/usr/include/tracker-2.0 -I/usr/include/tracker-2.0/libtracker-sparql -I/usr/include/libxml2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 -g -Wall -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Werror=declaration-after-statement -Werror=empty-body -Werror=format=2 -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Werror=init-self -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith -Werror=sequence-point -Werror=shadow -Werror=strict-prototypes -Werror=undef -Werror=uninitialized -Wno-error=maybe-uninitialized -D_GNU_SOURCE -DGLIB_DISABLE_DEPRECATION_WARNINGS -fPIC -pthread -DLIBGD_GTK_HACKS=1 -DLIBGD__VIEW_COMMON=1 -DLIBGD_MAIN_ICON_VIEW=1 -DLIBGD_MAIN_LIST_VIEW=1 -DLIBGD_MAIN_VIEW=1 -DLIBGD_TAGGED_ENTRY=1 -MD -MQ 'src/25a6634@@nautilus@sta/nautilus-view-icon-item-ui.c.o' -MF 'src/25a6634@@nautilus@sta/nautilus-view-icon-item-ui.c.o.d' -o 'src/25a6634@@nautilus@sta/nautilus-view-icon-item-ui.c.o' -c ../src/nautilus-view-icon-item-ui.c
../src/nautilus-view-icon-item-ui.c: In function ‘constructed’:
../src/nautilus-view-icon-item-ui.c:154:40: error: implicit declaration of function ‘pango_attr_insert_hyphens_new’; did you mean ‘pango_attr_gravity_hint_new’? [-Werror=implicit-function-declaration]
  154 |     pango_attr_list_insert (attr_list, pango_attr_insert_hyphens_new (FALSE));
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                        pango_attr_gravity_hint_new
../src/nautilus-view-icon-item-ui.c:154:40: warning: passing argument 2 of ‘pango_attr_list_insert’ makes pointer from integer without a cast [-Wint-conversion]
  154 |     pango_attr_list_insert (attr_list, pango_attr_insert_hyphens_new (FALSE));
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                        |
      |                                        int
In file included from /usr/include/pango-1.0/pango/pango.h:25,
                 from /usr/include/gtk-3.0/gdk/gdktypes.h:35,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from /usr/include/gtk-3.0/gtk/gtk.h:30,
                 from ../src/nautilus-view-icon-item-ui.h:4,
                 from ../src/nautilus-view-icon-item-ui.c:1:
/usr/include/pango-1.0/pango/pango-attributes.h:535:25: note: expected ‘PangoAttribute *’ {aka ‘struct _PangoAttribute *’} but argument is of type ‘int’
  535 |         PangoAttribute *attr);
      |         ~~~~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
ninja: build stopped: subcommand failed.
24.9 Elasped Time - nautilus-3.34.2

I think we've got two options here:

  • Manually revert the change in Nautilus: "canvas-item, view-icon-item-ui: Don't hyphenate filenames "
  • Take a cairo snapshot and update to Pango-1.44.7 and the new Cairo snapshot (assuming it doesn't break PyGTK and other applications)

I don't know if there will be any consequences of reverting the change. I don't want to hold it either because of the DND change that has to do with display scaling on Xorg and Wayland (offsets weren't calculated correctly in 3.34.1 after the latest GTK+ was released).

comment:7 by Douglas R. Reno, 4 years ago

Milestone: hold9.1
Owner: changed from blfs-book to Douglas R. Reno
Status: newassigned

I'm going to do this one over the course of today because it's needed for Nautilus. On my testing list is Inkscape, GIMP, PyGTK, PyCairo, NMAP, Avahi, vte2, keybinder2, gtk2, and gtk3. I know there were some known issues with XFCE, but I will test those after the rest of GNOME is updated.

First up though, a Cairo snapshot!

comment:8 by Douglas R. Reno, 4 years ago

Summary: pango-1.44.3 (holding due to major compatibility problems.pango-1.44.7 (holding due to major compatibility problems.

Now 1.44.7 though (thank you Xi for putting the change notes in here!)

comment:9 by Douglas R. Reno, 4 years ago

gtk+-2, gtk+-3, pycairo, pygtk (with changes), inkscape, gimp, cairomm, pangomm, gtkmm2, gtkmm3, graphviz (I did not build all of the language bindings though, only the ones for ruby, python, tcl, lua, and guile because I had those installed), openbox, vte2, avahi, and nmap are all confirmed to work.

Keybinder2 no longer is in the book so I didn't test it.

This list is based off inferred dependencies and packages that were known to cause problems from the thread linked in the description.

Also, I didn't test the XFCE components. I'll handle that after I'm done building / updating GNOME

comment:10 by Douglas R. Reno, 4 years ago

Resolution: fixed
Status: assignedclosed

Fixed at r22449

Note: See TracTickets for help on using tickets.