Skip to content

Commit

Permalink
update pango-1.49 to 1.54 (plus deps)
Browse files Browse the repository at this point in the history
Starting with the crashes observed in inkscapes' text widget,
pango ('shaping engine' for multi-language text) turned out
to be the major suspect. Updating from pango 1.49 to 1.54 is
doable (the existing high 1.90 version is apparently a
preparation for pango-2.0).

Checking the dependencies, it is required to update libsigc++-3,
fontconfig, and cairo too (more about fontconfig at the end of
the message). Problems arise when it comes to updating the
corresponding C++ bindings.

https://github.com/GNOME/glibmm reads:

" glibmm-2.4 and glibmm-2.68 are different parallel-installable
  ABIs. This file describes glibmm-2.68. "

How does this affect the update?

Installed is glibmm-2.66.2-0 (which can be updated to 2.66.7,
not urgent), and we see libs like /usr/lib/libgiomm-2.4.so.1.3.0,
updating to the latest version (glibmm-2.82.0) would yield libs
like libgiomm-2.68.so.1.3.0.
Looking at download.gnome.org/sources, reveals that _some_ older
versions of cairomm and pangomm are still maintained until now,
these are the ones that work with the 2.4-ABI, whereas the
latest and greatest ones would use the 2.68-ABI.

So the C++ bindings used now are cairomm-1.14.5 and
pangomm-2.46.4. How to handle the 2.68-ABI shall be decided
later (IMHO).

Fontconfig

This update does not try to apply any of the widespread
customizations for the config files found in other distros. It
may yield to some issues here (corner-cases)?, I have not
observed any, but checking is indeed required (Font-issues tend
to draw very long trails in discussions and mailboxes).

[pango-crash] https://gitlab.gnome.org/GNOME/pango/-/issues/678

P.S. The Inkscape text issues are gone after the update ...
thomas committed Sep 20, 2024
1 parent 21bf33b commit 1823506
Showing 6 changed files with 45 additions and 147 deletions.
16 changes: 4 additions & 12 deletions cairo.be0
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
#!/usr/bin/env beesh

# BEE_VERSION cairo-1.17.2-4
# BEE_VERSION cairo-1.18.2-0

# SRCURL[0]="https://cairographics.org/snapshots/cairo-${PKGVERSION}.tar.xz"
SRCURL[0]="https://beehive.molgen.mpg.de/321a07adaeb125cb5513079256d465fb/cairo-1.17.2.tar.xz"
#SRCURL[0]="https://www.cairographics.org/releases/cairo-${PKGVERSION}.tar.xz"
SRCURL[0]="https://beehive.molgen.mpg.de/5ad67c707edd0003f1b91c8bbc0005c1/cairo-1.18.2.tar.xz"

# PATCHURL+=(/src/mariux/patches/0001-Revert-clip-boxes-Drop-too-early-return.patch)
PATCHURL+=("https://beehive.molgen.mpg.de/fc7463f3e293e53ca34e123fb002e933/0001-Revert-clip-boxes-Drop-too-early-return.patch")

# https://wiki.gentoo.org/wiki/Project:Toolchain/Binutils_2.34_porting_notes/undefined_reference_to_bfd_get_section_*
PATCHURL+=("https://beehive.molgen.mpg.de/9c3a5d496da7ddad5f62f44cb8d624f9/cairo-1172-binutils-237-fix-bfd_get_section_vma.patch")
# PATCHURL+=()

# build_in_sourcedir

@@ -35,7 +31,3 @@ PATCHURL+=("https://beehive.molgen.mpg.de/9c3a5d496da7ddad5f62f44cb8d624f9/cairo
# bee_install
#}

mee_install_post() {
# remove html docs
rm -vrf ${D}/usr/share
}
7 changes: 4 additions & 3 deletions cairomm.be0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#!/usr/bin/env beesh

# BEE_VERSION cairomm-1.12.2-1
# BEE_VERSION cairomm-1.14.5-0

#SRCURL[0]="https://cairographics.org/releases/cairomm-${PKGVERSION}.tar.gz"
SRCURL[0]="https://beehive.molgen.mpg.de/9d2282ea34cf9aaa89208bb4bb911909/cairomm-1.12.2.tar.gz"
#SRCURL[0]="https://www.cairographics.org/releases/cairomm-${PKGVERSION}.tar.xz"
SRCURL[0]="https://beehive.molgen.mpg.de/0974ef291d491f22df287f588580677d/cairomm-1.14.5.tar.xz"

# PATCHURL+=()

@@ -30,3 +30,4 @@ mee_configure() {
#mee_install() {
# bee_install
#}

46 changes: 24 additions & 22 deletions fontconfig.be0
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
#!/usr//bin/env beesh
#!/usr/bin/env beesh

# BEE_VERSION fontconfig-2.12.4-0
# BEE_VERSION fontconfig-2.15.0-1

SRCURL[0]="https://fontconfig.org/release/fontconfig-${PKGVERSION}.tar.gz"
#SRCURL[0]="https://www.freedesktop.org/software/fontconfig/release/fontconfig-${PKGVERSION}.tar.xz"
SRCURL[0]="https://beehive.molgen.mpg.de/5bb3a2829aecb22ae553c39099bd0d6a/fontconfig-2.15.0.tar.xz"

mee_patch() {
start_cmd rm -fv ${S}/src/fcobjshash.h
}
# PATCHURL+=()

mee_configure() {
bee_configure \
--disable-docs
}
# build_in_sourcedir

mee_install_post() {
ln -vs ${DATADIR}/fontconfig/conf.avail/25-unhint-nonlatin.conf ${D}${SYSCONFDIR}/fonts/conf.d/
# sourcesubdir_append src

mkdir -pv ${D}${MANDIR}/man{1,3,5}
#mee_extract() {
# bee_extract "${@}"
#}

install -v -m644 ${S}/fc-*/*.1 ${D}${MANDIR}/man1
install -v -m644 ${S}/doc/*.3 ${D}${MANDIR}/man3
install -v -m644 ${S}/doc/fonts-conf.5 ${D}${MANDIR}/man5
#mee_patch() {
# bee_patch "${@}"
#}

mkdir -pv ${D}${DOCDIR}/fontconfig-devel
#mee_configure() {
# bee_configure
#}

#mee_build() {
# bee_build
#}

#mee_install() {
# bee_install
#}

install -v -m644 ${S}/doc/fontconfig-devel/* \
${D}${DOCDIR}/fontconfig-devel &&
install -v -m644 ${S}/doc/*.{pdf,sgml,txt,html} \
${D}${DOCDIR}
}
52 changes: 3 additions & 49 deletions libsigc++3.be0
Original file line number Diff line number Diff line change
@@ -1,44 +1,16 @@
#!/usr/bin/env beesh

# BEE_VERSION libsigc++3-2.99.13-0
# BEE_VERSION libsigc++3-3.6.0-0

## this file was created by bee init and should be executed to build a
## bee-package. (Additional hints are located at the end of this file.)

###############################################################################
## The source URL(s) define the location of the sources that will be
## downloaded. Version variables may be used to simplify reuse of this bee-file.

SRCURL[0]="https://ftp.gnome.org/pub/GNOME/sources/libsigc++/${PKGVERSION[2]}/libsigc++-${PKGVERSION}.tar.xz"

###############################################################################
## Add URLs/pathes to patch files to the PATCHURL array.
## The sources will be patched in the order of the array.
#SRCURL[0]="https://download.gnome.org/sources/libsigc++/${PKGVERSION[2]}/libsigc++-${PKGVERSION}.tar.xz"
SRCURL[0]="https://beehive.molgen.mpg.de/b7205d5465ac15fbc0c781d39b4011be/libsigc++-3.6.0.tar.xz"

# PATCHURL+=()

###############################################################################
## Uncomment the next statement, if the software may not be able to be built
## outside the source directory and needs to be built inside the source
## directory.

# build_in_sourcedir

###############################################################################
## bee cannot detect buildtypes specified in subdirectories.
## Sometimes packages "hide" the real sources in a subdirectory named
## 'src' or 'cmake' or ..
## use 'sourcesubdir_append' to specify this directory if known.

# sourcesubdir_append src


###############################################################################
## Change the default (auto-detected) steps to
## extract, patch, configure/setup, build and install the software.
## Make sure the mee_install function does install everything to the
## image directory "${D}"

#mee_extract() {
# bee_extract "${@}"
#}
@@ -58,22 +30,4 @@ SRCURL[0]="https://ftp.gnome.org/pub/GNOME/sources/libsigc++/${PKGVERSION[2]}/li
#mee_install() {
# bee_install
#}
## by default this may be 'make install DESTDIR="${D}"'

###############################################################################
##
## Additional hints:
##
## The name of this bee-file should follow the following naming convention:
## pkgname-pkgversion-pkgrevision.bee
##
## You may remove all comments as long as SRCURL[0] is set.
##
## Everything in this file will be executed in a bash environment.
##
## Build the package by executing
## './pkg-version-N.bee' or
## 'beesh ./pkg-version-N.bee'
##
## see http://beezinga.org/
##
19 changes: 7 additions & 12 deletions pango.be0
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
#!/usr/bin/env beesh

# BEE_VERSION pango-1.49.1-0
# BEE_VERSION pango-1.54.0-0

#SRCURL[0]="https://ftp.gnome.org/pub/gnome/sources/pango/${PKGVERSION[2]}/pango-${PKGVERSION}.tar.xz"
# https://download.gnome.org/sources/pango/1.49/pango-1.49.1.tar.xz
SRCURL[0]="https://beehive.molgen.mpg.de/082556d5ad49629df34492c3573754af/pango-${PKGVERSION}.tar.xz"


# Dependency fribidi found: NO found 1.0.2 but need: '>= 1.0.6'
#SRCURL[0]="https://download.gnome.org/sources/pango/${PKGVERSION[2]}/pango-${PKGVERSION}.tar.xz"
SRCURL[0]="https://beehive.molgen.mpg.de/7ad89b03f6850e0be28f91522b793842/pango-1.54.0.tar.xz"

# PATCHURL+=()

@@ -23,11 +19,9 @@ SRCURL[0]="https://beehive.molgen.mpg.de/082556d5ad49629df34492c3573754af/pango-
# bee_patch "${@}"
#}

mee_configure() {
bee_configure \
--wrap-mode=nofallback

}
#mee_configure() {
# bee_configure
#}

#mee_build() {
# bee_build
@@ -36,3 +30,4 @@ mee_configure() {
#mee_install() {
# bee_install
#}

52 changes: 3 additions & 49 deletions pangomm.be0
Original file line number Diff line number Diff line change
@@ -1,44 +1,16 @@
#!/usr/bin/env beesh

# BEE_VERSION pangomm-2.42.0-0
# BEE_VERSION pangomm-2.46.4-0

## this file was created by bee init and should be executed to build a
## bee-package. (Additional hints are located at the end of this file.)

###############################################################################
## The source URL(s) define the location of the sources that will be
## downloaded. Version variables may be used to simplify reuse of this bee-file.

SRCURL[0]="https://ftp.gnome.org/pub/GNOME/sources/pangomm/${PKGVERSION[2]}/pangomm-${PKGVERSION}.tar.xz"

###############################################################################
## Add URLs/pathes to patch files to the PATCHURL array.
## The sources will be patched in the order of the array.
#SRCURL[0]="https://download.gnome.org/sources/pangomm/${PKGVERSION[2]}/pangomm-${PKGVERSION}.tar.xz"
SRCURL[0]="https://beehive.molgen.mpg.de/5947d35899db62813531d7ea8faee60c/pangomm-2.46.4.tar.xz"

# PATCHURL+=()

###############################################################################
## Uncomment the next statement, if the software may not be able to be built
## outside the source directory and needs to be built inside the source
## directory.

# build_in_sourcedir

###############################################################################
## bee cannot detect buildtypes specified in subdirectories.
## Sometimes packages "hide" the real sources in a subdirectory named
## 'src' or 'cmake' or ..
## use 'sourcesubdir_append' to specify this directory if known.

# sourcesubdir_append src


###############################################################################
## Change the default (auto-detected) steps to
## extract, patch, configure/setup, build and install the software.
## Make sure the mee_install function does install everything to the
## image directory "${D}"

#mee_extract() {
# bee_extract "${@}"
#}
@@ -58,22 +30,4 @@ SRCURL[0]="https://ftp.gnome.org/pub/GNOME/sources/pangomm/${PKGVERSION[2]}/pang
#mee_install() {
# bee_install
#}
## by default this may be 'make install DESTDIR="${D}"'

###############################################################################
##
## Additional hints:
##
## The name of this bee-file should follow the following naming convention:
## pkgname-pkgversion-pkgrevision.bee
##
## You may remove all comments as long as SRCURL[0] is set.
##
## Everything in this file will be executed in a bash environment.
##
## Build the package by executing
## './pkg-version-N.bee' or
## 'beesh ./pkg-version-N.bee'
##
## see http://beezinga.org/
##

0 comments on commit 1823506

Please sign in to comment.