79 lines
3.2 KiB
Bash
Executable file
79 lines
3.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
PS4='\e[99;33m${BASH_SOURCE}:$LINENO\e[0m '
|
|
set -e
|
|
set -x
|
|
|
|
sudo apt-get install ninja-build python2.7 wget
|
|
sudo apt-get build-dep libx11-6 libxrender1 libcairo2 libglib2.0-0 libpango-1.0-0 libimlib2 librsvg2-2
|
|
|
|
export PKG_CONFIG_PATH=""
|
|
|
|
DEPS=$HOME/tint2-deps
|
|
X11=$(pkg-config --modversion x11)
|
|
XRENDER=$(pkg-config --modversion xrender)
|
|
XCOMPOSITE=$(pkg-config --modversion xcomposite)
|
|
XDAMAGE=$(pkg-config --modversion xdamage)
|
|
XEXT=$(pkg-config --modversion xext)
|
|
XRANDR=$(pkg-config --modversion xrandr)
|
|
XINERAMA=$(pkg-config --modversion xinerama)
|
|
IMLIB=$(pkg-config --modversion imlib2)
|
|
GLIB=$(pkg-config --modversion glib-2.0)
|
|
CAIRO=$(pkg-config --modversion cairo)
|
|
PANGO=$(pkg-config --modversion pango)
|
|
PIXBUF=$(pkg-config --modversion gdk-pixbuf-2.0)
|
|
RSVG=$(pkg-config --modversion librsvg-2.0)
|
|
|
|
mkdir -p $DEPS/src
|
|
|
|
function two_digits() {
|
|
echo "$@" | cut -d. -f 1-2
|
|
}
|
|
|
|
function download_and_build() {
|
|
URL="$1"
|
|
shift
|
|
CFGARGS="$@"
|
|
ARCHIVE="$(basename "$URL")"
|
|
NAME="$(echo "$ARCHIVE" | sed s/\.tar.*$//g)"
|
|
|
|
cd "$DEPS/src"
|
|
rm -rf "$ARCHIVE"
|
|
rm -rf "$NAME"
|
|
wget "$URL" -O "$ARCHIVE"
|
|
tar xf "$ARCHIVE"
|
|
cd "$NAME"
|
|
export PKG_CONFIG_PATH="$DEPS/lib/pkgconfig"
|
|
export PATH="$DEPS/bin:$PATH"
|
|
export CFLAGS="-O0 -fno-common -fno-omit-frame-pointer -rdynamic -fsanitize=address -g"
|
|
export LDFLAGS="-Wl,--no-as-needed -Wl,-z,defs -O0 -fno-common -fno-omit-frame-pointer -rdynamic -fsanitize=address -fuse-ld=gold -g -ldl -lasan"
|
|
if [[ -x ./configure ]]
|
|
then
|
|
./configure "--prefix=$DEPS" "$@"
|
|
make -j
|
|
make install
|
|
elif [[ -f meson.build ]]
|
|
then
|
|
mkdir build
|
|
cd build
|
|
meson "--prefix=$DEPS" "$@" ..
|
|
ninja install
|
|
else
|
|
echo "unknown build method"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
download_and_build "https://www.x.org/archive/individual/lib/libX11-$X11.tar.gz" --enable-static=no
|
|
download_and_build "https://www.x.org/archive//individual/lib/libXrender-$XRENDER.tar.gz" --enable-static=no
|
|
download_and_build "https://www.x.org/archive//individual/lib/libXcomposite-$XCOMPOSITE.tar.gz" --enable-static=no
|
|
download_and_build "https://www.x.org/archive//individual/lib/libXdamage-$XDAMAGE.tar.gz" --enable-static=no
|
|
download_and_build "https://www.x.org/archive//individual/lib/libXext-$XEXT.tar.gz" --enable-static=no
|
|
download_and_build "https://www.x.org/archive//individual/lib/libXrandr-$XRANDR.tar.gz" --enable-static=no
|
|
download_and_build "https://www.x.org/archive//individual/lib/libXinerama-$XINERAMA.tar.gz" --enable-static=no
|
|
download_and_build "https://downloads.sourceforge.net/enlightenment/imlib2-$IMLIB.tar.bz2" --enable-static=no
|
|
download_and_build "https://ftp.gnome.org/pub/gnome/sources/glib/$(two_digits "$GLIB")/glib-$GLIB.tar.xz" --enable-debug=yes
|
|
download_and_build "https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/$(two_digits "$PIXBUF")/gdk-pixbuf-$PIXBUF.tar.xz"
|
|
download_and_build "https://cairographics.org/snapshots/cairo-$CAIRO.tar.xz"
|
|
download_and_build "https://ftp.gnome.org/pub/gnome/sources/pango/$(two_digits "$PANGO")/pango-$PANGO.tar.xz"
|
|
download_and_build "https://ftp.gnome.org/pub/gnome/sources/librsvg/$(two_digits "$RSVG")/librsvg-$RSVG.tar.xz" --enable-pixbuf-loader
|