#!/bin/sh # test we are root if [ "$USER" != "root" ] ; then echo "Run as root please, exiting." exit 1 fi export CFLAGS='-flto=auto -Os -pipe -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp ' export CXXFLAGS='-flto=auto -Os -pipe -fno-exceptions -fno-rtti -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp ' export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig echo $CFLAGS && echo $CXXFLAGS P=gdk-pixbuf V=2.42.10 SRC=$P-$V USER=`cat /etc/sysconfig/tcuser` LIST="compiletc squashfs-tools wget meson gobject-introspection-dev \ libpng-dev libtiff-dev gettext intltool " for Z in $LIST do su -c "tce-load -i $Z" $USER done # list may be larger than loaded cd /usr/local/lib rm -rf *.la rm -rf gcc/aarch64-unknown-linux-gnu/12.2.0/plugin/*.la rm -rf gcc/aarch64-unknown-linux-gnu/12.2.0/*.la rm -rf gprofng/*.la rm -rf python3.8/site-packages/*.la rm -rf pkcs11/*.la rm -rf cairo/*.la rm -rf gtk-2.0/modules/*.la rm -rf gtk-2.0/2.10.0/printbackends/*.la rm -rf gtk-2.0/2.10.0/immodules/*.la rm -rf gtk-2.0/2.10.0/engines/*.la rm -rf imlib2/loaders/*.la rm -rf imlib2/filters/*.la rm -rf gdk-pixbuf-2.0/2.10.0/loaders/*.la rm -rf gcc/armv7l-unknown-linux-gnueabihf/12.2.0/plugin/libcp1plugin.la rm -rf gcc/armv7l-unknown-linux-gnueabihf/12.2.0/plugin/libcc1plugin.la rm -rf gcc/armv7l-unknown-linux-gnueabihf/12.2.0/liblto_plugin.la rm -rf pulseaudio/libpulsedsp.la rm -rf pulseaudio/libpulsecore-13.0.la rm -rf pulseaudio/libpulsecommon-13.0.la rm -rf libv4l/v4l2convert.la rm -rf libv4l/v4l1compat.la rm -rf libv4l/plugins/libv4l-mplane.la rm -rf vala-0.46/libvalaccodegen.la cd /tmp rm -rf /usr/lib/*.la find / -name *.la su -c "/usr/local/bin/wget -nc \ https://download.gnome.org/sources/$P/2.42/$SRC.tar.xz " $USER tar -xvf $SRC*xz cd $SRC mkdir build && cd build meson setup --prefix=/usr/local --localstatedir=/var -Dstrip=true -Ddocs=false \ --wrap-mode=nofallback -Dman=false -Dtests=false -Dinstalled_tests=false # below debugging is true but so is strip! # Loaders # Shared modules : True # Enabled loaders : png & jpeg & tiff # Builtin loaders : png & jpeg # Build # Debugging : True # Optimization : 2 # GIO MIME sniffing: True # MediaLib : False # Introspection : True # Documentation : False # Manual pages : False # Relocatable : False # Build tests : False # Installed tests : False # Directories # prefix : /usr/local # libdir : /usr/local/lib # datadir : /usr/local/share # libexecdir : /usr/local/lib # User defined options # localstatedir : /var # prefix : /usr/local # strip : true # wrap_mode : nofallback # docs : false # man : false ninja # 35 sec DESTDIR=/tmp/$P ninja install cd /tmp # Warning: loaders.cache not built because DESTDIR is set # You will need to manually call gdk-pixbuf-query-loaders YEP install script # dev ##### mkdir -p $P-dev/usr/local/lib mv $P/usr/local/include $P-dev/usr/local/ mv $P/usr/local/lib/pkgconfig $P-dev/usr/local/lib # gir ##### mkdir -p $P-gir/usr/local/lib mv $P/usr/local/lib/gir* $P-gir/usr/local/lib mkdir -p $P-gir/usr/local/share mv $P/usr/local/share/gir* $P-gir/usr/local/share # locale ######## mkdir -p $P-locale/usr/local/share mv $P/usr/local/share/locale $P-locale/usr/local/share # main ##### mkdir -p $P/usr/local/share/doc/$P echo 'LGPL v2.1' > $P/usr/local/share/doc/$P/COPYING # tce.install ########### mkdir -p $P/usr/local/tce.installed echo '#!/bin/sh gdk-pixbuf-query-loaders --update-cache ' > $P/usr/local/tce.installed/$P chown -R root:staff $P/usr/local/tce.installed chmod -R 775 $P/usr/local/tce.installed # TCZ them ####### LIST="$P $P-dev $P-gir $P-locale " for Z in $LIST do mksquashfs $Z $Z.tcz md5sum $Z.tcz > $Z.tcz.md5.txt cd $Z find usr -not -type d > /tmp/$Z.tcz.list sed 's|usr|/usr|g' -i /tmp/$Z.tcz.list cd /tmp done ls -hal # my dev list vastly different from Repo version echo 'Title: gdk-pixbuf-dev.tcz Description: dev files Version: 2.42.10 Author: gdk-pixbuf Team Original-site: https://download.gnome.org/sources/gdk-pixbuf Copying-policy: LGPL v2.1 Size: 32K Extension_by: aus9 Tags: gtk images Comments: dev files Change-log: 2016/08/13 v 2.34.0 (bmarkus) 2017/03/15 v 2.36.5 (juanito) 2020/04/15 v 2.40.0 (juanito) Current: 2023/07/27 v 2.42.10 on 14.x (aus9) ' > $P-dev.tcz.info echo 'gdk-pixbuf.tcz libpng-dev.tcz libtiff-dev.tcz ' > $P-dev.tcz.dep echo 'Title: gdk-pixbuf-gir.tcz Description: Gir files Version: 2.42.10 Author: gdk-pixbuf Team Original-site: https://download.gnome.org/sources/gdk-pixbuf Copying-policy: LGPL v2.1 Size: 88K Extension_by: aus9 Tags: gtk images Comments: gir files Change-log: 2016/08/13 v 2.34.0 (bmarkus) 2017/03/15 v 2.36.5 (juanito) 2020/04/15 v 2.40.0 (juanito) Current: 2023/07/27 v 2.42.10 on 14.x (aus9) ' > $P-gir.tcz.info echo 'gdk-pixbuf.tcz gobject-introspection.tcz' > $P-gir.tcz.dep echo 'Title: gdk-pixbuf-locale.tcz Description: language files Version: 2.42.10 Author: gdk-pixbuf Team Original-site: https://download.gnome.org/sources/gdk-pixbuf Copying-policy: LGPL v2.1 Size: 784K Extension_by: aus9 Tags: gtk images Comments: untested by me Change-log: 2023/07/27 v 2.42.10 on 14.x Current: 2023/07/27 ' > $P-locale.tcz.info echo 'gdk-pixbuf.tcz' > $P-locale.tcz.dep echo 'Title: gdk-pixbuf.tcz Description: Toolkit for image loading and pixel buffer manipulation Version: 2.42.10 Author: gdk-pixbuf Team Original-site: https://download.gnome.org/sources/gdk-pixbuf Copying-policy: LGPL v2.1 Size: 168K Extension_by: aus9 Tags: gtk images Comments: Used by GTK* to load and manipulate images Change-log: 2016/08/13 v 2.34.0 (bmarkus) 2017/03/15 v 2.36.5 (juanito) 2020/04/15 v 2.40.0 (juanito) Current: 2023/07/27 v 2.42.10 on 14.x (aus9) ' > $P.tcz.info readelf -d $P/usr/local/lib/* | grep 'NEEDED' #[libglib-2.0.so.0][libgobject-2.0.so.0][libgmodule-2.0.so.0][libgio-2.0.so.0] glib2 #[libpng16.so.16]libpng #[libjpeg.so.62]libjpeg-turbo readelf -d $P/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/* | grep 'NEEDED' #[libgdk_pixbuf-2.0.so.0] this TCE # NOTE shared-mime-info is a dep of gtk2/3/4 readelf -d $P/usr/local/bin/* | grep 'NEEDED' # no extras echo 'glib2.tcz libpng.tcz libjpeg-turbo.tcz ' > $P.tcz.dep # test $ gdk-pixbuf-thumbnailer sample.tiff thumb2 # input 640x960 thumb2 171x246 not exactly small but it does thumb