From 182350675260abc615713b1a1526169f0e72ecb0 Mon Sep 17 00:00:00 2001 From: thomas Date: Fri, 20 Sep 2024 11:04:29 +0200 Subject: [PATCH] update pango-1.49 to 1.54 (plus deps) 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 ... --- cairo.be0 | 16 ++++------------ cairomm.be0 | 7 ++++--- fontconfig.be0 | 46 +++++++++++++++++++++++--------------------- libsigc++3.be0 | 52 +++----------------------------------------------- pango.be0 | 19 +++++++----------- pangomm.be0 | 52 +++----------------------------------------------- 6 files changed, 45 insertions(+), 147 deletions(-) diff --git a/cairo.be0 b/cairo.be0 index 74904680e..14f0439ab 100755 --- a/cairo.be0 +++ b/cairo.be0 @@ -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 -} diff --git a/cairomm.be0 b/cairomm.be0 index cdb23339c..68d19bb38 100755 --- a/cairomm.be0 +++ b/cairomm.be0 @@ -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 #} + diff --git a/fontconfig.be0 b/fontconfig.be0 index 860464082..084601c6e 100755 --- a/fontconfig.be0 +++ b/fontconfig.be0 @@ -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} -} diff --git a/libsigc++3.be0 b/libsigc++3.be0 index 2b26e4a25..7e920731a 100755 --- a/libsigc++3.be0 +++ b/libsigc++3.be0 @@ -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/ -## diff --git a/pango.be0 b/pango.be0 index 62c7749a1..ad76f1cf6 100755 --- a/pango.be0 +++ b/pango.be0 @@ -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 #} + diff --git a/pangomm.be0 b/pangomm.be0 index 232a49c35..5d6e28b1f 100755 --- a/pangomm.be0 +++ b/pangomm.be0 @@ -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/ -##