#!/bin/bash # dependency: axel, wget, fzf. blender_downloads_dir="${HOME}/blender" nc=6 # number of connections blender-dl-alpha(){ # download ls -l "$blender_downloads_dir/alpha/" > /dev/null 2>&1 || mkdir -p "$blender_downloads_dir/alpha/" rm -r "$blender_downloads_dir/alpha/"* > /dev/null 2>&1 cd "$blender_downloads_dir/alpha/" var=$(wget -qO- https://builder.blender.org/download/daily/ | grep -o -G 'blender-[^a-z]*-alpha+main.[0-9a-z]*-linux.x86_64-release.tar.xz' | awk 'NR==1') axel -n $nc https://builder.blender.org/download/daily/$var # sha256sum check axel -n $nc https://builder.blender.org/download/daily/$var.sha256 echo $(cat $var.sha256) $var > $var.sha256 sha256sum -c $var.sha256 || echo "sha256sum corrupt!" > log_sha # blender extract tar -xf "$blender_downloads_dir/alpha/"*.tar.xz -C "$blender_downloads_dir/alpha/" # icon bl_path="$(find "$blender_downloads_dir/alpha/"* -maxdepth 1 -name 'blender' | head -1)" echo $bl_path sed -i '/Exec/d' "$bl_path.desktop" sed -i '/Icon/d' "$bl_path.desktop" sed -i '/Name/d' "$bl_path.desktop" echo "Exec=$bl_path" %f >> $bl_path.desktop echo "Icon=$bl_path.svg" >> $bl_path.desktop echo "Name=blender-dl-alpha" >> $bl_path.desktop ls -l ~/.local/share/applications > /dev/null 2>&1 || mkdir -p ~/.local/share/applications cp "$bl_path.desktop" ~/.local/share/applications/blender-dl-alpha.desktop } blender-dl(){ # download ls -l "$blender_downloads_dir/blender/" > /dev/null 2>&1 || mkdir -p "$blender_downloads_dir/blender/" rm -r "$blender_downloads_dir/blender/"* > /dev/null 2>&1 cd "$blender_downloads_dir/blender/" ver=$(wget -qO- https://ftp.halifax.rwth-aachen.de/blender/release/ | grep -o -G 'Blender[0-9].[0-9]' | tail -1) ver2=$(wget -qO- https://ftp.halifax.rwth-aachen.de/blender/release/$ver | grep -o -G 'blender-[0-9].[0-9].[0-9]-linux-x64.tar.xz' | tail -1) axel -n $nc https://ftp.halifax.rwth-aachen.de/blender/release/$ver/$ver2 # blender extract tar -xf "$blender_downloads_dir/blender/"*.tar.xz -C "$blender_downloads_dir/blender" # icon bl_path="$(find "$blender_downloads_dir/blender/"* -maxdepth 1 -name 'blender' | head -1)" echo $bl_path sed -i '/Exec/d' "$bl_path.desktop" sed -i '/Icon/d' "$bl_path.desktop" sed -i '/Name/d' "$bl_path.desktop" echo "Exec=$bl_path" %f >> $bl_path.desktop echo "Icon=$bl_path.svg" >> $bl_path.desktop echo "Name=blender-dl" >> $bl_path.desktop ls -l ~/.local/share/applications > /dev/null 2>&1 || mkdir -p ~/.local/share/applications cp "$bl_path.desktop" ~/.local/share/applications/blender-dl.desktop } run="$(echo -e "blender-dl-alpha\nblender-dl" | fzf )" $run