File nekohtml.spec of Package nekohtml
# Copyright (c) 2000-2009, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the
# distribution.
# 3. Neither the name of the JPackage Project nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
%define with() %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}}
%define without() %{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}}
%define bcond_with() %{expand:%%{?_with_%{1}:%%global with_%{1} 1}}
%define bcond_without() %{expand:%%{!?_without_%{1}:%%global with_%{1} 1}}
%bcond_without repolib
%bcond_with gcj_support
%define repodir %{_javadir}/repository.jboss.com/nekohtml/%{version}-brew
%define repodirlib %{repodir}/lib
%define repodirsrc %{repodir}/src
%define section free
Name: nekohtml
Version: 1.9.14
Release: 2%{?dist}
Epoch: 0
Summary: HTML scanner and tag balancer
License: ASL 2.0
URL: http://nekohtml.sourceforge.net/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# http://www.jpackage.org/cgi-bin/viewvc.cgi/*checkout*/rpms/devel/nekohtml/nekohtml-filter.sh?root=jpackage&content-type=text%2Fplain
Source1: %{name}-filter.sh
Source2: nekohtml-component-info.xml
Patch0: %{name}-crosslink.patch
Patch1: %{name}-jars.patch
Group: Development/Libraries/Java
Requires: bcel
Requires: jpackage-utils >= 0:1.6
Requires: xerces-j2 >= 0:2.7.1
Requires: xml-commons-jaxp-1.3-apis
BuildRequires: jpackage-utils
BuildRequires: ant
BuildRequires: ant-junit
BuildRequires: ant-trax
BuildRequires: java-javadoc
BuildRequires: bcel
BuildRequires: bcel-javadoc
BuildRequires: xerces-j2 >= 0:2.7.1
BuildRequires: xerces-j2-javadoc-xni
BuildRequires: xerces-j2-javadoc-impl
BuildRequires: xml-commons-jaxp-1.3-apis
%if %with gcj_support
BuildRequires: java-gcj-compat-devel
%else
BuildArch: noarch
BuildRequires: java-devel >= 1.6.0
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
NekoHTML is a simple HTML scanner and tag balancer that enables
application programmers to parse HTML documents and access the
information using standard XML interfaces. The parser can scan HTML
files and "fix up" many common mistakes that human (and computer)
authors make in writing HTML documents. NekoHTML adds missing parent
elements; automatically closes elements with optional end tags; and
can handle mismatched inline element tags.
NekoHTML is written using the Xerces Native Interface (XNI) that is
the foundation of the Xerces2 implementation. This enables you to use
the NekoHTML parser with existing XNI tools without modification or
rewriting code.
%package javadoc
Summary: Javadoc for %{name}
Group: Development/Documentation
%description javadoc
Javadoc for %{name}.
%package demo
Summary: Demo for %{name}
Group: Development/Libraries/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
%description demo
Demonstrations and samples for %{name}.
%if %with repolib
%package repolib
Summary: Artifacts to be uploaded to a repository library
Group: Development/Libraries/Java
%description repolib
Artifacts to be uploaded to a repository library.
This package is not meant to be installed but so its contents
can be extracted through rpm2cpio.
%endif
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%{_bindir}/find . -name "*.jar" | %{_bindir}/xargs -t %{__rm}
%{__perl} -pi -e 's/\r$//g' *.txt doc/*.html
%{__rm} -r doc/javadoc
%build
export CLASSPATH=$(build-classpath bcel xerces-j2)
export OPT_JAR_LIST="`%{__cat} %{_sysconfdir}/ant.d/junit` ant/ant-trax xalan-j2"
%{ant} \
-Dbuild.sysclasspath=first \
-Dlib.dir=%{_javadir} \
-Djar.file=%{name}-%{version}.jar \
-Djar.xni.file=%{name}-xni-%{version}.jar \
-Djar.samples.file=%{name}-samples-%{version}.jar \
-Dbcel.javadoc=%{_javadocdir}/bcel \
-Dj2se.javadoc=%{_javadocdir}/java \
-Dxni.javadoc=%{_javadocdir}/xerces-j2-xni \
-Dxerces.javadoc=%{_javadocdir}/xerces-j2-impl \
clean jar jar-xni doc test
%install
rm -rf $RPM_BUILD_ROOT
# Jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -p -m 644 %{name}{,-samples,-xni}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/
ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
ln -s %{name}-samples-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-samples.jar
ln -s %{name}-xni-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-xni.jar
# Scripts
install -Dpm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}-filter
# Javadocs
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -a build/doc/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
%if %with repolib
%{__install} -d -m 755 %{buildroot}%{repodir}
%{__install} -d -m 755 %{buildroot}%{repodirlib}
%{__install} -p -m 644 %{SOURCE2} %{buildroot}%{repodir}/component-info.xml
tag=`/bin/echo %{name}-%{version}-%{release} | %{__sed} 's|\.|_|g'`
%{__sed} -i "s/@TAG@/$tag/g" %{buildroot}%{repodir}/component-info.xml
%{__sed} -i "s/@VERSION@/%{version}-brew/g" %{buildroot}%{repodir}/component-info.xml
%{__install} -d -m 755 %{buildroot}%{repodirsrc}
%{__install} -p -m 644 %{SOURCE0} %{buildroot}%{repodirsrc}
%{__install} -p -m 644 %{SOURCE1} %{buildroot}%{repodirsrc}
%{__install} -p -m 644 %{PATCH0} %{buildroot}%{repodirsrc}
%{__install} -p -m 644 %{PATCH1} %{buildroot}%{repodirsrc}
%{__cp} -p %{buildroot}%{_javadir}/%{name}.jar %{buildroot}%{repodirlib}/nekohtml.jar
%endif
%if %with gcj_support
%{_bindir}/aot-compile-rpm
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%if %with gcj_support
%post
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%postun
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%files
%defattr(0644,root,root,0755)
%doc LICENSE.txt README.txt doc/*.html
%attr(755,root,root) %{_bindir}/%{name}-filter
%{_javadir}/%{name}-%{version}.jar
%{_javadir}/%{name}.jar
%{_javadir}/%{name}-xni-%{version}.jar
%{_javadir}/%{name}-xni.jar
%if %with gcj_support
%dir %{_libdir}/gcj/%{name}
%attr(-,root,root) %{_libdir}/gcj/%{name}/*
%endif
%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}
%files demo
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-samples-%{version}.jar
%{_javadir}/%{name}-samples.jar
%if %with repolib
%files repolib
%defattr(0644,root,root,0755)
%{_javadir}/repository.jboss.com
%endif
%changelog
* Mon Jul 19 2010 James Laska <jlaska@redhat.com> 0:1.9.14-2
- Disable gcj_support
- Updated nekohtml-jars.patch
* Mon Jul 15 2010 James Laska <jlaska@redhat.com> 0:1.9.14-1
- Update to 1.9.14
* Wed May 13 2009 Martha Benitez <mbenitez@redhat.com> 0:1.9.11-2.2
- Build without aot-compile
* Thu Mar 19 2009 David Walluck <dwalluck@redhat.com> 0:1.9.11-2.1
- BuildRequires: bcel
- force use of xalan-j2
* Wed Feb 11 2009 David Walluck <dwalluck@redhat.com> 0:1.9.11-2
- add repolib
* Wed Feb 11 2009 David Walluck <dwalluck@redhat.com> 0:1.9.11-1
- 1.9.6.1
* Mon Feb 12 2007 Jeff Johnston <jjohnstn@redhat.com> - 0:0.9.5-4jpp.1
- Update to address Fedora review comments.
* Mon May 08 2006 Ralph Apel <r.apel at r-apel.de> - 0:0.9.5-4jpp
- First JPP-1.7 release
* Tue Oct 11 2005 Ralph Apel <r.apel at r-apel.de> - 0:0.9.5-3jpp
- Patch to JAXP13
* Mon Aug 1 2005 Ville Skyttä <scop at jpackage.org> - 0:0.9.5-2jpp
- Fix unversioned xni jar symlink (#10).
* Wed Jul 6 2005 Ville Skyttä <scop at jpackage.org> - 0:0.9.5-1jpp
- 0.9.5.
* Wed Dec 15 2004 Ville Skyttä <scop at jpackage.org> - 0:0.9.4-1jpp
- Update to 0.9.4.
* Tue Aug 24 2004 Fernando Nasser <fnasser@redhat.com> - 0:0.9.3-2jpp
- Rebuild with Ant 1.6.2
* Sat Jul 3 2004 Ville Skyttä <scop at jpackage.org> - 0:0.9.3-1jpp
- Update to 0.9.3.
- Add nekohtml-filter script.
* Thu Apr 1 2004 Ville Skyttä <scop at jpackage.org> - 0:0.9.2-1jpp
- Update to 0.9.2.
* Sat Dec 13 2003 Ville Skyttä <scop at jpackage.org> - 0:0.8.3-1jpp
- Update to 0.8.3.
* Sat Nov 15 2003 Ville Skyttä <scop at jpackage.org> - 0:0.8.2-1jpp
- Update to 0.8.2.
* Wed Oct 1 2003 Ville Skyttä <scop at jpackage.org> - 0:0.8.1-1jpp
- Update to 0.8.1.
- Crosslink with local J2SE and XNI javadocs.
- Save .spec in UTF-8.
* Thu Jun 26 2003 Ville Skyttä <scop at jpackage.org> - 0:0.7.7-1jpp
- Update to 0.7.7.
* Sun May 11 2003 David Walluck <david@anti-microsoft.org> 0:0.7.6-1jpp
- 0.7.6
- update for JPackage 1.5
* Sat Mar 29 2003 Ville Skyttä <scop at jpackage.org> - 0.7.4-2jpp
- Rebuilt for JPackage 1.5.
* Tue Mar 4 2003 Ville Skyttä <scop at jpackage.org> - 0.7.4-1jpp
- Update to 0.7.4.
* Mon Feb 24 2003 Ville Skyttä <scop at jpackage.org> - 0.7.3-1jpp
- Update to 0.7.3.
- Built with IBM's 1.3.1 SR3 and xerces-j2 2.3.0.
* Sat Jan 11 2003 Ville Skyttä <scop at jpackage.org> - 0.7.2-1jpp
- Update to 0.7.2.
- Run unit tests when building.
* Tue Dec 10 2002 Ville Skyttä <scop at jpackage.org> - 0.7.1-1jpp
- Update to 0.7.1.
* Sun Nov 3 2002 Ville Skyttä <scop at jpackage.org> - 0.6.8-1jpp
- 0.6.8, first JPackage release.