From bfc3db5a80c3c76d773d90d2327d8f042606c48d Mon Sep 17 00:00:00 2001
From: Ismael Luceno <ismael@iodev.co.uk>
Date: Sun, 30 Jun 2024 09:40:07 +0200
Subject: [PATCH] plug-ins: Allow building without librsvg

By specifying --without-librsvg to the configure script.

Origin: Source Mage
Upstream-Status: Pending
Signed-off-by: Ismael Luceno <ismael@sourcemage.org>
---
 configure                   |   25 ++++++++++++++++++++++++-
 configure.ac                |   12 ++++++++----
 plug-ins/common/Makefile.am |    2 ++
 plug-ins/common/Makefile.in |    2 +-
 4 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/configure.ac b/configure.ac
index 48c3c77892a5..4dc62f28888b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2033,10 +2033,14 @@ AM_CONDITIONAL(HAVE_WEBKIT, test "x$have_webkit" = xyes)
 # Check for librsvg
 ###################
 
-PKG_CHECK_MODULES(SVG, librsvg-2.0 >= rsvg_required_version,,
-                  [add_deps_error([rsvg >= rsvg_required_version])])
-
-MIME_TYPES="$MIME_TYPES;image/svg+xml"
+AC_ARG_WITH(librsvg,
+  AS_HELP_STRING([--without-librsvg], [don't build SVG support]))
+if test "x$with_librsvg" != xno; then
+  PKG_CHECK_MODULES(SVG, librsvg-2.0 >= rsvg_required_version,,
+    [add_deps_error([rsvg >= rsvg_required_version])])
+  MIME_TYPES="$MIME_TYPES;image/svg+xml"
+fi
+AM_CONDITIONAL(WITH_LIBRSVG, test "x$with_librsvg" != xno)
 
 
 ####################################
diff --git a/plug-ins/common/Makefile.am b/plug-ins/common/Makefile.am
index 75fbd6164fe5..3b22cb576dd1 100644
--- a/plug-ins/common/Makefile.am
+++ b/plug-ins/common/Makefile.am
@@ -191,7 +191,9 @@ file_ps_libexec_PROGRAMS = $(FILE_PS)
 file_psp_libexec_PROGRAMS = file-psp
 file_raw_data_libexec_PROGRAMS = file-raw-data
 file_sunras_libexec_PROGRAMS = file-sunras
+if WITH_LIBRSVG
 file_svg_libexec_PROGRAMS = file-svg
+endif
 file_tga_libexec_PROGRAMS = file-tga
 file_wmf_libexec_PROGRAMS = $(FILE_WMF)
 file_xbm_libexec_PROGRAMS = file-xbm
diff --git a/plug-ins/common/Makefile.in b/plug-ins/common/Makefile.in
index 11f761320a12..4911aac033e1 100644
--- a/plug-ins/common/Makefile.in
+++ b/plug-ins/common/Makefile.in
@@ -136,7 +136,7 @@ file_pnm_libexec_PROGRAMS = file-pnm$(EXEEXT)
 file_psp_libexec_PROGRAMS = file-psp$(EXEEXT)
 file_raw_data_libexec_PROGRAMS = file-raw-data$(EXEEXT)
 file_sunras_libexec_PROGRAMS = file-sunras$(EXEEXT)
-file_svg_libexec_PROGRAMS = file-svg$(EXEEXT)
+@WITH_LIBRSVG_TRUE@file_svg_libexec_PROGRAMS = file-svg$(EXEEXT)
 file_tga_libexec_PROGRAMS = file-tga$(EXEEXT)
 file_xbm_libexec_PROGRAMS = file-xbm$(EXEEXT)
 file_xwd_libexec_PROGRAMS = file-xwd$(EXEEXT)
diff --git a/configure b/configure
index 69cf4eae8fd9..da62e959a5a9 100755
--- a/configure
+++ b/configure
@@ -766,6 +766,8 @@ POPPLER_LIBS
 POPPLER_CFLAGS
 BUILD_PRINT_FALSE
 BUILD_PRINT_TRUE
+WITH_LIBRSVG_FALSE
+WITH_LIBRSVG_TRUE
 SVG_LIBS
 SVG_CFLAGS
 HAVE_WEBKIT_FALSE
@@ -1203,6 +1205,7 @@ with_jpegxl
 with_libbacktrace
 with_libunwind
 with_webkit
+with_librsvg
 with_print
 with_cairo_pdf
 with_wmf
@@ -2055,6 +2058,7 @@ Optional Packages:
   --without-libbacktrace       build without libbacktrace support
   --without-libunwind       build without libunwind support
   --without-webkit        don't build the help-browser and web-page plug-ins
+  --without-librsvg       don't build SVG support
   --without-print         build without print support
   --without-cairo-pdf     build without cairo-pdf support
   --without-wmf           build without WMF support
@@ -31253,6 +31257,13 @@ fi
 ###################
 
 
+# Check whether --with-librsvg was given.
+if test "${with_librsvg+set}" = set; then :
+  withval=$with_librsvg;
+fi
+
+if test "x$with_librsvg" != xno; then
+
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for librsvg-2.0 >= 2.40.6" >&5
 $as_echo_n "checking for librsvg-2.0 >= 2.40.6... " >&6; }
@@ -31333,8 +31344,16 @@ $as_echo "$as_me: Eeeeeeeeeeeeeeeeeeeeek! Missing dep: rsvg >= 2.40.6" >&6;}
 $as_echo "yes" >&6; }
 
 fi
+  MIME_TYPES="$MIME_TYPES;image/svg+xml"
+fi
+ if test "x$with_librsvg" != xno; then
+  WITH_LIBRSVG_TRUE=
+  WITH_LIBRSVG_FALSE='#'
+else
+  WITH_LIBRSVG_TRUE='#'
+  WITH_LIBRSVG_FALSE=
+fi
 
-MIME_TYPES="$MIME_TYPES;image/svg+xml"
 
 
 ####################################
@@ -35213,6 +35232,10 @@ if test -z "${HAVE_WEBKIT_TRUE}" && test -z "${HAVE_WEBKIT_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_WEBKIT\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${WITH_LIBRSVG_TRUE}" && test -z "${WITH_LIBRSVG_FALSE}"; then
+  as_fn_error $? "conditional \"WITH_LIBRSVG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${BUILD_PRINT_TRUE}" && test -z "${BUILD_PRINT_FALSE}"; then
   as_fn_error $? "conditional \"BUILD_PRINT\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
-- 
2.44.0

