Name: gluegen Version: 1 Release: 0.20102502svn8%{?dist} Summary: Java/JNI glue code generator to call out to ANSI C Group: Development/Libraries License: BSD and APSL 2.0 URL: https://gluegen.dev.java.net/ # The source for this package was pulled from upstream's vcs. Use the # following commands to generate the tarball: #svn checkout https://gluegen.dev.java.net/svn/gluegen/tags/1.0b06a \ #gluegen --username login #cd gluegen && find -name '.svn' | xargs rm -rf #tar -zcvf gluegen-1.0.20102502svn.tar.gz gluegen Source0: gluegen-1.0.20102502svn.tar.gz Patch0: antlr-properties.patch Patch1: no-solaris.patch Patch2: debug-on.patch BuildRequires: java-devel >= 1:1.6.0 BuildRequires: ant-antlr BuildRequires: cpptasks BuildRequires: jpackage-utils Requires: java >= 1:1.6.0 Requires: jpackage-utils Requires: antlr %description GlueGen is a tool which automatically generates the Java and JNI code necessary to call C libraries. It reads as input ANSI C header files and separate configuration files which provide control over many aspects of the glue code generation. GlueGen uses a complete ANSI C parser and an internal representation (IR) capable of representing all C types to represent the APIs for which it generates interfaces. %package source Summary: GlueGen source code required to build JOGL Group: Development/Libraries BuildArch: noarch %description source GlueGen source code required to build JOGL %package manual Summary: GlueGen's user manual Group: Development/Libraries BuildArch: noarch %description manual GlueGen's user manual %prep %setup -q -n %{name} %patch0 -p1 -b .antlr-properties.patch %patch1 -p1 -b .no-solaris.patch %patch2 -p1 -b .debug-on.patch #Remove bundled .jar find -name "*.jar" -type f -exec rm {} \; #Remove hardcoded classpath sed -i -e 's|Class-Path: antlr.jar||' make/Manifest #Preserve the source code to generate gluegen-source cp -rdf ../%{name} ../%{name}-source rm -rdf ../%{name}-source/{doc,www,LICENSE.txt,gluegen} #Solve script-without-shebang chmod 644 ../%{name}-source/src/java/net/highteq/nativetaglet/NativeTaglet.java chmod 644 ../%{name}-source/make/dynlink-unix-CustomJavaCode.java chmod 644 ../%{name}-source/make/build.xml chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/BufferFactory.java.javame_cdc_fp chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/StructAccessor.java.javame_cdc_fp chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/UnixDynamicLinkerImpl.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/opengl/GLJavaMethodBindingEmitter.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/procaddress/ProcAddressCMethodBindingEmitter.java chmod 644 ../%{name}-source/make/gluegen.properties.antlr-properties.patch chmod 644 ../%{name}-source/make/validate-properties.xml chmod 644 ../%{name}-source/make/dynlink-windows-CustomJavaCode.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/BufferFactory.java.javase chmod 644 ../%{name}-source/src/java/com/sun/gluegen/procaddress/ProcAddressConfiguration.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/procaddress/ProcAddressEmitter.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/DynamicLookupHelper.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/NativeLibLoader.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/DynamicLinker.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/BufferFactoryInternal.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/opengl/GLConfiguration.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/StructAccessor.java.javase chmod 644 ../%{name}-source/make/Manifest chmod 644 ../%{name}-source/make/dynlink-unix.cfg chmod 644 ../%{name}-source/make/gluegen.properties chmod 644 ../%{name}-source/make/dynlink-macosx.cfg chmod 644 ../%{name}-source/make/gluegen-cpptasks.xml chmod 644 ../%{name}-source/src/java/com/sun/gluegen/nativesig/NativeSignatureEmitter.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/MacOSXDynamicLinkerImpl.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/nativesig/NativeSignatureJavaMethodBindingEmitter.java chmod 644 ../%{name}-source/make/lib/cpptasks-version.txt chmod 644 ../%{name}-source/make/dynlink-windows.cfg chmod 644 ../%{name}-source/make/gluegen-cpptasks.xml.no-solaris.patch chmod 644 ../%{name}-source/src/java/com/sun/gluegen/procaddress/ProcAddressJavaMethodBindingEmitter.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/CPU.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/pcpp/ConcatenatingReader.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/cgram/types/SizeThunk.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/WindowsDynamicLinkerImpl.java chmod 644 ../%{name}-source/src/java/com/sun/gluegen/runtime/NativeLibrary.java chmod 644 ../%{name}-source/make/build.xml.debug-on.patch #Solve the spurious-executable-perm chmod 644 LICENSE.txt chmod 644 doc/manual/index.html chmod 644 src/native/unix/UnixDynamicLinkerImpl_JNI.c # dynamic-linker.h have this strange AT&T license rm ../%{name}-source/make/stub_includes/unix/dynamic-linker.h chmod 644 ../%{name}-source/src/native/windows/WindowsDynamicLinkerImpl_JNI.c chmod 644 ../%{name}-source/src/native/unix/UnixDynamicLinkerImpl_JNI.c chmod 644 ../%{name}-source/make/stub_includes/windows/dynamic-linker.h chmod 644 ../%{name}-source/make/stub_includes/macosx/dynamic-linker.h chmod 644 ../%{name}-source/src/native/macosx/MacOSXDynamicLinkerImpl_JNI.c %if 0 #Wip - Try to get rid of the internal cpptasks sed -i -e 's|${gluegen.root}/make/lib/cpptasks.jar|%{_javadir}/cpptasks.jar|' make/gluegen-cpptasks.xml sed -i -e 's/gluegen.cpptasks/cpptasks/g' make/build.xml make/gluegen-cpptasks.xml sed -i -e 's|cpptasks.xml|gluegen-cpptasks.xml|' make/build.xml %endif %build cd make ant \ -Dantlr.jar=$(build-classpath antlr) %install rm -rf %{buildroot} mkdir -p %{buildroot}/%{_javadir}/%{name} install -D build/gluegen.jar %{buildroot}%{_javadir}/%{name}/gluegen-%{version}.jar install -D build/gluegen-rt.jar %{buildroot}%{_javadir}/%{name}/gluegen-rt-%{version}.jar install -D build/obj/libgluegen-rt.so %{buildroot}%{_libdir}/java/libgluegen-rt.so # Make the source package. This package is essencial to build JOGL %define gluegen_source_dir %{_datadir}/gluegen-source %define inst_srcdir %{buildroot}/%{gluegen_source_dir} mkdir -p %{inst_srcdir}/%{name} cp -rdf ../%{name}-source/{make,src} %{inst_srcdir}/%{name} # Make the manual package mkdir -p %{buildroot}/%{_docdir}/%{name} cp -rdf doc/manual/* %{buildroot}/%{_docdir}/%{name} %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc LICENSE.txt %{_javadir}/%{name}/*.jar %{_libdir}/java/libgluegen-rt.so %files source %defattr(-, root, root, -) %doc LICENSE.txt %{gluegen_source_dir} %files manual %defattr(-, root, root, -) %{_docdir}/%{name}/* %changelog * Fri Apr 23 2010 Henrique Junior - 1-0.20102502svn8 - License fixes. doc added to gluegen-source * Tue Apr 6 2010 Henrique Junior - 1-0.20102502svn7 - License fixes. doc added to gluegen-source * Fri Apr 2 2010 Henrique Junior - 1.0.20102502svn-6 - Changed permission in gluegen-source to 644, jogl now will "cp" the source - Fixed the debuginfo issue by creating debug-on.patch * Thu Apr 1 2010 Henrique Junior - 1.0.20102502svn-5 - Removing the .svn files and directories from tarball - Making the manual package - Solve permission issues * Tue Mar 9 2010 Henrique Junior - 1.0.20102502svn-4 - Fixing some url issues and changing directories to guideline * Tue Mar 9 2010 Henrique Junior - 1.0.20102502svn-3 - Now, making gluegen-source for JOGL * Thu Feb 22 2010 Henrique Junior - 1.0.20102502svn-2 - Change to SVN version - Some refinements to .spec * Sun Feb 21 2010 Henrique Junior - 1.1.1-1 - Initial package with inspiration on Kwizart's spec - Gluegen and JOGL came from the same source (repackaged) - antlr-properties.patch points to the right location in Fedora - no-solaris.patch looks the "no sun cc" crash