]> git.xonotic.org Git - xonotic/mediasource.git/blobdiff - gfx/luma/render-svg.sh
Fix gfx/luma/render-svg.sh to work on debian 11
[xonotic/mediasource.git] / gfx / luma / render-svg.sh
index 06fc923945b56d56fb61b0edbfe1a9c42eabec09..8c697feeaa918f2ae4b18cd6428c551e20094a85 100755 (executable)
@@ -36,7 +36,9 @@ for svg in "$@"; do
        dir="$data/${svg%/*}"
        tga="$data/${svg%.*}.tga"
 
-       if [ "$ext" = "svg" ] && [ -f "$svg" ] && [ "$svg" -nt "$tga" ]; then
+       # IF source file has extension .svg AND it exists AND
+       # destination file does NOT exist, OR source file is newer than destination file
+       if [ "$ext" = "svg" ] && [ -f "$svg" ] && [ ! -f "$tga" -o "$svg" -nt "$tga" ]; then
                echo "Rendering $tga"
 
                w=$(identify -format "%w" "$svg")
@@ -44,6 +46,16 @@ for svg in "$@"; do
                scale=$(echo "s=sqrt($maxPixels/$w/$h);if(s>$maxScale)s=$maxScale;s" | bc)
 
                mkdir -p "$dir"
-               rsvg-convert -z "$scale" "$svg" | convert - -scale "$w" "$tga"
+               # -auto-orient works around an inversion regression present in imagemagick 6.9.11-60
+               rsvg-convert -z "$scale" "$svg" | convert - -auto-orient -scale "$w" "$tga"
+       else
+               printf "NOT rendering source $svg because "
+               if [ ! "$ext" = "svg" ]; then
+                       printf "file extension is not \".svg\"\n"
+               elif [ ! -f "$svg" ]; then
+                       printf "file not found\n"
+               else
+                       printf "$svg is not newer than $tga\n"
+               fi
        fi
 done