Name: gluegen Version: 1 Release: 0.20102509svn17%{?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. #We are removing dynamic-linker.h due to license issues (AT&T) #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 #rm make/stub_includes/unix/dynamic-linker.h #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 Patch3: build-ppc.patch Patch4: fix-antlr-classpath.patch Patch5: build-s390.patch Patch6: gluegen-1.0-armv6l.patch BuildRequires: java-devel >= 1:1.6.0 BuildRequires: ant-antlr BuildRequires: cpptasks BuildRequires: jpackage-utils Requires: java-headless >= 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 %patch3 -p1 -b .build-ppc.patch %patch4 -b .fix-antlr-classpath.patch %patch5 -p1 -b .build-s390.patch %patch6 -p0 -b .arm #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 -rf ../%{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 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}%{_libdir}/%{name}/gluegen-%{version}.jar install -D build/gluegen-rt.jar %{buildroot}%{_libdir}/%{name}/gluegen-rt-%{version}.jar install -D build/obj/libgluegen-rt.so %{buildroot}%{_libdir}/%{name}/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} %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc LICENSE.txt #%{_javadir}/%{name}/*.jar %{_libdir}/%{name}/*.jar %{_libdir}/%{name}/libgluegen-rt.so %files source %defattr(-, root, root, -) %doc LICENSE.txt %{gluegen_source_dir} %files manual %defattr(-, root, root, -) %doc doc/manual/* %changelog * Sat Aug 16 2014 Fedora Release Engineering - 1-0.20102509svn17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 1-0.20102508svn17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Fri Feb 21 2014 Jon Ciesla - 1-0.20102505svn17 - Change Requires to java-headless, BZ 1068108. - Fix bad changelog dates. * Tue Aug 27 2013 Jon Ciesla - 1-0.20102505svn16 - Fix doc packaging, BZ 1001260. * Sat Aug 03 2013 Fedora Release Engineering - 1-0.20102507svn15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Wed Feb 13 2013 Fedora Release Engineering - 1-0.20102506svn15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Mon Sep 17 2012 Jon Ciesla - 1-0.20102505svn15 - Fix FTBFS on ARM. * Thu Jul 19 2012 Fedora Release Engineering - 1-0.20102505svn14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Fri Jan 13 2012 Fedora Release Engineering - 1-0.20102504svn14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Mon Dec 19 2011 Dan HorĂ¡k 1-0.20102503svn14 - add support for s390(x) * Wed Mar 23 2011 Alexander Kurtakov 1-0.20102503svn13 - Fix FTBFS. * Tue Feb 08 2011 Fedora Release Engineering - 1-0.20102503svn12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Dec 06 2010 Jon Ciesla - 1-0.20102502svn12 - Fix FTBFS, rm has no -d option. * Fri Apr 23 2010 Henrique Junior - 1-0.20102502svn11 - A minor fix in the .spec file that puts all files in the right place * Fri Apr 23 2010 Henrique Junior - 1-0.20102502svn10 - Fixing PPC build error * Fri Apr 23 2010 Henrique Junior - 1-0.20102502svn9 - Removing dynamic-linker.h to avoid AT&T license * 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 * Mon 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