Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37567094
en ru br
Репозитории ALT
5.1: 2.4.3-alt1_5jpp5
4.1: 2.4.3-alt1_4jpp1.7
4.0: 2.4.3-alt1_4jpp1.7
www.altlinux.org/Changes

Группа :: Разработка/Java
Пакет: jexcelapi

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

BuildRequires: /proc
BuildRequires: jpackage-1.4-compat
# Copyright (c) 2000-2005, 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 archivever 2_4_3

Name:           jexcelapi
Version:        2.4.3
Release:        alt1_4jpp1.7
Epoch:          0
Summary:        A Java API to read, write and modify Excel spreadsheets
License:        LGPL
Group:          Development/Java
URL:            http://www.andykhan.com/%{name}
Source:         %{url}/%{name}_%{archivever}.tar.gz
Patch0:         %{name}-%{version}-build.patch
Patch1: %{name}-%{version}-java-1.3.1.patch
Requires: jpackage-utils >= 0:1.5
Requires: log4j >= 0:1.2.7
BuildRequires: jpackage-utils >= 0:1.5 jlex ant
BuildRequires: findutils sed
BuildRequires: log4j >= 0:1.2.7
BuildArch:      noarch

%description
%{name} allows Java developers to read Excel spreadsheets and generate Excel
spreadsheets dynamically. In addition, it contains a mechanism which allows
Java applications to read a spreadsheet, modify some cells and write the
modified spreadsheet.

Thanks to %{name} non Windows operating systems can run pure Java applications
which process and deliver Excel spreadsheets. Because it is Java, this API may
be invoked from within a servlet, thus giving access to Excel functionality
over internet and intranet web applications.

Features:
- Reads data from Excel 95, 97, 2000 workbooks
- Reads and writes formulas (Excel 97 and later only)
- Generates spreadsheets in Excel 97 format
- Supports font, number and date formatting
- Supports shading and colouring of cells
- Modifies existing worksheets


%package        demo
Group:          Development/Java
Summary:        Demos for %{name}
Requires: %{name} = %{epoch}:%{version}-%{release}

%description    demo
Demonstrations and samples for %{name}.

%package        javadoc
Group:          Development/Documentation
Summary:        Javadoc for %{name}

%description    javadoc
Javadoc for %{name}.

# -----------------------------------------------------------------------------


%prep
%setup -n %{name} -q

# Clean up binary leftovers

%{_bindir}/find . -name "*.jar" -exec rm -f {} \;
%{_bindir}/find . -name "*.class" -exec rm -f {} \;

# Clean up temp files (confuses javadoc 1.3.1)

%{_bindir}/find . -name ".#*" -exec rm -f {} \;

%patch0 -p1 -b .build
%patch1 -p1 -b .java-1.3.1

# -----------------------------------------------------------------------------


%build

cd build

cat > build.properties <<EOBP
logger=Log4jLogger
loggerClasspath=$(build-classpath log4j)
EOBP

[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java
export CLASSPATH=$(build-classpath jlex)

%{_bindir}/ant clean
%{_bindir}/ant jxlall

# -----------------------------------------------------------------------------


%install

# jars

install -d -m 0755 $RPM_BUILD_ROOT%{_javadir}/%{name}
install -m 0644 jxl.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-%{version}.jar
install -m 0644 jxl-demo.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-demo-%{version}.jar

pushd $RPM_BUILD_ROOT%{_javadir}/%{name}
       for jar in %{name}*.jar ; do
               ln -sf ${jar} $(echo $jar| sed "s|%{name}|jxl|g")
       done
       for jar in *-%{version}.jar ; do
               ln -sf ${jar} $(echo $jar| sed "s|-%{version}\.jar|.jar|g")
       done
popd


# javadoc

install -d -m 0755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -r docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}


# demo

install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/%name
install -m 0644 *.dtd *.xls $RPM_BUILD_ROOT%{_datadir}/%name/

# -----------------------------------------------------------------------------


%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}

%postun javadoc
if [ "$1" = "0" ]; then
 rm -f %{_javadocdir}/%{name}
fi

# -----------------------------------------------------------------------------


%files
%doc *.html
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/*jar
%exclude %{_javadir}/%{name}/*demo*jar

%files demo
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*.dtd
%{_datadir}/%{name}/*.xls
%{_javadir}/%{name}/*demo*jar

%files javadoc
%{_javadocdir}/%{name}-%{version}

# -----------------------------------------------------------------------------


%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin