Group :: Development/Java
RPM: brazil
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Packager: Igor Vlasenko <viy at altlinux.ru>
BuildRequires: /proc
BuildRequires: jpackage-1.5-compat
%define gcj_support 0
Name: brazil
Version: 2.3
Release: alt1_3jpp5
Summary: Extremely small footprint Java HTTP stack
Group: Development/Java
License: SPL
URL: http://research.sun.com/brazil/
# source tarball and the script used to fetch it from Sun's Download Center
# script usage:
# $ sh get-brazil.sh
Source0: %{name}-%{version}.tar.gz
Source1: get-brazil.sh
# upsteam's build script doesn't build javadocs, so use our own, better script
Source2: brazil-build.xml
# patch for removing sun proprietary signal handling api not in gcj
Patch0: brazil-remove-proprietary-sun-api.patch
%if %{gcj_support}
BuildRequires: gcc-java
BuildRequires: java-gcj-compat-devel
Requires(post): java-gcj-compat
Requires(postun): java-gcj-compat
%else
BuildArch: noarch
%endif
BuildRequires: jpackage-utils
BuildRequires: ant
Requires: jpackage-utils
%description
Brazil is as an extremely small footprint HTTP stack and flexible architecture
for adding URL-based interfaces to arbitrary applications and devices from Sun
Labs. This package contains the core set of classes that are not dependent on
any other external Java libraries.
%package javadoc
Summary: Javadocs for %{name}
Group: Development/Java
Requires: %{name} = %{version}-%{release}
Requires: jpackage-utils
%description javadoc
API documentation for %{name}.
%package demo
Summary: Demos for %{name}
Group: Development/Java
Requires: %{name} = %{version}-%{release}
Requires: tcl
%description demo
Demonstrations and samples for %{name}.
%prep
%setup -q -n %{name}-%{version}
# apply patches
%patch0 -p0
# fix permissions and interpreter in sample scripts
grep -lR -e ^\#\!/usr/sfw/bin/tclsh8.3 samples | xargs sed --in-place "s|/usr/sfw/bin/tclsh8.3|/usr/bin/tclsh|"
grep -lR -e ^\#\!/usr/bin/tclsh samples | xargs chmod 755
grep -lR -e ^\#\!/bin/sh samples | xargs chmod 755
%build
cp -p %{SOURCE2} build.xml
ant all
%install
# jars
mkdir -p %{buildroot}%{_javadir}
cp -p build/%{name}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar
(cd %{buildroot}%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
# javadoc
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr build/javadoc/* %{buildroot}%{_javadocdir}/%{name}
# samples
mkdir -p %{buildroot}%{_datadir}/%{name}
cp -pr samples %{buildroot}%{_datadir}/%{name}
%if %{gcj_support}
%{_bindir}/aot-compile-rpm
%endif
%if %{gcj_support}
%post -p %{_bindir}/rebuild-gcj-db
%postun -p %{_bindir}/rebuild-gcj-db
%endif
%files
%doc srcs/license.terms
%{_javadir}/%{name}.jar
%{_javadir}/%{name}-%{version}.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}
%endif
%files javadoc
%doc %{_javadocdir}/%{name}
%files demo
%doc %{_datadir}/%{name}/samples/README
%{_datadir}/%{name}
%changelog
…
Full changelog you can see here
BuildRequires: /proc
BuildRequires: jpackage-1.5-compat
%define gcj_support 0
Name: brazil
Version: 2.3
Release: alt1_3jpp5
Summary: Extremely small footprint Java HTTP stack
Group: Development/Java
License: SPL
URL: http://research.sun.com/brazil/
# source tarball and the script used to fetch it from Sun's Download Center
# script usage:
# $ sh get-brazil.sh
Source0: %{name}-%{version}.tar.gz
Source1: get-brazil.sh
# upsteam's build script doesn't build javadocs, so use our own, better script
Source2: brazil-build.xml
# patch for removing sun proprietary signal handling api not in gcj
Patch0: brazil-remove-proprietary-sun-api.patch
%if %{gcj_support}
BuildRequires: gcc-java
BuildRequires: java-gcj-compat-devel
Requires(post): java-gcj-compat
Requires(postun): java-gcj-compat
%else
BuildArch: noarch
%endif
BuildRequires: jpackage-utils
BuildRequires: ant
Requires: jpackage-utils
%description
Brazil is as an extremely small footprint HTTP stack and flexible architecture
for adding URL-based interfaces to arbitrary applications and devices from Sun
Labs. This package contains the core set of classes that are not dependent on
any other external Java libraries.
%package javadoc
Summary: Javadocs for %{name}
Group: Development/Java
Requires: %{name} = %{version}-%{release}
Requires: jpackage-utils
%description javadoc
API documentation for %{name}.
%package demo
Summary: Demos for %{name}
Group: Development/Java
Requires: %{name} = %{version}-%{release}
Requires: tcl
%description demo
Demonstrations and samples for %{name}.
%prep
%setup -q -n %{name}-%{version}
# apply patches
%patch0 -p0
# fix permissions and interpreter in sample scripts
grep -lR -e ^\#\!/usr/sfw/bin/tclsh8.3 samples | xargs sed --in-place "s|/usr/sfw/bin/tclsh8.3|/usr/bin/tclsh|"
grep -lR -e ^\#\!/usr/bin/tclsh samples | xargs chmod 755
grep -lR -e ^\#\!/bin/sh samples | xargs chmod 755
%build
cp -p %{SOURCE2} build.xml
ant all
%install
# jars
mkdir -p %{buildroot}%{_javadir}
cp -p build/%{name}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar
(cd %{buildroot}%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
# javadoc
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr build/javadoc/* %{buildroot}%{_javadocdir}/%{name}
# samples
mkdir -p %{buildroot}%{_datadir}/%{name}
cp -pr samples %{buildroot}%{_datadir}/%{name}
%if %{gcj_support}
%{_bindir}/aot-compile-rpm
%endif
%if %{gcj_support}
%post -p %{_bindir}/rebuild-gcj-db
%postun -p %{_bindir}/rebuild-gcj-db
%endif
%files
%doc srcs/license.terms
%{_javadir}/%{name}.jar
%{_javadir}/%{name}-%{version}.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}
%endif
%files javadoc
%doc %{_javadocdir}/%{name}
%files demo
%doc %{_datadir}/%{name}/samples/README
%{_datadir}/%{name}
%changelog
…
Full changelog you can see here