site  contact  subhomenews

HexChat compiled in OpenEmbedded

June 05, 2022 — BarryK

Up until now, have built 'easy.sfs' with xz-compression, with an option in the QuickSetup app to rebuild it with lz4-hc compression. I recently used the expression "the elephant in the room" in reference to containers; however, this rebuilding of easy.sfs is "the horse in the room".

The reason is that I knew that resizing 'easy.sfs' from xz to lz4-hc compressed, was going to make it too big to fit in the working-partititon. On the flash stick anyway. It is the copy of 'easy.sfs' in the working-partition that gets resized, and that is the one loaded at bootup.

No problem, but the horse that I was ignoring is when do a rollback to an earlier version. The rollback copies the rollback 'easy.sfs' from the working-partition to the boot-partition. If that 'easy.sfs' has been resized, then it won't fit, and there will be a crash at next bootup.

lz4-hc compressed squashfs is noticeably faster than xz compressed. So, I thought why not build it with lz4-hc right from the start, and make sure that it is small enough to fit in the boot-partition.

The 'easy-<ver>-<arch>.img' file has a 767MiB vfat boot-partition, with 766MiB space available. I took out some packages, including Pitivi and Dia, and managed to get the lz4-hc compressed 'easy.sfs' down to 752MiB -- it fits, with 2.8MiB free space.

This evening, decided to take out Pidgin multi-protocol chat client, as it is very big, and replace with HexChat. HexChat has now been compiled in OE, and this is the recipe, meta-quirky/recipes-quirky/hexchat/hexchat_2.16.1.bb:

# Recipe created by recipetool
# recipetool create -o hexchat_2.16.1.bb https://dl.hexchat.net/hexchat/hexchat-2.16.1.tar.xz

LICENSE = "GPLv2 & MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=3570313aad780956aafa367c8aa1f0b9 \
file://plugins/fishlim/LICENSE;md5=a1ad6bba27fe09eb8434c82a0e5f118c"

SRC_URI = "https://dl.hexchat.net/hexchat/hexchat-${PV}.tar.xz"
SRC_URI[md5sum] = "0af269d719c2c047310d44804bb31fdb"
SRC_URI[sha1sum] = "16c407c580e0f86762f928c4893d43df186f1df5"
SRC_URI[sha256sum] = "a7e497da71df419daf9855582d51c723a2611de25d5e97b5efc33fe78da5c4c7"
SRC_URI[sha384sum] = "798e8d573ba84023453cf12aa8709ae22b83ef6aeee02d8a62ceb6861f2f29af37a9a852895069e6fcfe5b78b38c34ee"
SRC_URI[sha512sum] = "9e6baa30ec8c3ce4fb56e2c82625da63295040eaf93a542aec8a4a18a6a3c95d69d1d4ffabc952bcdcd7b754afef234b348f296143991fafd0550342db95ce0e"

DEPENDS = "python3 libcanberra openssl gtk+ glib-2.0 glib-2.0-native dbus \
dbus-glib dbus-glib-native sysfsutils libxml2 gdk-pixbuf \
gdk-pixbuf-native python3-cffi python3-cffi-native python3-pycparser \
python3-pycparser-native"

inherit meson pkgconfig gettext

EXTRA_OEMESON += " \
-Dinstall-appdata=false \
-Dwith-lua=false \
-Dwith-perl=false \
-Dwith-sysinfo=true \
"

HOMEPAGE = "https://hexchat.github.io/"
SUMMARY = "IRC client"

I have configured woofQ '3buileasydistro' script to run HexChat as user "hexchat". I did test HexChat running as root, and it put up a warning message that I am stupid. No problem, it will be in the next Easy Dunfell and will run as a non-root user.   

Tags: easy