File lejos.spec of Package lejos

Name: 		lejos
Summary: 	LEGO mindstorms RCX brick libraries for java
Version: 	3.0.0
Release: 	11
License: 	GPL-1.0
Group: 		Development/Languages/Java
Source: 	%{name}.%{version}-RC2.tar.gz
Patch1:		%{name}-002-jpeg.patch
Patch2:     %{name}-soname.patch
Patch3:		%{name}-dl.patch
Source3: 	%{name}-tutorial.desktop
Source5: 	00-legousbtower.rules
Source6: 	%{name}.csh
Source7: 	%{name}.sh
Source11:    %{name}.1.gz
Source12:    %{name}jc.1.gz
Source13:    %{name}link.1.gz
Source14:    %{name}dl.1.gz
Source15:    %{name}firmdl.1.gz

%if %{defined centos_version} || %{defined suse_version}
BuildRoot: 	%{_tmppath}/build-root-%{name}-%{version}-%{release}-%{arch}
%endif
Prefix: 	/usr
Url: 		http://lejos.sourceforge.net
BuildRequires:	zip unzip ant
%if %{defined centos_version} || %{defined sles_version}
BuildRequires:	java-devel >= 1.6.0
%endif
%define		LEJOS_HOME /usr/share/lejos

%description
Lejos java library to program the mindstorms RCX brick and c communications libraries.

%package javadoc
Summary:	Lejos java libraries javadoc files
Group:		Development/Sources
Requires:	lejos = %{version}

%description javadoc
Lejos java library to program the mindstorms RCX brick javadoc files.

%package devel
Summary:	Lejos java libraries source files and c include files
Group:		Development/Sources
Requires:	lejos = %{version}

%description devel
Lejos java library to program the mindstorms RCX brick source files and c include files.

%prep
%setup -c -n lejos
%patch1 -p0
%patch2 -p0
%patch3 -p0

pushd bin
rm *.so
popd

%build
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
pushd release
chmod 755 *.sh
popd
pushd build
ant
popd

LIB3DIR=../../../3rdparty/lib
pushd src/java
for d in classes pcrcxcomm rcxcomm vision; do
    pushd $d
    zip -r -q ../../${d}-src.zip .
    mkdir -p ../../../javadoc/${d}
    javadoc -quiet -classpath ${LIB3DIR}/bcel-5.1.jar:${LIB3DIR}/jmf.jar:${LIB3DIR}/commons-cli-1.0.jar:.. `find . -name *.java` -d ../../../javadoc/${d}
    popd
done;
popd

pushd javadoc
for d in classes pcrcxcomm rcxcomm vision; do
    pushd $d
    zip -r -q ../${d}-javadoc.zip .
    popd
done;
popd

mkdir -p src/include
pushd src/comms
for f in `find ./libirtrcx ./libjirtrcx -name *.h`; do
    mkdir -p ../../src/include/$(dirname ${f})
    cp ${f} ../../src/include/${f}
done;

%install
# binaries
mkdir -p %{buildroot}%{prefix}/bin
for f in bin/lejos bin/lejosdl bin/lejosjc bin/lejoslink; do
    install -D ${f} %{buildroot}%{prefix}/bin/$(basename ${f})
done;
install -D bin/firmdl %{buildroot}%{prefix}/bin/lejosfirmdl
# images
for f in bin/*.srec; do
    install -D ${f} %{buildroot}%{LEJOS_HOME}/bin/$(basename ${f})
done;
# libs
install -D bin/libirtrcx.so %{buildroot}%{prefix}/%{_lib}/libirtrcx.so.%{version}
install -D bin/libjirtrcx.so %{buildroot}%{prefix}/%{_lib}/libjirtrcx.so.%{version}
pushd %{buildroot}%{prefix}/%{_lib}
ln -s libirtrcx.so.%{version} libirtrcx.so.3
ln -s libjirtrcx.so.%{version} libjirtrcx.so.3
popd
# java libs
mkdir -p %{buildroot}%{LEJOS_HOME}/3rdparty/lib
cp 3rdparty/lib/*.jar %{buildroot}%{LEJOS_HOME}/3rdparty/lib
mkdir -p %{buildroot}%{LEJOS_HOME}/lib
cp lib/*.jar %{buildroot}%{LEJOS_HOME}/lib
# java lib sources
cp src/*-src.zip %{buildroot}%{LEJOS_HOME}/lib
# c includes
pushd src/include
for f in `find . -name *.h`; do
    install -D ${f} %{buildroot}%{prefix}/include/${f}
done;
popd
# tutorial
mkdir -p %{buildroot}%{LEJOS_HOME}/docs/tutorial
for f in `find docs/tutorial -name CVS -prune -o -type f -print`; do
    install -D ${f} %{buildroot}%{LEJOS_HOME}/${f}
done;
# javadoc
mkdir -p %{buildroot}%{LEJOS_HOME}/lib
cp javadoc/*.zip %{buildroot}%{LEJOS_HOME}/lib

# Source3
install -D %{SOURCE3} %{buildroot}%{_datadir}/applications/%{name}-tutorial.desktop

# Source5
install -D %{SOURCE5} %{buildroot}/etc/udev/rules.d/00-legousbtower.rules

# Source 6,7
install -D %{SOURCE6} %{buildroot}/etc/profile.d/%{name}.csh
install -D %{SOURCE7} %{buildroot}/etc/profile.d/%{name}.sh

# man pages
install -D %{SOURCE11} %{buildroot}/%{_mandir}/man1/%{name}.1.gz
install -D %{SOURCE12} %{buildroot}/%{_mandir}/man1/%{name}jc.1.gz
install -D %{SOURCE13} %{buildroot}/%{_mandir}/man1/%{name}link.1.gz
install -D %{SOURCE14} %{buildroot}/%{_mandir}/man1/%{name}dl.1.gz
install -D %{SOURCE15} %{buildroot}/%{_mandir}/man1/%{name}firmdl.1.gz

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(755,root,root,0755)
%{prefix}/bin/lejos*
%{prefix}/%{_lib}/lib*
%defattr(644,root,root,0755)
%dir %{LEJOS_HOME}
%dir %{LEJOS_HOME}/3rdparty
%dir %{LEJOS_HOME}/3rdparty/lib
%{LEJOS_HOME}/3rdparty/lib/*.jar
%dir %{LEJOS_HOME}/lib
%{LEJOS_HOME}/lib/*.jar
%{LEJOS_HOME}/docs
%{LEJOS_HOME}/bin
%{_mandir}/man1/*.1.gz
%{_datadir}/applications/%{name}-tutorial.desktop
%dir /etc/udev
%dir /etc/udev/rules.d
%config /etc/udev/rules.d/00-legousbtower.rules
%config /etc/profile.d/%{name}.*
%doc README.html RELEASENOTES

%files javadoc
%defattr(644,root,root,0755)
%{LEJOS_HOME}/lib/*-javadoc.zip

%files devel
%defattr(644,root,root,0755)
%{LEJOS_HOME}/lib/*-src.zip
%{prefix}/include/libirtrcx
%{prefix}/include/libjirtrcx

%changelog
openSUSE Build Service is sponsored by