[jnr-ffi] initial import

Mohammed Morsi mmorsi at fedoraproject.org
Wed Aug 24 17:51:50 UTC 2011


commit e3d0c6d66cde5f5a79917eac1eeb5025f6d4df93
Author: Mo Morsi <mmorsi at redhat.com>
Date:   Wed Aug 24 13:51:29 2011 -0400

    initial import

 .gitignore                       |    1 +
 jaffl_fix_jar_dependencies.patch |   65 ++++++++++++++++++++++++
 jaffl_remove_invokedynamic.patch |   13 +++++
 jnr-ffi.spec                     |  101 ++++++++++++++++++++++++++++++++++++++
 sources                          |    1 +
 5 files changed, 181 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..b471d75 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jnr-jnr-ffi-0.5.10-0-g103ea1a.tar.gz
diff --git a/jaffl_fix_jar_dependencies.patch b/jaffl_fix_jar_dependencies.patch
new file mode 100644
index 0000000..0303543
--- /dev/null
+++ b/jaffl_fix_jar_dependencies.patch
@@ -0,0 +1,65 @@
+--- nbproject/project.properties.orig	2011-06-02 10:54:53.846447070 -0400
++++ nbproject/project.properties	2011-06-02 10:56:01.555446966 -0400
+@@ -20,13 +20,13 @@ dist.jar=${dist.dir}/jaffl-0.5.jar
+ dist.javadoc.dir=${dist.dir}/javadoc
+ endorsed.classpath=
+ excludes=
+-file.reference.asm-3.2.jar=lib/asm-3.2.jar
+-file.reference.asm-analysis-3.2.jar=lib/asm-analysis-3.2.jar
+-file.reference.asm-commons-3.2.jar=lib/asm-commons-3.2.jar
+-file.reference.asm-tree-3.2.jar=lib/asm-tree-3.2.jar
+-file.reference.asm-util-3.2.jar=lib/asm-util-3.2.jar
+-file.reference.asm-xml-3.2.jar=lib/asm-xml-3.2.jar
+-file.reference.jffi-complete.jar-1=../jffi/dist/jffi-complete.jar
++file.reference.asm-3.2.jar=build_lib/objectweb-asm_asm.jar
++file.reference.asm-analysis-3.2.jar=build_lib/objectweb-asm_analysisasm-analysis.jar
++file.reference.asm-commons-3.2.jar=build_lib/objectweb-asm_commonsasm.jar
++file.reference.asm-tree-3.2.jar=build_lib/objectweb-asm_treeasm.jar
++file.reference.asm-util-3.2.jar=build_lib/objectweb-asm_utilasm.jar
++file.reference.asm-xml-3.2.jar=build_lib/objectweb-asm_xmlasm-xml.jar
++file.reference.jffi-complete.jar=build_lib/jffi.jar
+ includes=**
+ jar.compress=true
+ javac.classpath=\
+@@ -70,8 +70,8 @@ meta.inf.dir=${src.dir}/META-INF
+ platform.active=default_platform
+ project.jffi=../jffi
+ project.jnr-x86asm=../jnr-x86asm
+-reference.jffi.jar=${project.jffi}/dist/jffi.jar
+-reference.jnr-x86asm.jar=${project.jnr-x86asm}/dist/jnr-x86asm.jar
++reference.jffi.jar=build_lib/jffi.jar
++reference.jnr-x86asm.jar=build_lib/jnr-x86asm.jar
+ run.classpath=\
+     ${javac.classpath}:\
+     ${build.classes.dir}
+--- nbproject/build-impl.xml.orig	2011-06-02 10:56:23.140445510 -0400
++++ nbproject/build-impl.xml	2011-06-02 10:57:10.325446988 -0400
+@@ -411,20 +411,6 @@ is divided into following sections:
+         <propertyfile file="${built-jar.properties}">
+             <entry key="${basedir}" value=""/>
+         </propertyfile>
+-        <antcall target="-maybe-call-dep">
+-            <param name="call.built.properties" value="${built-jar.properties}"/>
+-            <param location="${project.jffi}" name="call.subproject"/>
+-            <param location="${project.jffi}/build.xml" name="call.script"/>
+-            <param name="call.target" value="jar"/>
+-            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
+-        </antcall>
+-        <antcall target="-maybe-call-dep">
+-            <param name="call.built.properties" value="${built-jar.properties}"/>
+-            <param location="${project.jnr-x86asm}" name="call.subproject"/>
+-            <param location="${project.jnr-x86asm}/build.xml" name="call.script"/>
+-            <param name="call.target" value="jar"/>
+-            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
+-        </antcall>
+     </target>
+     <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
+     <target depends="init" name="-check-automatic-build">
+@@ -570,7 +556,6 @@ is divided into following sections:
+         <copylibs compress="${jar.compress}" jarfile="${dist.jar}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+             <fileset dir="${build.classes.dir}"/>
+             <manifest>
+-                <attribute name="Class-Path" value="${jar.classpath}"/>
+             </manifest>
+         </copylibs>
+     </target>
diff --git a/jaffl_remove_invokedynamic.patch b/jaffl_remove_invokedynamic.patch
new file mode 100644
index 0000000..bfc10f2
--- /dev/null
+++ b/jaffl_remove_invokedynamic.patch
@@ -0,0 +1,13 @@
+--- src/com/kenai/jaffl/provider/jffi/SkinnyMethodAdapter.java.orig	2010-09-09 15:05:35.000000000 -0400
++++ src/com/kenai/jaffl/provider/jffi/SkinnyMethodAdapter.java	2010-09-09 15:05:48.000000000 -0400
+@@ -190,10 +190,6 @@ public class SkinnyMethodAdapter impleme
+         getMethodVisitor().visitMethodInsn(INVOKEINTERFACE, p(recv), methodName, sig(returnType, parameterTypes));
+     }
+ 
+-    public void invokedynamic(String arg1, String arg2, String arg3) {
+-        getMethodVisitor().visitMethodInsn(INVOKEDYNAMIC, arg1, arg2, arg3);
+-    }
+-
+     public void aprintln() {
+         dup();
+         getstatic(p(System.class), "out", ci(PrintStream.class));
diff --git a/jnr-ffi.spec b/jnr-ffi.spec
new file mode 100644
index 0000000..78d57b3
--- /dev/null
+++ b/jnr-ffi.spec
@@ -0,0 +1,101 @@
+%global git_commit 103ea1a
+%global cluster jnr
+
+Name:     jnr-ffi
+Version:  0.5.10
+Release:  3%{?dist}
+Summary:  Java Abstracted Foreign Function Layer
+Group:    System Environment/Libraries
+License:  ASL 2.0 or LGPLv3+
+URL:      http://github.com/%{cluster}/%{name}
+Source0:  https://download.github.com/%{cluster}-%{name}-%{version}-0-g%{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: jffi
+BuildRequires: jnr-x86asm
+BuildRequires: objectweb-asm
+
+Requires:      java
+Requires:      jpackage-utils
+Requires:      jffi
+Requires:      jnr-x86asm
+Requires:      objectweb-asm
+BuildArch:     noarch
+
+Obsoletes: jaffl < %{version}-%{release}
+Provides:  jaffl = %{version}-%{release}
+
+%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
+mkdir -p $RPM_BUILD_ROOT%{_javadir}
+mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}
+
+cp dist/jaffl-0.5.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
+ln -s %{_javadir}/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/jaffl.jar
+
+cp -rp dist/javadoc/* $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-jnr-ffi.pom
+
+#%add_maven_depmap JPP-jnr-ffi.pom jnr-ffi.jar
+
+
+%files
+%{_javadir}/jaffl.jar
+%{_javadir}/%{name}.jar
+%{_mavendepmapfragdir}/%{name}
+%{_mavenpomdir}/*
+%doc LICENSE
+
+%files javadoc
+%{_javadocdir}/%{name}
+
+%changelog
+* Tue Aug 23 2011 Mo Morsi <mmorsi at redhat.com> - 0.5.10-3
+- more updates to conform to fedora guidelines
+
+* Wed Aug 10 2011 Mo Morsi <mmorsi at redhat.com> - 0.5.10-2
+- updated to conform to fedora guidelines
+
+* Tue Aug 02 2011 Mo Morsi <mmorsi at redhat.com> - 0.5.10-1
+- initial package
diff --git a/sources b/sources
index e69de29..1b7169b 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+17e50ad9a5ae2d63f5a7f2bdef495b13  jnr-jnr-ffi-0.5.10-0-g103ea1a.tar.gz


More information about the scm-commits mailing list