UNIXworkcode

#!/bin/zsh BUILD_ROOT=$(pwd) BUILD_DIR=$BUILD_ROOT/build BUILD_INSTALL=$BUILD_ROOT/install LIB_DIR=$BUILD_INSTALL/lib export PKG_CONFIG_PATH=$BUILD_INSTALL/lib/pkgconfig:$BUILD_INSTALL/share/pkgconfig rm -Rf $BUILD_DIR rm -Rf $BUILD_INSTALL src=( "https://www.x.org/releases/individual/proto/xcb-proto-1.17.0.tar.gz" "https://www.x.org/releases/individual/xcb/libpthread-stubs-0.5.tar.gz" "https://www.x.org/releases/individual/proto/xproto-7.0.31.tar.bz2" "https://www.x.org/releases/individual/lib/libXau-1.0.11.tar.gz" "https://www.x.org/releases/individual/lib/libXdmcp-1.1.5.tar.gz" "https://www.x.org/releases/individual/lib/libxcb-1.17.0.tar.gz" "https://www.x.org/releases/individual/proto/xextproto-7.3.0.tar.bz2" "https://www.x.org/releases/individual/lib/xtrans-1.5.2.tar.gz" "https://www.x.org/releases/individual/proto/kbproto-1.0.7.tar.bz2" "https://www.x.org/releases/individual/proto/inputproto-2.3.tar.bz2" "https://www.x.org/releases/individual/lib/libX11-1.8.tar.gz" "https://www.x.org/releases/individual/proto/renderproto-0.11.tar.bz2" "https://www.x.org/releases/individual/lib/libXrender-0.9.11.tar.gz" "https://www.zlib.net/zlib-1.3.1.tar.gz" "https://ftp-osl.osuosl.org/pub/libpng/src/libpng16/libpng-1.6.34.tar.gz" "https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.gz" "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.15.0.tar.gz" "https://www.x.org/releases/individual/lib/libXft-2.3.8.tar.gz" "https://www.x.org/releases/individual/lib/libICE-1.1.1.tar.gz" "https://www.x.org/releases/individual/lib/libSM-1.2.4.tar.gz" "https://www.x.org/releases/individual/lib/libXt-1.3.1.tar.gz" "https://www.x.org/releases/individual/lib/libXext-1.3.6.tar.gz" "https://www.x.org/releases/individual/lib/libXmu-1.2.1.tar.gz" "https://www.x.org/releases/individual/data/xbitmaps-1.1.3.tar.gz" ) src_motif="https://pkg.unixwork.de/src/motif-2.3.8.tar.gz" mkdir -p $BUILD_DIR echo "enter build dir $BUILD_DIR" echo cd $BUILD_DIR for url in "${src[@]}"; do echo "------------------------------------------------------" echo echo "## download $url" curl -L -O $url dlfile=$(basename $url) dirname=${dlfile%.tar.*} tar xvfz $dlfile echo echo "##enter $BUILD_DIR/$dirname" cd $dirname if [ $? -ne 0 ]; then echo "abort" exit 1 fi echo "### build $dirname" ./configure --prefix=$BUILD_INSTALL --sysconfdir=/tmp/xnedit/etc --localstatedir=/tmp/xnedit/var if [ $? -ne 0 ]; then echo "abort" exit 1 fi make if [ $? -ne 0 ]; then echo "abort" exit 1 fi make install if [ $? -ne 0 ]; then echo "abort" exit 1 fi echo echo "## leave $BUILD_DIR/$dirname" cd .. done echo echo "build motif" echo "------------------------------------------------------" echo curl -L -O $src_motif dlfile=$(basename $src_motif) dirname=${dlfile%.tar.*} tar xvfz $dlfile cd $dirname # apply patches echo "## apply patches" for file in ../../patches/*; do patch -p1 < $file done echo "## build" # compile motif ./configure --prefix=$BUILD_INSTALL if [ $? -ne 0 ]; then echo "abort" exit 1 fi make if [ $? -ne 0 ]; then echo "abort" exit 1 fi make install if [ $? -ne 0 ]; then echo "abort" exit 1 fi echo echo "update dylib IDs" echo "------------------------------------------------------" echo for file in $(find $LIB_DIR -path "*.dylib" -type f); do id=$(otool -L $file | sed '2q;d' | awk '{print $1}') newid=${id/$LIB_DIR/@rpath} echo install_name_tool -id $newid $file install_name_tool -id $newid $file if [ $? -ne 0 ]; then echo "abort" exit 1 fi for dylib in $(otool -L $file | sed 1,2d | awk '{print $1}' | grep $LIB_DIR); do echo install_name_tool -change $dylib ${dylib/$LIB_DIR/@rpath} $file install_name_tool -change $dylib ${dylib/$LIB_DIR/@rpath} $file if [ $? -ne 0 ]; then echo "abort" exit 1 fi done done