diff --git a/.gitignore b/.gitignore
index 62810ac..899816f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@ batik-1.7-orbit-manifests.tar.gz
/batik-src-1.8.zip
/batik-src-1.9.zip
/batik-src-1.10.zip
+/batik-src-1.11.zip
diff --git a/batik.spec b/batik.spec
index ad172c2..3f2eed3 100644
--- a/batik.spec
+++ b/batik.spec
@@ -1,8 +1,11 @@
+# Allow conditionally building without deps on scripting libs rhino and jython
+%bcond_with jp_minimal
+
%global classpath batik:rhino:xml-commons-apis:xml-commons-apis-ext:xmlgraphics-commons:jai_imageio
Name: batik
-Version: 1.10
-Release: 4%{?dist}
+Version: 1.11
+Release: 1%{?dist}
Summary: Scalable Vector Graphics for Java
License: ASL 2.0 and W3C
URL: https://xmlgraphics.apache.org/batik/
@@ -18,9 +21,11 @@ BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache:apache:pom:)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin)
-BuildRequires: mvn(org.apache.xmlgraphics:xmlgraphics-commons)
+BuildRequires: mvn(org.apache.xmlgraphics:xmlgraphics-commons) >= 2.3
+%if %{without jp_minimal}
BuildRequires: mvn(org.mozilla:rhino)
BuildRequires: mvn(org.python:jython)
+%endif
BuildRequires: mvn(xalan:xalan)
BuildRequires: mvn(xml-apis:xml-apis)
BuildRequires: mvn(xml-apis:xml-apis-ext)
@@ -33,9 +38,15 @@ Batik is a Java(tm) technology based toolkit for applications that want
to use images in the Scalable Vector Graphics (SVG) format for various
purposes, such as viewing, generation or manipulation.
+%package util
+Summary: Batik utility library
+Obsoletes: %{name} < 1.11-1
+
+%description util
+Util component of the Apache Batik SVG manipulation and rendering library.
+
%package css
Summary: Batik CSS engine
-Obsoletes: %{name} < 1.8-0.17.svn1230816
%description css
CSS component of the Apache Batik SVG manipulation and rendering library.
@@ -123,13 +134,7 @@ cp -p %{SOURCE1} batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbr
# It's an uberjar, it shouldn't have requires
%pom_xpath_inject pom:dependency 'true' batik-all
-# eclipse expects xmlgraphics to be optional
-%pom_xpath_inject 'pom:dependency[pom:artifactId="xmlgraphics-commons"]' 'true' batik-css
-
-# eclipse expects it there
-cp -pr batik-i18n/src/main/java/org/apache/batik/i18n batik-util/src/main/java/org/apache/batik/
-%pom_remove_dep :batik-i18n batik-util
-
+# Generate OSGi metadata
for pom in `find -mindepth 2 -name pom.xml -not -path ./batik-all/pom.xml`; do
%pom_add_plugin org.apache.felix:maven-bundle-plugin $pom "
true
@@ -142,10 +147,19 @@ for pom in `find -mindepth 2 -name pom.xml -not -path ./batik-all/pom.xml`; do
%pom_xpath_inject pom:project 'bundle' $pom
done
-# for eclipse
-%pom_xpath_set pom:Bundle-SymbolicName org.apache.batik.util.gui batik-gui-util
-
-%pom_disable_module batik-test-old
+%if %{with jp_minimal}
+# Remove optional deps on rhino and jython for minimal build
+%pom_remove_dep :rhino batik-{bridge,script}
+%pom_remove_dep :jython batik-script
+rm -rf batik-script/src/main/java/org/apache/batik/script/{jpython,rhino}
+rm batik-bridge/src/main/java/org/apache/batik/bridge/BatikWrapFactory.java
+rm batik-bridge/src/main/java/org/apache/batik/bridge/SVG12RhinoInterpreter.java
+rm batik-bridge/src/main/java/org/apache/batik/bridge/RhinoInterpreter.java
+rm batik-bridge/src/main/java/org/apache/batik/bridge/RhinoInterpreterFactory.java
+rm batik-bridge/src/main/java/org/apache/batik/bridge/EventTargetWrapper.java
+rm batik-bridge/src/main/java/org/apache/batik/bridge/GlobalWrapper.java
+rm batik-bridge/src/main/java/org/apache/batik/bridge/WindowWrapper.java
+%endif
%mvn_package :batik-squiggle squiggle
%mvn_package :batik-squiggle-ext squiggle
@@ -155,6 +169,9 @@ done
%mvn_package :batik-rasterizer-ext rasterizer
%mvn_package :batik-slideshow slideshow
%mvn_package :batik-css css
+%mvn_package :batik-constants util
+%mvn_package :batik-i18n util
+%mvn_package :batik-util util
%mvn_package ':batik-test*' __noinstall
%mvn_file :batik-all batik-all
@@ -181,6 +198,7 @@ cp -pr samples $RPM_BUILD_ROOT%{_datadir}/%{name}/
%doc CHANGES MAINTAIN README
%files css -f .mfiles-css
+%files util -f .mfiles-util
%files squiggle -f .mfiles-squiggle
%{_bindir}/squiggle
@@ -205,6 +223,14 @@ cp -pr samples $RPM_BUILD_ROOT%{_datadir}/%{name}/
%changelog
+* Wed May 15 2019 Mat Booth - 1.11-1
+- Update to latest upstream release
+- Drop ancient obsoletes
+- Drop eclipse-specific hacks that are no longer needed
+- Allow conditional building without scripting engines for smaller dep chain
+- Break out some low-level modules into separate sub-package for smaller install
+ size
+
* Thu Jan 31 2019 Fedora Release Engineering - 1.10-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
diff --git a/sources b/sources
index c49e172..7524413 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (batik-src-1.10.zip) = c62c04b9006bcccff4ebf552d22c873e0c19a00990cd639b0e1e299f335d7fdb11b5db07bb94c9f6223be9e06f8fb20da5a5b9b8555dbc0bccdb9ed3921d106f
+SHA512 (batik-src-1.11.zip) = 6fe68f7b36d0976a11549168b69ab4822fe3346db6845b964e16320c91eb90b81e40582976467b4c674f3dd4af90240741784e19dd55f0bc30cd8b3fa0c43282