# 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.11 Release: 1%{?dist} Summary: Scalable Vector Graphics for Java License: ASL 2.0 and W3C URL: https://xmlgraphics.apache.org/batik/ Source0: http://archive.apache.org/dist/xmlgraphics/batik/source/batik-src-%{version}.zip Source1: %{name}-security.policy Patch1: 0001-Fix-imageio-codec-lookup.patch BuildArch: noarch BuildRequires: maven-local 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) >= 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) # full support for tiff Recommends: jai-imageio-core %description 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 %description css CSS component of the Apache Batik SVG manipulation and rendering library. %package squiggle Summary: Batik SVG browser # Explicit requires for javapackages-tools since squiggle-script # uses /usr/share/java-utils/java-functions Requires: javapackages-tools %description squiggle The Squiggle SVG Browser lets you view SVG file, zoom, pan and rotate in the content and select text items in the image and much more. %package svgpp Summary: Batik SVG pretty printer # Explicit requires for javapackages-tools since svgpp-script # uses /usr/share/java-utils/java-functions Requires: javapackages-tools %description svgpp The SVG Pretty Printer lets developers "pretty-up" their SVG files and get their tabulations and other cosmetic parameters in order. It can also be used to modify the DOCTYPE declaration on SVG files. %package ttf2svg Summary: Batik SVG font converter # Explicit requires for javapackages-tools since ttf2svg-script # uses /usr/share/java-utils/java-functions Requires: javapackages-tools %description ttf2svg The SVG Font Converter lets developers convert character ranges from the True Type Font format to the SVG Font format to embed in SVG documents. This allows SVG document to be fully self-contained be rendered exactly the same on all systems. %package rasterizer Summary: Batik SVG rasterizer # Explicit requires for javapackages-tools since rasterizer-script # uses /usr/share/java-utils/java-functions Requires: javapackages-tools %description rasterizer The SVG Rasterizer is a utility that can convert SVG files to a raster format. The tool can convert individual files or sets of files, making it easy to convert entire directories of SVG files. The supported formats are JPEG, PNG, and TIFF, however the design allows new formats to be added easily. %package slideshow Summary: Batik SVG slideshow # Explicit requires for javapackages-tools since slideshow-script # uses /usr/share/java-utils/java-functions Requires: javapackages-tools %description slideshow Batik SVG slideshow. %package javadoc Summary: Javadoc for %{name} %description javadoc Javadoc for %{name}. %package demo Summary: Samples for %{name} Requires: %{name} = %{version}-%{release} %description demo Demonstrations and samples for %{name}. %prep %setup -q -n %{name}-%{version} find -name '*.class' -exec rm -f '{}' \; find -name '*.jar' -exec rm -f '{}' \; %patch1 -p1 cp -p %{SOURCE1} batik-svgrasterizer/src/main/resources/org/apache/batik/apps/rasterizer/resources/rasterizer.policy cp -p %{SOURCE1} batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbrowser/resources/svgbrowser.policy # It's an uberjar, it shouldn't have requires %pom_xpath_inject pom:dependency 'true' batik-all # 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 org.apache.batik.$(sed 's:./batik-::;s:/pom.xml::' <<< $pom) " %pom_xpath_inject pom:project 'bundle' $pom done %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 %mvn_package :batik-svgpp svgpp %mvn_package :batik-ttf2svg ttf2svg %mvn_package :batik-rasterizer rasterizer %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 %build %mvn_build %install %mvn_install %jpackage_script org.apache.batik.apps.svgbrowser.Main '' '' %{classpath} squiggle true %jpackage_script org.apache.batik.apps.svgpp.Main '' '' %{classpath} svgpp true %jpackage_script org.apache.batik.apps.ttf2svg.Main '' '' %{classpath} ttf2svg true %jpackage_script org.apache.batik.apps.rasterizer.Main '' '' %{classpath} rasterizer true %jpackage_script org.apache.batik.apps.slideshow.Main '' '' %{classpath} slideshow true # Demo mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/ cp -pr samples $RPM_BUILD_ROOT%{_datadir}/%{name}/ %files -f .mfiles %license LICENSE NOTICE %doc CHANGES MAINTAIN README %files css -f .mfiles-css %files util -f .mfiles-util %files squiggle -f .mfiles-squiggle %{_bindir}/squiggle %files svgpp -f .mfiles-svgpp %{_bindir}/svgpp %files ttf2svg -f .mfiles-ttf2svg %{_bindir}/ttf2svg %files rasterizer -f .mfiles-rasterizer %{_bindir}/rasterizer %files slideshow -f .mfiles-slideshow %{_bindir}/slideshow %files javadoc -f .mfiles-javadoc %license LICENSE NOTICE %files demo %{_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 * Thu Aug 30 2018 Severin Gehwolf - 1.10-3 - Add explicit javapackages-tools requirement for sub-packages using jpackage_script-based scripts. See RHBZ#1600426. * Thu Jul 12 2018 Fedora Release Engineering - 1.10-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Mon May 28 2018 Michael Simacek - 1.10-1 - Update to upstream version 1.10 - Use Recommends for jai-imageio-core (needed for TIFF support) * Wed Apr 25 2018 Mat Booth - 1.9-7 - Generate correct OSGi metadata * Wed Feb 07 2018 Fedora Release Engineering - 1.9-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1.9-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon Jul 03 2017 Michael Simacek - 1.9-4 - Add missing BRs * Thu May 04 2017 Michael Simacek - 1.9-3 - Suppress requires from batik-all uberjar * Wed Apr 26 2017 Michael Simacek - 1.9-2 - Fix OSGi metadata generation and eclipse compatibility * Thu Apr 20 2017 Michael Simacek - 1.9-1 - Update to upstream version 1.9 - Fixes CVE-2017-5662 * Wed Apr 19 2017 Mikolaj Izdebski - 1.8-8 - Add missing requires on xmlgraphics-commons - Resolves: rhbz#1443567 * Fri Feb 10 2017 Fedora Release Engineering - 1.8-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Feb 03 2016 Fedora Release Engineering - 1.8-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Dec 01 2015 Michael Simacek - 1.8-5 - Add jai to classpath of remaining scripts * Fri Nov 27 2015 Michael Simacek - 1.8-4 - Fix imageio codec lookup - Add jai-imageio-core on rasterizer's classpath * Fri Nov 27 2015 Mikolaj Izdebski - 1.8-3 - Use custom security policy files - Fix rasterizer and squiggle classpath - Resolves: rhbz#1277998 * Wed Jun 17 2015 Fedora Release Engineering - 1.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Thu May 21 2015 Alexander Kurtakov 1.8-1 - Update to 1.8 final. * Wed May 13 2015 Mikolaj Izdebski - 1.8-0.18.svn1230816 - Disable javadoc doclint * Mon Jan 12 2015 Alexander Kurtakov 1.8-0.17.svn1230816 - Add obsoletes in batik-css to ease updates. * Mon Dec 8 2014 Alexander Kurtakov 1.8-0.16.svn1230816 - Split css in subpackage. * Sat Jun 07 2014 Fedora Release Engineering - 1.8-0.15.svn1230816 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed Mar 05 2014 Roland Grunberg - 1.8-0.14.svn1230816 - Remove provenance=W3C attribute from Import-Package. (rhbz #1073110) * Tue Mar 04 2014 Stanislav Ochotnicky - 1.8-0.13.svn1230816 - Use Requires: java-headless rebuild (#1067528) * Sun Feb 23 2014 Alexander Kurtakov 1.8-0.12.svn1230816 - Move to Batik 1.7 manifests. - Remove old stuff. * Thu Jan 16 2014 Stanislav Ochotnicky - 1.8-0.11.svn1230816 - Fix classpath for slideshow script - Change javadoc task maxmem to 512MB to avoid OOM * Thu Aug 08 2013 Stanislav Ochotnicky - 1.8-0.10.svn1230816 - Update to latest packaging guidelines * Sat Aug 03 2013 Fedora Release Engineering - 1.8-0.9.svn1230816 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Fri Jun 28 2013 Mikolaj Izdebski - 1.8-0.8.svn1230816 - Remove BR: ant-nodeps * Fri Jun 28 2013 Mikolaj Izdebski - 1.8-0.8.svn1230816 - Rebuild to regenerate API documentation - Resolves: CVE-2013-1571 * Wed Feb 13 2013 Fedora Release Engineering - 1.8-0.7.svn1230816 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Tue Nov 20 2012 Mikolaj Izdebski - 1.8-0.6.svn1230816 - Remove unneeded BR: jython * Fri Oct 5 2012 Mikolaj Izdebski - 1.8-0.5.svn1230816 - Fix rasterizer classpath - Resolves: rhbz#577486 * Fri Aug 24 2012 Mikolaj Izdebski - 1.8-0.4.svn1230816 - Fix license tag - Install LICENSE and NOTICE with javadoc package - Remove RPM bug workaround - Update to current packaging guidelines * Thu Jul 19 2012 Mikolaj Izdebski - 1.8-0.3.svn1230816 - Add BR: zip * Wed Jul 18 2012 Fedora Release Engineering - 1.8-0.2.svn1230816 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Feb 20 2012 Jiri Vanek 1.7-14 - Solving jdk7's removed internal (since 1.4.2 deprecated) com.sun.image.codec package - Gripped new sources from 1.8pre trunk which have support adapters for removed classes, - Removed all old an unused tiff classes from it - org.apache.batik.ext.awt.image.code.tiff - Added requires JAI which provides tiff support - Added inner_version variable, which helps to keep 1.8 outside and 1.8pre inside * Thu Jan 12 2012 Fedora Release Engineering - 1.7-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Fri Jul 8 2011 Andrew Overholt 1.7-12 - New OSGi manifests from Eclipse Orbit. * Tue May 3 2011 Stanislav Ochotnicky - 1.7-11 - Add maven metadata and pom files - Versionless jars & javadocs * Mon Feb 07 2011 Fedora Release Engineering - 1.7-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Oct 25 2010 Alexander Kurtakov 1.7-9 - Fix utilities startup scripts. * Fri Oct 1 2010 Alexander Kurtakov 1.7-8 - Fix build. * Fri Oct 1 2010 Alexander Kurtakov 1.7-7 - BR/R java 1.6.0 not java-openjdk. - Cleanup build section. * Fri Jul 24 2009 Fedora Release Engineering - 1.7-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Jul 15 2009 Lillian Angel - 1.7-5 - Fixed javadocs issue. - Resolves: rhbz#511767 * Mon Feb 23 2009 Fedora Release Engineering - 1.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Feb 6 2009 Alexander Kurtakov 1.7-3 - Install separate jars and put OSGi manifests in them. * Tue Jan 06 2009 Lillian Angel - 1.7-2 - Fixed java dependencies to check for java-1.6.0-openjdk instead. * Mon Jan 05 2009 Lillian Angel - 1.7-1 - Updated batik-repack.sh to remove font files from test resources. - Resolves: rhbz#477369 * Mon Jan 05 2009 Nicolas Chauvet - 1.7-1 - Fix release field - Repack the source (without included jar files) - Fix dual listed files in the demo subpackage - Fix BR subversion used in determine-svn-revision-svn-info - Fix BR that was previously bundled within the source archive - Resolves: rhbz#472736 * Fri Nov 28 2008 Lillian Angel - 1.7-0.7 - Fixed BASE_JARS in batik.rasterizer.script. - Resolves: rhbz#455397 * Mon Apr 28 2008 Lillian Angel - 1.7-0.5.beta1 - Fixed BASE_JARS in batik-squiggle.script. - Resolves: rhbz#444358 * Mon Mar 31 2008 Lillian Angel - 1.7-0.2.beta1 - Updated sources. - Updated release. - Added CLASSPATH to build. - Removed codecs patch. * Fri Nov 23 2007 Lillian Angel - 1.7-0.1.beta1 - Fixed rpmlint errors. * Tue Sep 18 2007 Joshua Sumali - 0:1.7-1 - Update to batik 1.7 beta1 * Thu Feb 22 2007 Ralph Apel - 0:1.6-3jpp - Add gcj_support option - Add option to avoid rhino, jython on bootstrap, omit -squiggle subpackage * Wed Apr 26 2006 Fernando Nasser - 0:1.6-2jpp - First JPP 1.7 build * Tue Aug 2 2005 Ville Skyttä - 0:1.6-1jpp - 1.6. - Fix build of manual (java.awt.headless for stylebook). * Fri Jan 28 2005 Jason Corley - 0:1.5.1-1jpp - Update to 1.5.1 * Mon Nov 22 2004 Ville Skyttä - 0:1.5-5jpp - Drop -monolithic and obsolete it in main package. It shouldn't be needed in the first place, and the *.policy files that end up in it will contain wrong paths which causes all sorts of borkage. - BuildRequire jython to get support for it built. - Remove xml-commons-apis and xalan-j2 from scripts and install time dependencies, require Java >= 1.4 instead (xalan-j2 is still needed at build time). - New style versionless javadoc dir symlinking. - Crosslink with full J2SE javadocs. - Associate SVG MIME type with Squiggle in freedesktop.org menu entry. * Fri Aug 20 2004 Ralph Apel - 0:1.5-4jpp - Build with ant-1.6.2 * Mon Nov 03 2003 Paul Nasrat - 0:1.5-3jpp - Fix non-versioned javadoc symlinks * Fri Aug 15 2003 Ville Skyttä - 0:1.5-2jpp - Fix jar names in policy files, kudos to Scott Douglas-Watson. - Add freedesktop.org menu entry for Squiggle. - Improve subpackage descriptions. - Save .spec in UTF-8, get rid of # ------- separators. * Sat Jul 19 2003 Ville Skyttä - 0:1.5-1jpp - Update to 1.5. - Crosslink with xml-commons-apis and rhino javadocs. * Thu Apr 17 2003 Ville Skyttä - 0:1.5-0.beta5.2jpp - Rebuild to satisfy dependencies due to renamed rhino (r4 -> R4). * Sun Mar 30 2003 Ville Skyttä - 1.5-0.beta5.1jpp - Update to 1.5 beta5. - Rebuild for JPackage 1.5. - Use bundled crimson and stylebook for building the manual. * Tue May 07 2002 Guillaume Rousse 1.1.1-4jpp - vendor, distribution, group tags - scripts use system prefs - scripts source user prefs before configuration * Thu Mar 28 2002 Guillaume Rousse 1.1.1-3jpp - libs package is now monolithic package * Sun Jan 27 2002 Guillaume Rousse 1.1.1-2jpp - adaptation to new stylebook1.0b3 package * Mon Jan 21 2002 Guillaume Rousse 1.1.1-1jpp - 1.1.1 - additional sources in individual archives - no dependencies for manual and javadoc packages - stricter dependency for demo package - versioned dir for javadoc - explicitely set xalan-j2.jar and xml-commons-api.jar in classpath - splitted applications in distinct packages * Wed Dec 5 2001 Guillaume Rousse 1.1-0.rc4.3jpp - javadoc into javadoc package - new launch scripts using functions library - Requires jpackage-utils - added name-slideshow.jar - main jar renamed name.jar * Wed Nov 21 2001 Christian Zoffoli 1.1-0.rc4.2jpp - fixed previous changelog - changed extension --> jpp * Tue Nov 20 2001 Christian Zoffoli 1.1-0.rc4.1jpp - rc4 * Sat Nov 17 2001 Christian Zoffoli 1.1-0.rc3.2jpp - added batik-libs creation * Fri Nov 9 2001 Christian Zoffoli 1.1-0.rc3.1jpp - changed version to 0.rc3.1 * Mon Nov 5 2001 Christian Zoffoli 1.1rc3-1jpp - 1.1rc3 * Sat Oct 6 2001 Guillaume Rousse 1.0-4jpp - first unified release - removed xalan-j2 from classpath as it is autoloaded by stylebook-1.0b3 - used original tarball - s/jPackage/JPackage * Mon Sep 17 2001 Guillaume Rousse 1.0-3mdk - provided *working* startup scripts * Sat Sep 15 2001 Guillaume Rousse 1.0-2mdk - requires specificaly crimson - only manual buildrequires stylebook-1.0b3 and xerces-j1 - dropped xalan-j2 buildrequires as stylebook-1.0b3 needs it already - changed samples package name to demo - moved demo files to _datadir/name - provided startup scripts * Thu Aug 30 2001 Guillaume Rousse 1.0-1mdk - first Mandrake release