diff options
| author | nonaka <nonaka@pkgsrc.org> | 2019-04-05 12:55:15 +0000 |
|---|---|---|
| committer | nonaka <nonaka@pkgsrc.org> | 2019-04-05 12:55:15 +0000 |
| commit | 76e26f511977dc16887a2d8ba611e91e6e8b0098 (patch) | |
| tree | be0a5ed404c0acfb76e78146006689853f510ccf /devel/java-jna/Makefile | |
| parent | 44081de6d60be8557ea8349757729411380d6c76 (diff) | |
| download | pkgsrc-76e26f511977dc16887a2d8ba611e91e6e8b0098.tar.gz | |
PR/54097: Added Java Native Access 5.2.0 as devel/java-jna.
JNA provides Java programs easy access to native shared libraries without
writing anything but Java code - no JNI or native code is required.
This functionality is comparable to Windows' Platform/Invoke and Python's
ctypes.
Diffstat (limited to 'devel/java-jna/Makefile')
| -rw-r--r-- | devel/java-jna/Makefile | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/devel/java-jna/Makefile b/devel/java-jna/Makefile new file mode 100644 index 00000000000..e56a4af5d53 --- /dev/null +++ b/devel/java-jna/Makefile @@ -0,0 +1,95 @@ +# $NetBSD: Makefile,v 1.1 2019/04/05 12:55:15 nonaka Exp $ + +DISTNAME= jna-5.2.0 +PKGNAME= java-${DISTNAME} +CATEGORIES= devel java +MASTER_SITES= ${MASTER_SITE_GITHUB:=java-native-access/} +GITHUB_PROJECT= jna + +MAINTAINER= nonakap@gmail.com +HOMEPAGE= https://github.com/java-native-access/jna +COMMENT= JNA provides Java programs easy access to native shared libraries. +LICENSE= gnu-lgpl-v2.1 OR apache-2.0 + +EXTRACT_USING= bsdtar + +# +# Supported platforms (built and tested) from native/Makefile +# +# Windows 2000/XP/2003/Vista (x86/amd64) +# Windows CE/Mobile (arm) +# Darwin/OS X (i386/x86_64/ppc) +# Linux (i386/amd64/ppc/arm) +# Solaris (i386/amd64/sparc/sparcv9) +# AIX (ppc/ppc64) +# FreeBSD/OpenBSD/NetBSD (i386/amd64) +# Android (arm/armv7/aarch64/x86/x86-64/mipsel/mips64el) +# +ONLY_FOR_PLATFORM+= Cygwin-*-* +ONLY_FOR_PLATFORM+= Darwin-*-* +ONLY_FOR_PLATFORM+= Linux-*-i386 Linux-*-x86_64 +ONLY_FOR_PLATFORM+= Linux-*-powerpc* +ONLY_FOR_PLATFORM+= Linux-*-arm* Linux-*-aarch64 +ONLY_FOR_PLATFORM+= SunOS-*-* +ONLY_FOR_PLATFORM+= AIX-*-* +ONLY_FOR_PLATFORM+= FreeBSD-*-i386 FreeBSD-*-x86_64 +ONLY_FOR_PLATFORM+= OpenBSD-*-i386 OpenBSD-*-x86_64 +ONLY_FOR_PLATFORM+= NetBSD-*-i386 NetBSD-*-x86_64 + +USE_LANGUAGES= c +USE_JAVA= yes +USE_JAVA2= yes +USE_TOOLS+= autoreconf automake autoconf gmake pkg-config pax +USE_LIBTOOL= yes + +OPSYSVARS+= JNIPFX JNISFX +JNIPFX.Cygwin= # empty +JNIPFX.*= lib +JNISFX.Cygwin= dll +JNISFX.Darwin= jnilib +JNISFX.AIX= a +JNISFX.*= so +PLIST_SUBST+= JNIPFX=${JNIPFX} JNISFX=${JNISFX} + +.include "../../mk/bsd.prefs.mk" +.include "../../mk/java-vm.mk" +.if ${OPSYS} == "NetBSD" && ${PKG_JVM} == "openjdk8" +# openjdk8<1.8.202 uses oldest sigaction on NetBSD. +DEPENDS+= openjdk8>=1.8.202:../../lang/openjdk8 +.endif +BUILD_DEPENDS+= apache-ant-[0-9]*:../../devel/apache-ant + +INSTALLATION_DIRS+= \ + lib/java/jna share/doc/${PKGBASE} + +ANT_ARGS+= -Ddynlink.native=true +ANT_ARGS+= -Dbuild-native=true +ANT_ARGS+= -Dcflags_extra.native="" +ANT_ARGS+= -DCC=${CC} +ANT_TARGET= jar contrib-jars javadoc + +do-build: + cd ${WRKSRC} && \ + ${SETENV} ${MAKE_ENV} ${PREFIX}/bin/ant ${ANT_ARGS} ${ANT_TARGET} + +do-install: + ${INSTALL_LIB} ${WRKSRC}/build/native-*/${JNIPFX}jnidispatch.${JNISFX} \ + ${DESTDIR}${PREFIX}/lib + ${INSTALL_DATA} ${WRKSRC}/build/jna-native.jar \ + ${DESTDIR}${PREFIX}/lib/java/jna/jna-native.jar + ${INSTALL_DATA} ${WRKSRC}/build/jna.jar \ + ${DESTDIR}${PREFIX}/lib/java/jna/jna.jar + ${INSTALL_DATA} ${WRKSRC}/contrib/platform/dist/jna-platform.jar \ + ${DESTDIR}${PREFIX}/lib/java/jna/jna-platform.jar + for i in AL2.0 LGPL2.1 LICENSE LICENSE.AL LICENSE.LGPL \ + CHANGES.md OTHERS README.md TODO; \ + do \ + ${INSTALL_DATA} ${WRKSRC}/$$i \ + ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}; \ + done + cd ${WRKSRC} && \ + ${PAX} -rw doc www ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + +.include "../../devel/libffi/buildlink3.mk" +.include "../../x11/libXt/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" |
