#!/bin/bash # test we are root if [ "$(id -u)" != "0" ]; then echo "run as root now exitting" exit 1 fi # some cheats off LFS export CFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe" export CXXFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -fno-exceptions -fno-rtti" P=ghostscript V=10.01.1 SRC=$P-$V USER=`cat /etc/sysconfig/tcuser` LIST="compiletc submitqc xz cups-dev cairo-dev libjpeg-turbo-dev lcms2-dev libXt-dev gtk3-dev \ jbig2dec-dev openjpeg-dev" for Z in $LIST do su -c "tce-load -i $Z" $USER done # list may have more 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 libnl/cli cd /tmp rm -rf /usr/lib/*.la su -c "/usr/local/bin/wget -nc --no-check-certificate \ https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/$SRC.tar.xz " $USER # http://tinycorelinux.net/12.x/aarch64/tcz/src/$P/$P-9.52.tar.xz " $USER tar xvf $SRC*xz cd $SRC # I have expat2 freetype jbig2dec lcms2 libjpeg-turbo libpng openjpeg zlib_base-dev loaded rm -rf expat freetype lcms2mt jpeg libpng zlib ./configure --prefix=/usr/local --localstatedir=/var --enable-dynamic \ --disable-compile-inits --without-libpaper --without-versioned-path \ --disable-hidden-visibility --with-system-libtiff # make says not ok for C++ -Werror=declaration-after-statement / -Wstrict-prototypes / -Wmissing-prototypes sed 's|-Werror=declaration-after-statement||' -i Makefile sed 's|-Wstrict-prototypes||' -i Makefile sed 's|-Wmissing-prototypes||' -i Makefile make -j4 # 14M40s mkdir sobin soobj chown -R $USER sobin chown -R $USER soobj su -c "make so" $USER # 44M make install DESTDIR=/tmp/$P make soinstall DESTDIR=/tmp/$P cd /tmp # doc & dev ###### rm -rf $P/usr/local/share/man rm -rf $P/usr/local/share/doc rm -rf $P/usr/local/include # main start afresh ###### mkdir -p $P/usr/local/share/doc/$P cp $SRC/LICENSE $P/usr/local/share/doc/$P cp $SRC/doc/COPYING $P/usr/local/share/doc/$P # assume all are elf/so and ignore warning for non-elfs strip --strip-unneeded $P/usr/local/bin/* strip --strip-unneeded $P/usr/local/lib/libgs.so.10.01 strip --strip-unneeded $P/usr/local/lib/$PX11.so # 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: ghostscript.tcz Description: An interpreter for the PS & PDF printing files Version: 10.01.1 Author: Artifex Software Inc. Original-site: https://www.ghostscript.com/ Copying-policy: see LICENSE Size: 21M Extension_by: aus9 Tags: postscript ps pdf Comments: An interpreter for the PostScript language and PDF. To view a pdf $ gs sample.pdf Change-log: 2020/09/21 v 9.52 on 12.x Current: 2023/06/15 v 10.01.1 on 14.x ' > $P.tcz.info readelf -d $P/usr/local/bin/* | grep 'NEEDED' # delete duplicates TCBs below #[libtiff.so.5]libtiff liblcms2 #[libcups.so.2]libcups #[libpng16.so.16]libpng choose cairo pango #[libjpeg.so.62]libjpeg-turbo libtiff liblcms2 #[liblcms2.so.2]liblcms2 #[libfontconfig.so.1]fontconfig cairo pango #[libfreetype.so.6]freetype " " #[libpangocairo-1.0.so.0]pango #[libpango-1.0.so.0] " #[libharfbuzz.so.0]harfbuzz freetype cairo pango #[libatk-1.0.so.0]atk #[libcairo-gobject.so.2]cairo pango #[libcairo.so.2]" " #[libgdk_pixbuf-2.0.so.0]gdk-pixbuf #[libgio-2.0.so.0]glib2 choose atk #[libgobject-2.0.so.0]" #[libglib-2.0.so.0]" readelf -d $P/usr/local/lib/* | grep 'NEEDED' readelf -d $P/usr/local/lib/$P/X11.so | grep 'NEEDED' #[libXt.so.6] libXt #[libSM.so.6]libSM " #[libICE.so.6]libICE " #[libXext.so.6]libXext cairo #[libX11.so.6]libX11 choose libXt echo 'liblcms2.tcz libcups.tcz pango.tcz atk.tcz gdk-pixbuf.tcz libXt.tcz fontconfig.tcz ' > $P.tcz.dep submitqc --libs rm -rf *.zsync