#!/bin/bash # test we are root if [ "$(id -u)" != "0" ]; then echo "run as root now exitting" exit 1 fi export CFLAGS="-mtune=generic -Os -pipe" export CXX="-mtune=generic -Os -pipe -fno-exceptions -fno-rtti" P=swaybg V=1.2.0 SRC=$P-$V USER=`cat /etc/sysconfig/tcuser` LIST="compiletc squashfs-tools wget cmake meson wayland-dev wayland-protocols cairo-dev gdk-pixbuf2-dev " 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 gcc/armv7l-unknown-linux-gnueabihf/12.2.0/plugin/libcc1plugin.la rm -rf gcc/armv7l-unknown-linux-gnueabihf/12.2.0/plugin/libcp1plugin.la rm -rf gcc/armv7l-unknown-linux-gnueabihf/12.2.0/liblto_plugin.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 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 cd /tmp su -c "/usr/local/bin/wget -nc --no-check-certificate \ https://github.com/swaywm/$P/archive/refs/tags/v$V.zip " $USER unzip v$V.zip cd $SRC mkdir build && cd build meson setup --prefix=/usr/local -Dstrip=true -Ddebug=false -Dbuildtype=plain -Dgdk-pixbuf=enabled -Dman-pages=disabled # buildtype : plain # debug : false # prefix : /usr/local # strip : true # gdk-pixbuf: enabled # man-pages : disabled meson configure ninja # seconds DESTDIR=/tmp/$P ninja install cd /tmp # main ###### mkdir -p $P/usr/local/share/doc/$P cp $SRC/LICENSE $P/usr/local/share/doc/$P/ # TCZ them ####### LIST="$P " 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 echo 'Title: swaybg.tcz Description: Tiling desktop for Wayland Version: 1.2.0 Author: Drew DeVault Original-site: https://github.com/swaybgwm/swaybg Copying-policy: Accompanied Size: 16K Extension_by: aus9 Tags: wayland sway Comments: Although used by sway can be used by any wayland compositor that supports wlr-layer-shell protocol & wl_output version 4. Change-log: 2023/09/20 v 1.2.0 on 14.x Current: 2023/09/20 ' > $P.tcz.info readelf -d $P/usr/local/bin/* | grep 'NEEDED' # cull duplicates TCBs #[libcairo.so.2] cairo #[libgdk_pixbuf-2.0.so.0] gdk-pixbuf2 #[libgobject-2.0.so.0]glib2 #[libwayland-client.so.0]wayland wlroots which is a dep of sway but keep it here too echo 'cairo.tcz gdk-pixbuf2 glib2.tcz wlroots.tcz ' > $P.tcz.dep