Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 53e6410aa56b7b92bec064ba7edbcbe0 > files > 6

sdljava-0.9.1-22.fc18.src.rpm

# Copyright (c) 2007 oc2pus <toni@links2linux.de>
# Copyright (c) 2007 Hans de Goede <j.w.r.degoede@hhs.nl>
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments to us at the above email addresses

Name:           sdljava
Version:        0.9.1
Release:        22%{?dist}
Summary:        Java binding to the SDL API
Group:          System Environment/Libraries
License:        LGPLv2+
Url:            http://sdljava.sourceforge.net/
# this is http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
# with the included Microsoft Copyrighted Arial fonts removed
Source0:        %{name}-%{version}.tar.gz
Source1:        %{name}-runtest.sh
Patch0:         sdljava-0.9.1-regen.patch
Patch1:         sdljava-0.9.1-ftgl213.patch
Patch2:         sdljava-0.9.1-ruby19.patch
BuildRequires:  ftgl-devel glew-devel SDL-devel SDL_gfx-devel SDL_image-devel
BuildRequires:  SDL_mixer-devel SDL_ttf-devel java-devel jpackage-utils
BuildRequires:  java-javadoc ant xml-commons-apis swig bsh jdom ruby
Requires:       bsh jdom

%description
sdljava is a Java binding to the SDL API being developed by Ivan Ganza.

sdljava provides the ability to write games and other applications
from the java programming language. sdljava is designed to be fast,
efficient and easy to use.


%package javadoc
Summary:        Javadoc for %{name}
Group:          Development/Libraries
BuildArch:      noarch
Requires:       %{name} = %{version}-%{release}

%description javadoc
Javadoc for %{name}.


%package demo
Summary:        Some examples for %{name}
Group:          Development/Libraries
BuildArch:      noarch
Requires:       %{name} = %{version}-%{release}
Requires:       /usr/share/fonts/dejavu/DejaVuSans.ttf
Requires:       /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
Requires:       /usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf
Requires:       /usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf
Requires:       java jpackage-utils

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


%prep
%setup -q
%patch0 -p1 -z .regen
%patch1 -p1
%patch2 -p1
# Newer ftgl no longer exports the FTFace class
rm src/org/gljava/opengl/ftgl/FTFace.java
iconv -f ISO_8859-2 -t UTF8 docs/CHANGES_0_9_1 > docs/CHANGES_0_9_1.tmp
touch -r docs/CHANGES_0_9_1 docs/CHANGES_0_9_1.tmp
mv docs/CHANGES_0_9_1.tmp docs/CHANGES_0_9_1

# patch in gcc include path so that swig can find it
GCC_PATH=`gcc -print-search-dirs | grep install | cut -f 2 -d " "`
sed -i "s#@GCC_INCLUDE_PATH@#$GCC_PATH/include#g" \
  etc/build/linux/Makefile \
  etc/build/gljava/linux/Makefile \
  etc/build/gljava/linux/ftgl/Makefile

# adjust testdata path in demos
find ./testsrc -name '*.java' | xargs sed -i \
  -e 's|testdata|%{_datadir}/%{name}/testdata|g'

# use system versions of bsh & jdom
pushd lib
rm *.jar
ln -s /usr/share/java/jdom.jar .
ln -s /usr/share/java/bsh.jar .
popd

# copy the Linux Makefiles into place
cp etc/build/linux/Makefile src/sdljava/native
cp etc/build/gljava/linux/Makefile src/org/gljava/opengl/native
cp etc/build/gljava/linux/ftgl/Makefile src/org/gljava/opengl/native/ftgl

# and remove the swig generated code so that it gets regenerated
rm src/sdljava/native/SDL*_wrap.c src/sdljava/native/SDL_types.h
rm src/org/gljava/opengl/native/glew_wrap.c


%build
# We must add -D__%{_arch}__ to swigs arguments as swig doesn't do that itself.
# Special case ppc as the define is powerpc not ppc and both ppc and ppc64
# must be set for ppc64, also add -D__LONG_DOUBLE_128__ which works around
# swig barfing on bits/stdlib-ldbl.h
%ifarch ppc
export ARCH_DEFINE="-D__powerpc__ -D__LONG_DOUBLE_128__"
%endif
%ifarch ppc64
export ARCH_DEFINE="-D__powerpc__ -D__powerpc64__ -D__LONG_DOUBLE_128__"
%endif
# special case ix86 as all of ix86 should define __i386__
%ifarch %{ix86}
export ARCH_DEFINE="-D__i386__"
%endif
# arm also needs a bunch of special defines
%ifarch %{arm}
export ARCH_DEFINE="-D__arm__ -D__ARMEL__ -D__ARM_EABI__"
%ifnarch armv5tel
export ARCH_DEFINE="$ARCH_DEFINE -D__ARM_PCS_VFP"
%endif
%endif
# All other archs
if [ -z "$ARCH_DEFINE" ]; then
  export ARCH_DEFINE="-D__%{_arch}__"
fi

export JAVA_HOME=/usr/lib/jvm/java

pushd src/sdljava/native
make CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC"
make libsdljava_gfx.so CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC"
popd

pushd src/org/gljava/opengl/native
make CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC"
popd

pushd src/org/gljava/opengl/native/ftgl
make CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC"
popd

ant jar javadoc


%install
# dirs
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
mkdir -p $RPM_BUILD_ROOT%{_javadir}
# should be just %{_javadocdir}/%{name} but that is a ghosted symlink in older
# versions and rpm does not grok replacing that with a dir
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}

# jars
install -m 644 lib/%{name}.jar \
  $RPM_BUILD_ROOT%{_javadir}/%{name}.jar

# native libraries
install -m 755 lib/*.so $RPM_BUILD_ROOT%{_libdir}/%{name}

# javadoc
cp -pr docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}

# demo scripts
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}
pushd bin
rm runtest.sh
for i in `ls -1 *.sh`; do
   sed -i -e 's|./runtest.sh|%{_bindir}/%{name}-runtest.sh|g' $i
   FN=`echo $i | awk 'BEGIN { FS="." }{ print $1 }'`
   install -m 755 $i $RPM_BUILD_ROOT%{_bindir}/%{name}-$FN.sh
done
popd

#test data
cp -a testdata $RPM_BUILD_ROOT%{_datadir}/%{name}
ln -s ../../fonts/dejavu/DejaVuSans.ttf \
  $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arial.ttf
ln -s ../../fonts/dejavu/DejaVuSans-Bold.ttf \
  $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arialbd.ttf
ln -s ../../fonts/dejavu/DejaVuSans-Oblique.ttf \
  $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/ariali.ttf
ln -s ../../fonts/dejavu/DejaVuSans-BoldOblique.ttf \
  $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arialbi.ttf


%files
%defattr(-,root,root,-)
%doc README TODO docs/CHANGES_0_9_1
%{_javadir}/%{name}.jar
%{_libdir}/%{name}

%files javadoc
%defattr(-,root,root,-)
%doc %{_javadocdir}/%{name}-%{version}

%files demo
%defattr(-,root,root,-)
%{_bindir}/%{name}-*.sh
%{_datadir}/%{name}


%changelog
* Sun Mar 24 2013 Hans de Goede <hdegoede@redhat.com> - 0.9.1-22
- Fix FTBFS on ARM (rhbz#893157)

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Thu Dec 13 2012 Adam Jackson <ajax@redhat.com> - 0.9.1-20
- Rebuild for glew 1.9.0

* Thu Jul 26 2012 Hans de Goede <hdegoede@redhat.com> - 0.9.1-19
- Fix building with ruby 1.9
- Rebuilt for new GLEW

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Thu Jul 14 2011 Hans de Goede <hdegoede@redhat.com> - 0.9.1-16
- Rebuild for new SDL_gfx
- Drop gcj aot bits, Fedora has not been using these for a long long time
- Update to match latest java packaging guidelines

* Mon Jun 20 2011 ajax@redhat.com - 0.9.1-15
- Rebuild for new glew soname

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri May 22 2009 Hans de Goede <hdegoede@redhat.com> 0.9.1-12
- Rebuild for new ftgl (#501323)

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Dec  8 2008 Hans de Goede <hdegoede@redhat.com> 0.9.1-10
- Fixed unowned /usr/share/sdljava dir in the -demo package (bz 474604)

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.9.1-9
- Autorebuild for GCC 4.3

* Tue Jan 22 2008 Hans de Goede <j.w.r.degoede@hhs.nl> 0.9.1-8
- Rebuild for new glew

* Sun Dec  9 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 0.9.1-7
- And the dejavu-fonts fontfile names changed back again (what fun)
- The gcj bug causing us to not compile has been fixed, use gcj again
  and drop ExclusiveArch
- There is no reason for us to run ldconfig!
- Sigh we must now define __arch__ ourself as the newer swig doesn't

* Tue Nov 20 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 0.9.1-6
- Adjust font symlinks in sdljava-demo package for fontfile name changes in
  dejavu-fonts (bz 388861)

* Thu Sep 20 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 0.9.1-5
- BuildRequire icedtea as building with gcj fails (bug 297961)

* Wed Sep 19 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 0.9.1-4
- Make all doc files UTF-8

* Mon Sep 17 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 0.9.1-3
- Fix determination of gcc include path

* Tue Sep 11 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 0.9.1-2
- Dynamically determine gcc include path instead of hardcoding it, so that
  sdljava will build on other setups then devel-x86_64 too (oops).

* Sat Sep  8 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 0.9.1-1
- Adapted Packman spec file for Fedora

* Mon Jun 18 2007 Toni Graffy <toni@links2linux.de> - 0.9.1-0.pm.2
- rebuild with glew-1.3.6

* Sat Jun 16 2007 Toni Graffy <toni@links2linux.de> - 0.9.1-0.pm.1
- initial build 0.9.1
- repacked as tar.bz2