# HG changeset patch # User J. Ali Harlow # Date 1594936930 -3600 # Node ID 2c571abcea2ae73b2a78d7e386eaccf99ffcd037 # Parent 0121592e2512989d11a1f98a48fdf3f854e22fb0 Really support building with rsvg-convert diff -r 0121592e2512 -r 2c571abcea2a Makefile.am --- a/Makefile.am Thu Jul 16 19:54:45 2020 +0100 +++ b/Makefile.am Thu Jul 16 23:02:10 2020 +0100 @@ -7,3 +7,5 @@ check-valgrind: -(cd tests && $(MAKE) $(AM_MAKEFLAGS) check-valgrind) @echo 'Results in tests/test-suite-*.log)' + +EXTRA_DIST=config/rsvg_convert diff -r 0121592e2512 -r 2c571abcea2a app-manager/Makefile.am --- a/app-manager/Makefile.am Thu Jul 16 19:54:45 2020 +0100 +++ b/app-manager/Makefile.am Thu Jul 16 23:02:10 2020 +0100 @@ -34,22 +34,22 @@ resources.$(OBJEXT): app-manager.ico app-manager.exe.manifest plover-applications%.pnm: plover-applications.svg - $(PLOVER_V_SKIP)$(RSVG) -w $* -h $* -f png $< temp.png - $(AM_V_GEN)pngtopnm temp.png | pnmquant -quiet 256 > $@ - $(PLOVER_V_SKIP)$(RM) temp.png + $(AM_V_GEN)$(RSVG_CONVERT) -w $* -h $* -f png -o temp.png $< && \ + pngtopnm temp.png | pnmquant -quiet 256 > $@ && \ + $(RM) temp.png plover-applications%.pgm: plover-applications.svg - $(PLOVER_V_SKIP)$(RSVG) -w $* -h $* -f png $< temp.png - $(AM_V_GEN)pngtopnm -alpha temp.png > $@ - $(PLOVER_V_SKIP)$(RM) temp.png + $(AM_V_GEN)$(RSVG_CONVERT) -w $* -h $* -f png -o temp.png $< && \ + pngtopnm -alpha temp.png > $@ && \ + $(RM) temp.png 24x24/plover-applications.png: plover-applications.svg - $(PLOVER_V_SKIP)mkdir -p 24x24 - $(AM_V_GEN)$(RSVG) -w 24 -h 24 -f png $< $@ + $(AM_V_GEN)mkdir -p 24x24 && \ + $(RSVG_CONVERT) -w 24 -h 24 -f png -o $@ $< 48x48/plover-applications.png: plover-applications.svg - $(PLOVER_V_SKIP)mkdir -p 48x48 - $(AM_V_GEN)$(RSVG) -w 48 -h 48 -f png $< $@ + $(AM_V_GEN)mkdir -p 48x48 && \ + $(RSVG_CONVERT) -w 48 -h 48 -f png -o $@ $< app-manager.ico: plover-applications16.pnm plover-applications16.pgm \ plover-applications22.pnm plover-applications22.pgm \ diff -r 0121592e2512 -r 2c571abcea2a config/rsvg_convert --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/rsvg_convert Thu Jul 16 23:02:10 2020 +0100 @@ -0,0 +1,74 @@ +#!/bin/bash +# A compatibility wrapper for rsvg that makes it act like rsvg-convert +usage() +{ + echo "Usage: rsvg [OPTIONS...] file.svg" + echo " -d, --dpi-x= pixels per inch" + echo " -p, --dpi-y= pixels per inch" + echo " -x, --x-zoom= x zoom factor" + echo " -y, --y-zoom= y zoom factor" + echo " -w, --width= width" + echo " -h, --height= height" +# echo " -q, --quality= JPEG quality" +# echo " -f, --format=[png, jpeg] save format" + echo " -f, --format=[png] save format" + echo " -o, --output= output filename" + echo " -v, --version show version information" + echo "" + echo "Help options:" + echo " -?, --help Show this help message" + echo " --usage Display brief usage message" +} +TEMP=`getopt -s bash -o d:p:x:y:w:h:q:f:o:v \ + --long dpi-x:,dpi-y:,x-zoom:,y-zoom:,width:,height:,quality:,format:,output:,version \ + -n 'rsvg' -- "$@"` +if [ $? != 0 ]; then + usage + exit 1 +fi +eval set -- "$TEMP" +cmd="rsvg" +output="/dev/stdout" +while true; do + case "$1" in + -d|--dpi-x|-p|--dpi-y|-x|--x-zoom|-y|--y-zoom|-w|--width|-h|--height) + cmd="$cmd $1 $2" + shift 2 + ;; + -q|--quality) + echo "rsvg-convert wrapper: jpeg format not supported" + exit 1 + ;; + -f|--format) + if [ "$2" = "png" -o -z "$2" ]; then + cmd="$cmd $1 png" + else + echo "rsvg-convert wrapper: $2 format not supported" + exit 1 + fi + shift 2 + ;; + -o|--output) + output="$2" + shift 2 + ;; + -v|--version) + cmd="$cmd $1" + shift + ;; + --) + shift + break + ;; + *) + echo "Internal error!" >&2 + exit 1 + ;; + esac +done +if [ "$#" -ne 1 ]; then + usage + exit 1 +fi +input="$1" +exec $cmd "$input" "$output" diff -r 0121592e2512 -r 2c571abcea2a configure.ac --- a/configure.ac Thu Jul 16 19:54:45 2020 +0100 +++ b/configure.ac Thu Jul 16 23:02:10 2020 +0100 @@ -89,9 +89,12 @@ PKG_PROG_PKG_CONFIG AC_CHECK_TOOL([WINDRES],[windres],[no]) AM_CONDITIONAL([HAVE_WINDRES],[test x$WINDRES != xno]) -AC_CHECK_PROGS([RSVG],[rsvg rsvg-convert],[no]) -if test "$RSVG" = no; then - AC_MSG_ERROR([no rsvg program found to convert SVG files to bitmaps]) +AC_CHECK_PROGS([RSVG_CONVERT],[rsvg rsvg-convert],[no]) +if test "$RSVG_CONVERT" = no; then + AC_MSG_ERROR([no program found to convert SVG files to bitmaps]) +fi +if test "$RSVG_CONVERT" = rsvg; then + RSVG_CONVERT="sh \$(top_srcdir)/config/rsvg_convert" fi AX_VALGRIND_CHECK AS_IF([test "$enable_valgrind" != "no"],[[ diff -r 0121592e2512 -r 2c571abcea2a plover-open/Makefile.am --- a/plover-open/Makefile.am Thu Jul 16 19:54:45 2020 +0100 +++ b/plover-open/Makefile.am Thu Jul 16 23:02:10 2020 +0100 @@ -31,22 +31,22 @@ pngtopnm $< | pnmquant 256 > $@ mimetypes-application-x-rpm%.pnm: mimetypes-application-x-rpm.svg - $(PLOVER_V_SKIP)rsvg -w $* -h $* -f png $< temp.png - $(AM_V_GEN)pngtopnm temp.png | pnmquant -quiet 256 > $@ - $(PLOVER_V_SKIP)$(RM) temp.png + $(AM_V_GEN)$(RSVG_CONVERT) -w $* -h $* -f png -o temp.png $< && \ + pngtopnm temp.png | pnmquant -quiet 256 > $@ && \ + $(RM) temp.png mimetypes-application-x-rpm%.pgm: mimetypes-application-x-rpm.svg - $(PLOVER_V_SKIP)rsvg -w $* -h $* -f png $< temp.png - $(AM_V_GEN)pngtopnm -alpha temp.png > $@ - $(PLOVER_V_SKIP)$(RM) temp.png + $(AM_V_GEN)$(RSVG_CONVERT) -w $* -h $* -f png -o temp.png $< && \ + pngtopnm -alpha temp.png > $@ && \ + $(RM) temp.png 24x24/application-x-redhat-package-manager.png: mimetypes-application-x-rpm.svg - $(PLOVER_V_SKIP)mkdir -p 24x24 - $(AM_V_GEN)rsvg -w 24 -h 24 -f png $< $@ + $(AM_V_GEN)mkdir -p 24x24 && \ + $(RSVG_CONVERT) -w 24 -h 24 -f png -o $@ $< 48x48/application-x-redhat-package-manager.png: mimetypes-application-x-rpm.svg - $(PLOVER_V_SKIP)mkdir -p 48x48 - $(AM_V_GEN)rsvg -w 48 -h 48 -f png $< $@ + $(AM_V_GEN)mkdir -p 48x48 && \ + $(RSVG_CONVERT) -w 48 -h 48 -f png -o $@ $< plover-open.ico: mimetypes-application-x-rpm16.pnm \ mimetypes-application-x-rpm16.pgm \