From 4456d09bde39bace70e2363c446ca9db7595e65e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 21 Sep 2007 17:44:24 +0000 Subject: [PATCH] initial sdljava import --- .cvsignore | 1 + sdljava-0.9.1-regen.patch | 131 +++++++++++++++++++++++ sdljava-runtest.sh | 21 ++++ sdljava.spec | 220 ++++++++++++++++++++++++++++++++++++++ sources | 1 + 5 files changed, 374 insertions(+) create mode 100644 sdljava-0.9.1-regen.patch create mode 100644 sdljava-runtest.sh create mode 100644 sdljava.spec diff --git a/.cvsignore b/.cvsignore index e69de29..531743e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +sdljava-0.9.1.tar.gz diff --git a/sdljava-0.9.1-regen.patch b/sdljava-0.9.1-regen.patch new file mode 100644 index 0000000..36b832f --- /dev/null +++ b/sdljava-0.9.1-regen.patch @@ -0,0 +1,131 @@ +diff -up sdljava-0.9.1/etc/build/linux/Makefile.regen sdljava-0.9.1/etc/build/linux/Makefile +--- sdljava-0.9.1/etc/build/linux/Makefile.regen 2005-02-20 23:19:13.000000000 +0100 ++++ sdljava-0.9.1/etc/build/linux/Makefile 2007-09-07 12:17:40.000000000 +0200 +@@ -4,7 +4,7 @@ CC = gcc + + CFLAGS=-O3 + +-INCLUDE=-I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/include -I/usr/include/SDL -I/usr/local/include -I/usr/local/include/SDL ++INCLUDE=-I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/include -I/usr/include/SDL -I@GCC_INCLUDE_PATH@ -D__NO_CTYPE -D_ISbit + + SDLJAVA_I=SDLAudio.i\ + SDLCdrom.i\ +@@ -46,35 +46,35 @@ gfx: libsdljava_gfx.so + # + # NOTE: if you want to work on the sdljava native layer please un-comment these lines + # +-#SDLAudio_wrap.c: SDLAudio.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLAudio.i +-# +-#SDLCdrom_wrap.c: SDLCdrom.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLCdrom.i +-# +-#SDLEvent_wrap.c: SDLEvent.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLEvent.i +-# +-#SDLGFX_wrap.c: SDLGFX.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLGFX.i +-# +-#SDLImage_wrap.c: SDLImage.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLImage.i +-# +-#SDLJoystick_wrap.c: SDLJoystick.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLJoystick.i +-# +-#SDLMain_wrap.c: SDLMain.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLMain.i +-# +-#SDLMixer_wrap.c: SDLMixer.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLMixer.i +-# +-#SDLTTF_wrap.c: SDLTTF.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLTTF.i +-# +-#SDLVideo_wrap.c: SDLVideo.i common.i +-# $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLVideo.i ++SDLAudio_wrap.c: SDLAudio.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLAudio.i ++ ++SDLCdrom_wrap.c: SDLCdrom.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLCdrom.i ++ ++SDLEvent_wrap.c: SDLEvent.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLEvent.i ++ ++SDLGFX_wrap.c: SDLGFX.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLGFX.i ++ ++SDLImage_wrap.c: SDLImage.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLImage.i ++ ++SDLJoystick_wrap.c: SDLJoystick.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLJoystick.i ++ ++SDLMain_wrap.c: SDLMain.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLMain.i ++ ++SDLMixer_wrap.c: SDLMixer.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLMixer.i ++ ++SDLTTF_wrap.c: SDLTTF.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLTTF.i ++ ++SDLVideo_wrap.c: SDLVideo.i common.i ++ $(SWIG) $(INCLUDE) -importall -java -package sdljava.x.swig -outdir ../x/swig SDLVideo.i + + %.o: %.c + $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ +diff -up sdljava-0.9.1/etc/build/gljava/linux/Makefile.regen sdljava-0.9.1/etc/build/gljava/linux/Makefile +--- sdljava-0.9.1/etc/build/gljava/linux/Makefile.regen 2005-02-20 23:19:13.000000000 +0100 ++++ sdljava-0.9.1/etc/build/gljava/linux/Makefile 2007-09-07 12:17:40.000000000 +0200 +@@ -4,12 +4,12 @@ CC = gcc + + CFLAGS=-O3 + +-INCLUDE=-I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/include -I/usr/local/include ++INCLUDE=-I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/include -I@GCC_INCLUDE_PATH@ + + GLJAVA_I=glew.i + + GLJAVA_OBJ=glew_wrap.o +-GLJAVA_LIB=-lGLEW ++GLJAVA_LIB=-lGLEW -lGLU + + all: libgljava.so + +@@ -17,8 +17,8 @@ all: libgljava.so + # + # NOTE: if you want to work on the gljava native layer please un-comment the following line + # +-#glew_wrap.c: glew.i gljava_common_typemaps.i opengl-1_1.i +-# $(SWIG) $(INCLUDE) -importall -java -package org.gljava.opengl.x.swig -outdir ../../../../org/gljava/opengl/x/swig glew.i ++glew_wrap.c: glew.i gljava_common_typemaps.i opengl-1_1.i ++ $(SWIG) $(INCLUDE) -importall -java -package org.gljava.opengl.x.swig -outdir ../../../../org/gljava/opengl/x/swig glew.i + + %.o: %.c + $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ +diff -up sdljava-0.9.1/etc/build/gljava/linux/ftgl/Makefile.regen sdljava-0.9.1/etc/build/gljava/linux/ftgl/Makefile +--- sdljava-0.9.1/etc/build/gljava/linux/ftgl/Makefile.regen 2005-02-20 23:19:13.000000000 +0100 ++++ sdljava-0.9.1/etc/build/gljava/linux/ftgl/Makefile 2007-09-07 12:17:40.000000000 +0200 +@@ -4,7 +4,7 @@ CC = gcc + + CFLAGS=-O3 + +-INCLUDE=-I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/include -I/usr/local/include -I/usr/include/freetype2 -I/usr/include/FTGL ++INCLUDE=-I. -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/include -I@GCC_INCLUDE_PATH@ -I/usr/include/freetype2 -I/usr/include/FTGL + + FTGLJAVA_OBJ=FTGL_wrap.o + FTGLJAVA_LIB=-lGLU -lGL -lfreetype -lz -lftgl +@@ -15,9 +15,9 @@ all: libftgljava.so + # + # NOTE: if you want to work on the ftgljava native layer please un-comment the following line + # +-#FTGL_wrap.cxx: FTGL.i FTFont.i FTFace.i FTGLBitmapFont.i FTGLExtrdFont.i FTGLOutlineFont.i FTGLPixmapFont.i FTGLPolygonFont.i FTGLTextureFont.i +-# $(SWIG) -Wall -c++ $(INCLUDE) -importall -java -package org.gljava.opengl.ftgl -outdir ../../../../../org/gljava/opengl/ftgl FTGL.i +-# ./post-process.rb ++FTGL_wrap.cxx: FTGL.i FTFont.i FTFace.i FTGLBitmapFont.i FTGLExtrdFont.i FTGLOutlineFont.i FTGLPixmapFont.i FTGLPolygonFont.i FTGLTextureFont.i ++ $(SWIG) -Wall -c++ $(INCLUDE) -importall -java -package org.gljava.opengl.ftgl -outdir ../../../../../org/gljava/opengl/ftgl FTGL.i ++ ./post-process.rb + + %.o: %.cxx + $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ diff --git a/sdljava-runtest.sh b/sdljava-runtest.sh new file mode 100644 index 0000000..3e9d95f --- /dev/null +++ b/sdljava-runtest.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# source the jpackage helpers +VERBOSE=1 +. /usr/share/java-utils/java-functions + +# set JAVA_* environment variables +set_javacmd +check_java_env +set_jvm_dirs + +CLASSPATH=`build-classpath sdljava` +MAIN_CLASS="$1" +if [ -x /usr/lib64/sdljava/libsdljava.so ]; then + set_options "-Djava.library.path="/usr/lib64/sdljava"" +else + set_options "-Djava.library.path="/usr/lib/sdljava"" +fi + +shift +run "$@" diff --git a/sdljava.spec b/sdljava.spec new file mode 100644 index 0000000..0a2eb48 --- /dev/null +++ b/sdljava.spec @@ -0,0 +1,220 @@ +# Copyright (c) 2007 oc2pus +# Copyright (c) 2007 Hans de Goede +# 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: 5%{?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 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: ftgl-devel glew-devel SDL-devel SDL_gfx-devel SDL_image-devel +BuildRequires: SDL_mixer-devel SDL_ttf-devel java-devel java-gcj-compat-devel +BuildRequires: ant xml-commons-apis swig bsh jdom +# Build fails on fedora 8 test 2 when not using icedtea :( Note it runs fine +# with gcj (bug 297961). +BuildRequires: java-1.7.0-icedtea-devel +# icedtea is i386 and x86_64 +ExclusiveArch: %{ix86} x86_64 +Requires: bsh jdom +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + +%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 +Requires: %{name} = %{version}-%{release} + +%description javadoc +Javadoc for %{name}. + + +%package demo +Summary: Some examples for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: /usr/share/fonts/dejavu/DejaVuSans.ttf +Requires: jpackage-utils + +%description demo +Demonstrations and samples for %{name}. + + +%prep +%setup -q +%patch0 -p1 -z .regen +iconv -f ISO_8859-2 -t UTF8 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 +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 +rm -rf $RPM_BUILD_ROOT + +# 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} +mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} + +# jars +install -m 644 lib/%{name}.jar \ + $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar +ln -s %{name}-%{version}.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} +ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} + +# 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 + +%{_bindir}/aot-compile-rpm + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post +/sbin/ldconfig +if [ -x %{_bindir}/rebuild-gcj-db ]; then + %{_bindir}/rebuild-gcj-db +fi + +%postun +/sbin/ldconfig +if [ -x %{_bindir}/rebuild-gcj-db ]; then + %{_bindir}/rebuild-gcj-db +fi + +%post javadoc +rm -f %{_javadocdir}/%{name} +ln -s %{name}-%{version} %{_javadocdir}/%{name} + + +%files +%defattr(-,root,root,-) +%doc README TODO docs/CHANGES_0_9_1 +%{_javadir}/%{name}*.jar +%{_libdir}/%{name} +%{_libdir}/gcj/%{name} + +%files javadoc +%defattr(-,root,root,-) +%doc %{_javadocdir}/%{name}-%{version} +%ghost %doc %{_javadocdir}/%{name} + +%files demo +%defattr(-,root,root,-) +%{_bindir}/%{name}-*.sh +%{_datadir}/%{name}/testdata + + +%changelog +* Thu Sep 20 2007 Hans de Goede 0.9.1-5 +- BuildRequire icedtea as building with gcj fails (bug 297961) + +* Wed Sep 19 2007 Hans de Goede 0.9.1-4 +- Make all doc files UTF-8 + +* Mon Sep 17 2007 Hans de Goede 0.9.1-3 +- Fix determination of gcc include path + +* Tue Sep 11 2007 Hans de Goede 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 0.9.1-1 +- Adapted Packman spec file for Fedora + +* Mon Jun 18 2007 Toni Graffy - 0.9.1-0.pm.2 +- rebuild with glew-1.3.6 + +* Sat Jun 16 2007 Toni Graffy - 0.9.1-0.pm.1 +- initial build 0.9.1 +- repacked as tar.bz2 diff --git a/sources b/sources index e69de29..d38e038 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +d4bf1f77e93cd7d728479ad9d73d59e6 sdljava-0.9.1.tar.gz