debian/0000755000000000000000000000000012246300005007156 5ustar debian/maven.ignoreRules0000644000000000000000000000166012246300005012507 0ustar # Maven ignore rules - ignore some Maven dependencies and plugins # Format of this file is: # [group] [artifact] [type] [version] [classifier] [scope] # where each element can be either # - the exact string, for example org.apache for the group, or 3.1 # for the version. In this case, the element is simply matched # and left as it is # - * (the star character, alone). In this case, anything will # match and be left as it is. For example, using * on the # position of the artifact field will match any artifact id # All elements much match before a rule can be applied # Example rule: match jar with groupid= junit, artifactid= junit # and version starting with 3., this dependency is then removed # from the POM # junit junit jar s/3\..*/3.x/ junit junit * * * * org.apache.maven.plugins maven-surefire-plugin * * * * org.apache.maven.wagon wagon-webdav * * * * org.jruby.extras jffi * * * * org.jvnet.wagon-svn wagon-svn * * * * debian/maven.rules0000644000000000000000000000174412246300005011346 0ustar # Maven rules - transform Maven dependencies and plugins # Format of this file is: # [group] [artifact] [type] [version] [classifier] [scope] # where each element can be either # - the exact string, for example org.apache for the group, or 3.1 # for the version. In this case, the element is simply matched # and left as it is # - * (the star character, alone). In this case, anything will # match and be left as it is. For example, using * on the # position of the artifact field will match any artifact id # - a regular expression of the form s/match/replace/ # in this case, elements that match are transformed using # the regex rule. # All elements much match before a rule can be applied # Example rule: match jar with groupid= junit, artifactid= junit # and version starting with 3., replacing the version with 3.x # junit junit jar s/3\..*/3.x/ org.jruby.extras jaffl jar s/.*/debian/ * * s/asm/org.ow2.asm/ asm * s/.*/4.x/ * * s/asm/org.ow2.asm/ asm-commons * s/.*/4.x/ * * debian/libjaffl-java.poms0000644000000000000000000000317212246300005012551 0ustar # List of POM files for the package # Format of this file is: # [option]* # where option can be: # --ignore: ignore this POM and its artifact if any # --ignore-pom: don't install the POM. To use on POM files that are created # temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms] # --no-parent: remove the tag from the POM # --package=: an alternative package to use when installing this POM # and its artifact # --has-package-version: to indicate that the original version of the POM is the same as the upstream part # of the version for the package. # --keep-elements=: a list of XML elements to keep in the POM # during a clean operation with mh_cleanpom or mh_installpom # --artifact=: path to the build artifact associated with this POM, # it will be installed when using the command mh_install. [mh_install] # --java-lib: install the jar into /usr/share/java to comply with Debian # packaging guidelines # --usj-name=: name to use when installing the library in /usr/share/java # --usj-version=: version to use when installing the library in /usr/share/java # --no-usj-versionless: don't install the versionless link in /usr/share/java # --dest-jar=: the destination for the real jar. # It will be installed with mh_install. [mh_install] # --classifier=: Optional, the classifier for the jar. Empty by default. # --site-xml=: Optional, the location for site.xml if it needs to be installed. # Empty by default. [mh_install] # pom.xml --has-package-version debian/watch0000644000000000000000000000014612246300005010210 0ustar version=3 http://githubredir.debian.net/github/wmeissner/jaffl /(.*).tar.gz debian debian/orig-tar.sh debian/README.Debian-source0000644000000000000000000000036312246300005012517 0ustar jaffl ===== Use the rules/get-orig-source target to create the orig.tar.gz. For more details on repackaging of upstream sources please see the debian/orig-tar.sh file. -- Torsten Werner Fri, 30 Jul 2010 04:32:11 +0200 debian/rules0000755000000000000000000000115112246300005010234 0ustar #!/usr/bin/make -f include /usr/share/cdbs/1/class/javahelper.mk include /usr/share/cdbs/1/class/ant.mk JAVA_HOME := /usr/lib/jvm/default-java DEB_JARS := ant-junit ant-nodeps asm4-all jffi jnr-x86asm junit4 common-post-build-indep:: # Generate OSGi metadata for jaffl.jar bnd wrap -properties debian/jaffl.bnd -output dist/jaffl-*.jar dist/jaffl-*.jar install/libjaffl-java:: mh_installpom -plibjaffl-java pom.xml mh_installjar -plibjaffl-java pom.xml -l dist/jaffl-*.jar clean:: mh_clean $(RM) -rf build dist get-orig-source: uscan --download-version $(DEB_UPSTREAM_VERSION) --force-download --rename debian/changelog0000644000000000000000000000451612246300005011036 0ustar jaffl (0.5.9-5) unstable; urgency=low * Team upload. * Add patch to address FTBFS during post-compile-test on mips. - Thank you to Dejan Latinovic. (Closes: #712882) * Bump Standards-Version to 3.9.5. -- tony mancill Fri, 29 Nov 2013 22:04:36 -0800 jaffl (0.5.9-4) unstable; urgency=low * d/maven.rules: Use ASM 4.x in Maven descriptor (pom.xml). -- Damien Raude-Morvan Mon, 06 May 2013 00:50:57 +0200 jaffl (0.5.9-3) unstable; urgency=low * Upload to unstable. -- Damien Raude-Morvan Mon, 06 May 2013 00:38:03 +0200 jaffl (0.5.9-2) experimental; urgency=low [ Jakub Adam ] * Add OSGi metadata into jaffl.jar. * Add Jakub Adam to Uploaders. * Bump Standards-Version to 3.9.4. * Fix jaffl.jar Class-Path. [ Damien Raude-Morvan ] * d/{control,rules}: Rebuild using ASM4 instead of ASM3. * d/patches/ftbfs-gcc-*.diff: Remove -Werror from tests build since GCC-4.8 now includes 'unused-parameter' by default. -- Damien Raude-Morvan Sun, 06 Jan 2013 23:54:16 +0100 jaffl (0.5.9-1) experimental; urgency=low * New upstream release. * Add myself to Uploaders. * d/control: Add missing Depends on libjffi-java, libasm3-java and libjnr-x86asm-java. * d/{orig-tar.sh,watch}: Upgrade for new upstream tarballs * d/rules: Also use mh_clean to clean m-r-h. * d/patches/string_array_support.diff: Fix String[] handling. * d/maven.rules: Improve Maven metadata registration. * d/control: Bump Standards-Version to 3.9.3, no changes needed. * d/copyright: Fix for copyright format 1.0. -- Damien Raude-Morvan Tue, 21 Aug 2012 01:52:49 +0200 jaffl (0.5.4-1.1) unstable; urgency=low * Non maintainer upload. * Fix build failure with GCC 4.7. Closes: #672024. -- Matthias Klose Tue, 22 May 2012 00:39:09 +0000 jaffl (0.5.4-1) unstable; urgency=low * New upstream release. * Add ant-nodeps to CLASSPATH. * Don't call ant for subprojects. * Fix call to mh_installjar. * Remove build directory in clean target. -- Torsten Werner Sun, 01 Aug 2010 21:58:42 +0200 jaffl (0.5.1-1) unstable; urgency=low * Initial Release (closes: #591063). - The package is needed for JRuby. -- Torsten Werner Fri, 30 Jul 2010 04:32:11 +0200 debian/patches/0000755000000000000000000000000012246300005010605 5ustar debian/patches/0004-mips-support.diff0000644000000000000000000000154612246300005014510 0ustar diff -uNr jaffl-0.5.9.orig/libtest/GNUmakefile jaffl-0.5.9/libtest/GNUmakefile --- jaffl-0.5.9.orig/libtest/GNUmakefile 2013-11-28 12:40:51.000000000 +0000 +++ jaffl-0.5.9/libtest/GNUmakefile 2013-11-26 16:44:45.000000000 +0000 @@ -121,10 +121,12 @@ # On platforms (linux, solaris) that support both 32bit and 64bit, force building for one or the other ifneq ($(or $(findstring linux, $(OS)), $(findstring solaris, $(OS))),) - # Change the CC/LD instead of CFLAGS/LDFLAGS, incase other things in the flags - # makes the libffi build choke - CC += -m$(MODEL) - LD += -m$(MODEL) + ifneq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),mips mipsel)) + # Change the CC/LD instead of CFLAGS/LDFLAGS, incase other things in the flags + # makes the libffi build choke + CC += -m$(MODEL) + LD += -m$(MODEL) + endif endif LIBTEST = $(BUILD_DIR)/$(LIBNAME) debian/patches/ftbfs-gcc-4.8.diff0000644000000000000000000000073212246300005013606 0ustar --- a/libtest/GNUmakefile +++ b/libtest/GNUmakefile @@ -40,9 +40,9 @@ # http://weblogs.java.net/blog/kellyohair/archive/2006/01/compilation_of_1.html JFLAGS = -fno-omit-frame-pointer -fno-strict-aliasing OFLAGS = -O2 $(JFLAGS) -WFLAGS = -W -Werror -Wall -Wno-unused -Wno-parentheses +WFLAGS = -W -Wall -Wno-unused -Wno-parentheses PICFLAGS = -fPIC -SOFLAGS = -shared -mimpure-text -Wl,-O1 +SOFLAGS = -shared -Wl,-O1 LDFLAGS += $(SOFLAGS) IFLAGS = -I"$(BUILD_DIR)" debian/patches/string_array_support.diff0000644000000000000000000003347712246300005015755 0ustar Description: Backport String[] to 0.5_branch The commits include: Yours from master, with modifications to merge successfully Tweaks to use 0.5 versions of memory allocation, dispose (i.e. finalize), and platform bits. All tests pass, including the backported StringArrayTest. execv works properly with this build and updated jnr-posix called from JRuby. Origin: https://github.com/wmeissner/jaffl/pull/2 Author: Charles Oliver Nutter --- a/src/com/kenai/jaffl/Pointer.java +++ b/src/com/kenai/jaffl/Pointer.java @@ -1,6 +1,8 @@ package com.kenai.jaffl; +import java.nio.charset.Charset; + public interface Pointer { public static final int SIZE = Platform.getPlatform().addressSize(); @@ -31,6 +33,8 @@ abstract public Pointer getPointer(long offset); abstract public void putPointer(long offset, Pointer value); abstract public String getString(long offset); + abstract public String getString(long offset, int maxLength, Charset cs); + abstract public void putString(long offset, String string, int maxLength, Charset cs); abstract public long address(); abstract public boolean isDirect(); } --- a/src/com/kenai/jaffl/provider/jffi/AsmLibraryLoader.java +++ b/src/com/kenai/jaffl/provider/jffi/AsmLibraryLoader.java @@ -98,6 +98,7 @@ || Struct.class.isAssignableFrom(type) || (type.isArray() && Struct.class.isAssignableFrom(type.getComponentType())) || (type.isArray() && Pointer.class.isAssignableFrom(type.getComponentType())) + || (type.isArray() && CharSequence.class.isAssignableFrom(type.getComponentType())) || CharSequence.class.isAssignableFrom(type) || ByReference.class.isAssignableFrom(type) || StringBuilder.class.isAssignableFrom(type) @@ -562,6 +563,11 @@ // stack should be: [ Buffer, array, flags ] marshal(mv, CharSequence.class); + } else if (parameterTypes[i].isArray() && CharSequence.class.isAssignableFrom(parameterTypes[i].getComponentType())) { + mv.pushInt(parameterFlags); + mv.pushInt(nativeArrayFlags); + sessionmarshal(mv, CharSequence[].class, int.class, int.class); + } else if (Struct.class.isAssignableFrom(parameterTypes[i])) { mv.pushInt(parameterFlags); mv.pushInt(nativeArrayFlags); @@ -1008,7 +1014,9 @@ return StringBuilder.class.isAssignableFrom(parameterType) || StringBuffer.class.isAssignableFrom(parameterType) || ByReference.class.isAssignableFrom(parameterType) - || (parameterType.isArray() && Pointer.class.isAssignableFrom(parameterType.getComponentType())); + || (parameterType.isArray() && Pointer.class.isAssignableFrom(parameterType.getComponentType())) + || (parameterType.isArray() && CharSequence.class.isAssignableFrom(parameterType.getComponentType())) + ; } private static boolean isSessionRequired(Class[] parameterTypes) { --- a/src/com/kenai/jaffl/provider/jffi/AsmRuntime.java +++ b/src/com/kenai/jaffl/provider/jffi/AsmRuntime.java @@ -269,23 +269,70 @@ } } + public static final void marshal(InvocationSession session, InvocationBuffer buffer, + final CharSequence[] strings, final int inout, int nativeArrayFlags) { + if (strings == null) { + buffer.putAddress(0L); + + } else { + final AllocatedDirectMemoryIO[] pointers = new AllocatedDirectMemoryIO[strings.length]; + final StringIO io = StringIO.getStringIO(); + + if (ParameterFlags.isIn(inout)) { + for (int i = 0; i < strings.length; ++i) { + if (strings[i] != null) { + ByteBuffer buf = io.toNative(strings[i], strings[i].length(), ParameterFlags.isIn(inout)); + AllocatedDirectMemoryIO ptr = new AllocatedDirectMemoryIO(buf.remaining(), false); + ptr.put(0, buf.array(), buf.arrayOffset() + buf.position(), buf.remaining()); + pointers[i] = ptr; + + } else { + pointers[i] = null; + } + } + } + + // pass it as an array of pointers + final Pointer[] tmp = new Pointer[pointers.length]; + System.arraycopy(pointers, 0, tmp, 0, tmp.length); + marshal(session, buffer, tmp, inout, nativeArrayFlags); + + // Reload any elements of the native array that were changed, and convert back to java strings + // the PostInvoke also keeps the native memory alive until after the function call + session.addPostInvoke(new InvocationSession.PostInvoke() { + + public void postInvoke() { + if (ParameterFlags.isOut(inout)) { + for (int i = 0; i < pointers.length; ++i) { + if (tmp[i] != null) { + strings[i] = tmp[i].getString(0); + } + } + } + } + }); + + } + } + + public static final void marshal(InvocationBuffer buffer, final Enum parameter) { buffer.putInt(EnumMapper.getInstance().intValue(parameter)); } - public static final void marshal(InvocationSession session, InvocationBuffer buffer, Pointer[] parameter, int inout, int nativeArrayFlags) { - if (parameter == null) { + public static final void marshal(InvocationSession session, InvocationBuffer buffer, + final Pointer[] pointers, int inout, int nativeArrayFlags) { + if (pointers == null) { buffer.putAddress(0L); } else { - final Pointer[] array = parameter; if (Pointer.SIZE == 32) { - final int[] raw = new int[array.length]; - for (int i = 0; i < raw.length; ++i) { - if (!array[i].isDirect()) { + final int[] raw = new int[pointers.length + 1]; + for (int i = 0; i < pointers.length; ++i) { + if (pointers[i] != null && !pointers[i].isDirect()) { throw new IllegalArgumentException("invalid pointer in array at index " + i); } - raw[i] = (int) array[i].address(); + raw[i] = pointers[i] != null ? (int) pointers[i].address() : 0; } buffer.putArray(raw, 0, raw.length, nativeArrayFlags); @@ -293,19 +340,19 @@ session.addPostInvoke(new InvocationSession.PostInvoke() { public void postInvoke() { - for (int i = 0; i < raw.length; ++i) { - array[i] = MemoryUtil.newPointer(raw[i]); + for (int i = 0; i < pointers.length; ++i) { + pointers[i] = MemoryUtil.newPointer(raw[i]); } } }); } } else { - final long[] raw = new long[array.length]; - for (int i = 0; i < raw.length; ++i) { - if (!array[i].isDirect()) { + final long[] raw = new long[pointers.length + 1]; + for (int i = 0; i < pointers.length; ++i) { + if (pointers[i] != null && !pointers[i].isDirect()) { throw new IllegalArgumentException("invalid pointer in array at index " + i); } - raw[i] = array[i].address(); + raw[i] = pointers[i] != null ? pointers[i].address() : 0; } buffer.putArray(raw, 0, raw.length, nativeArrayFlags); @@ -314,8 +361,8 @@ session.addPostInvoke(new InvocationSession.PostInvoke() { public void postInvoke() { - for (int i = 0; i < raw.length; ++i) { - array[i] = MemoryUtil.newPointer(raw[i]); + for (int i = 0; i < pointers.length; ++i) { + pointers[i] = MemoryUtil.newPointer(raw[i]); } } }); --- a/src/com/kenai/jaffl/provider/jffi/DefaultInvokerFactory.java +++ b/src/com/kenai/jaffl/provider/jffi/DefaultInvokerFactory.java @@ -254,8 +254,13 @@ return new StringBufferMarshaller(getParameterFlags(annotations)); } else if (StringBuilder.class.isAssignableFrom(type)) { return new StringBuilderMarshaller(getParameterFlags(annotations)); + } else if (CharSequence.class.isAssignableFrom(type)) { return CharSequenceMarshaller.INSTANCE; + + } else if (type.isArray() && CharSequence.class.isAssignableFrom(type.getComponentType())) { + return new StringArrayMarshaller(getParameterFlags(annotations)); + } else if (ByReference.class.isAssignableFrom(type)) { return new ByReferenceMarshaller(getParameterFlags(annotations)); } else if (Struct.class.isAssignableFrom(type)) { @@ -286,6 +291,10 @@ return new DoubleArrayMarshaller(getParameterFlags(annotations)); } else if (type.isArray() && Struct.class.isAssignableFrom(type.getComponentType())) { return new StructArrayMarshaller(getParameterFlags(annotations)); + + } else if (type.isArray() && Pointer.class.isAssignableFrom(type.getComponentType())) { + return new PointerArrayMarshaller(getParameterFlags(annotations)); + } else { throw new IllegalArgumentException("Unsupported parameter type: " + type); } @@ -574,11 +583,25 @@ } } + static final class StringArrayMarshaller extends SessionRequiredMarshaller { + private final int nflags, inout; + public StringArrayMarshaller(int inout) { + this.inout = inout; + this.nflags = getNativeArrayFlags(inout | (ParameterFlags.isIn(inout) ? ParameterFlags.NULTERMINATE : 0)); + } + + + @Override + public void marshal(InvocationSession session, InvocationBuffer buffer, Object parameter) { + AsmRuntime.marshal(session, buffer, (CharSequence[]) parameter, inout, nflags); + } + } + static final class StringBufferMarshaller extends SessionRequiredMarshaller { private final int nflags, inout; public StringBufferMarshaller(int inout) { this.inout = inout; - this.nflags = getNativeArrayFlags(inout | (ParameterFlags.isIn(inout) ? ParameterFlags.NULTERMINATE : 0)); + this.nflags = getNativeArrayFlags(inout); } @@ -652,6 +675,19 @@ } } + static final class PointerArrayMarshaller extends SessionRequiredMarshaller { + private final int nflags, inout; + public PointerArrayMarshaller(int inout) { + this.inout = inout; + this.nflags = getNativeArrayFlags(inout); + } + + @Override + public void marshal(InvocationSession session, InvocationBuffer buffer, Object parameter) { + AsmRuntime.marshal(session, buffer, (Pointer[]) parameter, inout, nflags); + } + } + static final class ByteBufferMarshaller extends BaseMarshaller { private final int flags; public ByteBufferMarshaller(int flags) { --- /dev/null +++ b/test/com/kenai/jaffl/StringArrayTest.java @@ -0,0 +1,78 @@ + +package com.kenai.jaffl; + +import com.kenai.jaffl.annotations.In; +import com.kenai.jaffl.annotations.Out; +import java.nio.charset.Charset; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * + * @author wayne + */ +public class StringArrayTest { + + public StringArrayTest() { + } + + public static interface TestLib { + String ptr_return_array_element(@In String[] array, int index); + void ptr_set_array_element(@Out String[] array, int index, Pointer value); + } + + static TestLib testlib; + static Runtime runtime; + @BeforeClass + public static void setUpClass() throws Exception { + testlib = TstUtil.loadTestLib(TestLib.class); + } + + @AfterClass + public static void tearDownClass() throws Exception { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + // TODO add test methods here. + // The methods must be annotated with annotation @Test. For example: + // + // @Test + // public void hello() {} + @Test public void lastElementOfStringArrayShouldBeNull() { + String[] strings = { "test" }; + String result = testlib.ptr_return_array_element(strings, 1); + assertNull("last element of string array was not null", result); + } + + @Test public void firstElementOfStringArrayShouldNotBeNull() { + final String MAGIC = "test"; + String[] strings = { MAGIC }; + assertNotNull(testlib.ptr_return_array_element(strings, 0)); + } + + @Test public void firstElementOfStringArrayShouldEqualOriginalValue() { + final String MAGIC = "test"; + String[] strings = { MAGIC }; + assertEquals(MAGIC, testlib.ptr_return_array_element(strings, 0)); + } + + @Test public void elementsSetByNativeCodeShouldBeReloaded() { + final String MAGIC = "test"; + String[] strings = new String[1]; + Pointer ptr = FFIProvider.getProvider().getMemoryManager().allocateDirect(1024); + ptr.putString(0, MAGIC, 1024, Charset.defaultCharset()); + testlib.ptr_set_array_element(strings, 0, ptr); + assertEquals(MAGIC, strings[0]); + } +} \ No newline at end of file debian/patches/0002-remove-copyLibs-task.patch0000644000000000000000000000600612246300005016226 0ustar From: Torsten Werner Date: Sat, 31 Jul 2010 17:52:48 +0200 Subject: [PATCH] remove task --- nbproject/build-impl.xml | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-) --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -520,14 +520,13 @@ - - + - + To run this application from the command line without Ant, try: java -jar "${dist.jar.resolved}" @@ -545,13 +544,12 @@ - - + - + @@ -566,13 +564,12 @@ - - + - + debian/patches/series0000644000000000000000000000027412246300005012025 0ustar 0001-ignore-test-failures.patch 0002-remove-copyLibs-task.patch 0003-don-t-call-ant-for-subprojects.patch ftbfs-gcc-4.8.diff string_array_support.diff use_asm4.diff 0004-mips-support.diff debian/patches/0003-don-t-call-ant-for-subprojects.patch0000644000000000000000000000276412246300005020056 0ustar From: Torsten Werner Date: Sun, 1 Aug 2010 21:51:14 +0200 Subject: [PATCH] don't call ant for subprojects --- nbproject/build-impl.xml | 14 -------------- 1 files changed, 0 insertions(+), 14 deletions(-) --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -411,20 +411,6 @@ - - - - - - - - - - - - - - debian/patches/0001-ignore-test-failures.patch0000644000000000000000000000134512246300005016257 0ustar From: Torsten Werner Date: Sat, 31 Jul 2010 17:08:56 +0200 Subject: [PATCH] ignore test failures --- nbproject/build-impl.xml | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -721,7 +721,6 @@ - Some tests failed; see details above. debian/patches/use_asm4.diff0000644000000000000000000000140112246300005013153 0ustar --- a/src/com/kenai/jaffl/provider/jffi/SkinnyMethodAdapter.java +++ b/src/com/kenai/jaffl/provider/jffi/SkinnyMethodAdapter.java @@ -17,16 +17,18 @@ * * @author headius */ -public class SkinnyMethodAdapter implements MethodVisitor, Opcodes { +public class SkinnyMethodAdapter extends MethodVisitor implements Opcodes { private final static boolean DEBUG = Boolean.getBoolean("jaffl.compile.dump"); private MethodVisitor method; /** Creates a new instance of SkinnyMethodAdapter */ public SkinnyMethodAdapter(MethodVisitor method) { + super(Opcodes.ASM4); setMethodVisitor(method); } public SkinnyMethodAdapter() { + super(Opcodes.ASM4); } public MethodVisitor getMethodVisitor() { debian/docs0000644000000000000000000000001512246300005010025 0ustar dist/javadoc debian/orig-tar.sh0000755000000000000000000000033712246300005011244 0ustar #!/bin/sh -e # called by uscan with '--upstream-version' DIR=jaffl-$2 tar xzf $3 mv wmeissner-* $DIR tar cfz jaffl_$2.orig.tar.gz -X debian/orig-tar.exclude $DIR mv jaffl_$2.orig.tar.gz ../ rm -rf $DIR debian/ant.properties0000644000000000000000000000003112246300005012050 0ustar build.sysclasspath=first debian/jaffl.bnd0000644000000000000000000000026412246300005010727 0ustar Bundle-Name: Java Abstracted Foreign Function Layer Bundle-SymbolicName: com.kenai.jaffl Bundle-Version: 1.0.0 Bundle-Vendor: Debian.org Import-Package: !com.kenai.jnr.x86asm.*, * debian/source/0000755000000000000000000000000012246300005010456 5ustar debian/source/format0000644000000000000000000000001412246300005011664 0ustar 3.0 (quilt) debian/orig-tar.exclude0000644000000000000000000000002112246300005012246 0ustar .git *.jar *.zip debian/doc-base0000644000000000000000000000051712246300005010561 0ustar Document: jaffl Title: Java Abstracted Foreign Function Layer Author: Wayne Meissner Abstract: Jaffl is a Java library providing an abstracted interface to invoking native functions from Java. Section: Programming Format: HTML Index: /usr/share/doc/libjaffl-java/javadoc/index.html Files: /usr/share/doc/libjaffl-java/javadoc/*.html debian/compat0000644000000000000000000000000212246300005010354 0ustar 7 debian/copyright0000644000000000000000000000537312246300005011121 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: jnr-x86asm Upstream-Contact: Wayne Meissner Source: http://github.com/wmeissner/jnr-x86asm Files: *.c Copyright: 2008-2009 Petr Kobalicek (original C++ code) License: MIT/X11 The original MIT/X11 license for the C++ code is: . Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Files: *.java Copyright: 2010 Wayne Meissner (Java code) License: LGPL-3 The full text of the LGPL-3 license can be found at /usr/share/common-licenses/LGPL-3. Files: debian/* Copyright: 2010 Torsten Werner License: LGPL-3 or MIT/X11 The full text of the LGPL-3 license can be found at /usr/share/common-licenses/LGPL-3. . The MIT/X11 license: . Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. debian/control0000644000000000000000000000204112246300005010556 0ustar Source: jaffl Section: java Priority: optional Maintainer: Debian Java Maintainers Uploaders: Torsten Werner , Damien Raude-Morvan , Jakub Adam Build-Depends: cdbs, debhelper (>= 7), maven-repo-helper Build-Depends-Indep: ant-optional, bnd, default-jdk, javahelper, junit4, libasm4-java, libjffi-java, libjnr-x86asm-java Standards-Version: 3.9.5 Vcs-Git: git://anonscm.debian.org/pkg-java/jaffl.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-java/jaffl.git Homepage: http://github.com/wmeissner/jaffl Package: libjaffl-java Architecture: all Depends: libasm4-java, libjffi-java, libjnr-x86asm-java, ${misc:Depends} Description: Java Abstracted Foreign Function Layer Jaffl is a Java library providing an abstracted interface to invoking native functions from Java. debian/classpath0000644000000000000000000000007212246300005011062 0ustar usr/share/java/jaffl.jar jffi.jar jnr-x86asm.jar asm3.jar