%global git_commit 58c69c9 %global cluster wmeissner Name: jaffl Version: 0.5.4 Release: 4%{?dist} Summary: Java Abstracted Foreign Function Layer Group: System Environment/Libraries License: LGPLv3 URL: http://github.com/%{cluster}/%{name} Source0: %{url}/tarball/%{version}/%{cluster}-%{name}-%{git_commit}.tar.gz Patch0: jaffl_fix_jar_dependencies.patch # invokedynamic is a Java 7 feature and the method # which needs it is only defined and not used Patch1: jaffl_remove_invokedynamic.patch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: ant BuildRequires: ant-nodeps BuildRequires: jffi BuildRequires: jnr-x86asm BuildRequires: objectweb-asm Requires: java Requires: jpackage-utils Requires: jffi Requires: jnr-x86asm Requires: objectweb-asm BuildArch: noarch %description An abstracted interface to invoking native functions from java %package javadoc Summary: Javadocs for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} Requires: jpackage-utils %description javadoc This package contains the API documentation for %{name}. %prep %setup -q -n %{cluster}-%{name}-%{git_commit} %patch0 -p0 %patch1 -p0 # remove all builtin jars find -name '*.jar' -o -name '*.class' -exec rm -f '{}' \; # remove tests/junit dependency rm -rf test/ mkdir build_lib build-jar-repository -s -p build_lib jffi jnr-x86asm objectweb-asm/asm \ objectweb-asm/analysis objectweb-asm/commons \ objectweb-asm/tree objectweb-asm/util objectweb-asm/xml %build ant %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_javadir} mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp dist/%{name}-0.5.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar ln -s %{_javadir}/%{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar cp -rp dist/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{_javadocdir}/%{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # pom %add_to_maven_depmap org.jruby.extras %{name} %{version} JPP %{name} mkdir -p $RPM_BUILD_ROOT%{_mavenpomdir} cp pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-jaffl.pom %post %update_maven_depmap %postun %update_maven_depmap %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %{_javadir}/%{name}-%{version}.jar %{_javadir}/%{name}.jar %{_mavendepmapfragdir}/%{name} %{_mavenpomdir}/* %doc LICENSE %files javadoc %defattr(-,root,root,-) %{_javadocdir}/%{name} %{_javadocdir}/%{name}-%{version} %changelog * Fri Oct 29 2010 Mohammed Morsi <mmorsi@redhat.com> - 0.5.4-4 - license fix, include pom.xml, install javadocs correctly * Tue Oct 26 2010 Mohammed Morsi <mmorsi@redhat.com> - 0.5.4-3 - change to patch0 to remove class-path-in-manifest rpmlint error * Thu Sep 16 2010 MatÄj Cepl <mcepl@redhat.com> - 0.5.4-2 - Make the package noarch * Thu Sep 09 2010 <mmorsi@redhat.com> - 0.5.4-1 - bumped version to 0.5.4 - added jaffl_remove_invokedynamic.patch * Thu Jan 28 2009 <mmorsi@redhat.com> - 0.3.4-1 - Initial build.