From 613ed0b48a4914574fd4121b32828653eb66ec6b Mon Sep 17 00:00:00 2001 From: Tom Judge Date: Fri, 14 Nov 2014 15:40:15 +0000 Subject: New port: java/sigar The Sigar API provides a portable interface for gathering system information such as: * System memory, swap, cpu, load average, uptime, loginsi * Per-process memory, cpu, credential info, state, arguments, environment, open files * File system detection and metrics * Network interface detection, configuration info and metrics * TCP and UDP connection tables * Network route table This information is available in most operating systems, but each OS has their own way(s) providing it. SIGAR provides developers with one API to access this information regardless of the underlying platform. The core API is implemented in pure C with bindings currently implemented for Java, Perl, Ruby, Python, Erlang, PHP and C#. This port provides the Java bindings. WWW: https://support.hyperic.com/display/SIGAR/Home --- java/Makefile | 1 + java/sigar/Makefile | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ java/sigar/distinfo | 2 ++ java/sigar/pkg-descr | 18 ++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 java/sigar/Makefile create mode 100644 java/sigar/distinfo create mode 100644 java/sigar/pkg-descr (limited to 'java') diff --git a/java/Makefile b/java/Makefile index fe6673d8aa00..127b0af7a913 100644 --- a/java/Makefile +++ b/java/Makefile @@ -132,6 +132,7 @@ SUBDIR += sablevm SUBDIR += sablevm-classpath SUBDIR += servingxml + SUBDIR += sigar SUBDIR += springframework SUBDIR += springframework31 SUBDIR += sqlitejdbc diff --git a/java/sigar/Makefile b/java/sigar/Makefile new file mode 100644 index 000000000000..89af677e7799 --- /dev/null +++ b/java/sigar/Makefile @@ -0,0 +1,70 @@ +# Created by: Tom Judge +# $FreeBSD$ + +PORTNAME= sigar +PORTVERSION= 1.7.3 +CATEGORIES= java devel +MASTER_SITES= GH +PKGNAMEPREFIX= java- + +MAINTAINER= tj@FreeBSD.org +COMMENT= Java bindings for the Sigar system information API + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/NOTICE + +BUILD_DEPENDS= ${ANT_CMD}:${PORTSDIR}/devel/apache-ant + +USE_GITHUB= yes +GH_ACCOUNT= hyperic +GH_COMMIT= 236006e +GH_TAGNAME= ${GH_COMMIT} + +USES= perl5 +USES_PERL5= build +USE_JAVA= yes +JAVA_RUN= yes +USE_GCC= any + +ANT_CMD?= ${LOCALBASE}/bin/ant +ANT= ${SETENV} JAVA_HOME=${JAVA_HOME} ${ANT_CMD} + +WRKSRC= ${WRKDIR}/hyperic-sigar-${GH_COMMIT} + +.include + +.if ${OSVERSION} >= 1000000 +PLATFORM_VER= 1 +.elif ${OSVERSION} >= 900000 +PLATFORM_VER= 9 +.elif ${OSVERSION} >= 800000 +PLATFORM_VER= 8 +.elif ${OSVERSION} >= 700000 +PLATFORM_VER= 7 +.elif ${OSVERSION} >= 600000 +PLATFORM_VER= 6 +.else +BROKEN= Unsupported FreeBSD version +.endif +LIBNAME= libsigar-${ARCH:S,i386,x86,}-freebsd-${PLATFORM_VER}.so + +PLIST_FILES= %%JAVAJARDIR%%/${PORTNAME}.jar \ + %%JAVAJARDIR%%/${LIBNAME} + +#post-patch: +# @${REINPLACE_CMD} s/gcc/${CC}/ \ +# ${WRKSRC}/bindings/java/hyperic_jni/jni-build.xml + +do-build: + ${MKDIR} ${WRKSRC}/bin +.if ${CC} != "gcc" + ${LN} -s ${LOCALBASE}/bin/${CC} ${WRKSRC}/bin/gcc +.endif + cd ${WRKSRC}/bindings/java && PATH=${PATH}:${WRKSRC}/bin ${ANT} + +do-install: + ${INSTALL_DATA} ${WRKSRC}/bindings/java/sigar-bin/lib/sigar.jar \ + ${STAGEDIR}${JAVAJARDIR}/${PORTNAME}.jar + ${INSTALL_LIB} ${WRKSRC}/bindings/java/sigar-bin/lib/libsigar-${ARCH:S,i386,x86,}-freebsd-${PLATFORM_VER}.so \ + ${STAGEDIR}${JAVAJARDIR}/${LIBNAME} +.include diff --git a/java/sigar/distinfo b/java/sigar/distinfo new file mode 100644 index 000000000000..7bc08aafb6da --- /dev/null +++ b/java/sigar/distinfo @@ -0,0 +1,2 @@ +SHA256 (sigar-1.7.3.tar.gz) = 4ed7bf67917c41614bb554cab741f90a318bb46c1dc206904c42a2e826837bc0 +SIZE (sigar-1.7.3.tar.gz) = 1091905 diff --git a/java/sigar/pkg-descr b/java/sigar/pkg-descr new file mode 100644 index 000000000000..b2d3a56616b3 --- /dev/null +++ b/java/sigar/pkg-descr @@ -0,0 +1,18 @@ +The Sigar API provides a portable interface for gathering system information +such as: + +* System memory, swap, cpu, load average, uptime, loginsi +* Per-process memory, cpu, credential info, state, arguments, environment, + open files +* File system detection and metrics +* Network interface detection, configuration info and metrics +* TCP and UDP connection tables +* Network route table + +This information is available in most operating systems, but each OS has their +own way(s) providing it. SIGAR provides developers with one API to access this +information regardless of the underlying platform. The core API is implemented +in pure C with bindings currently implemented for Java, Perl, Ruby, Python, +Erlang, PHP and C#. This port provides the Java bindings. + +WWW: https://support.hyperic.com/display/SIGAR/Home -- cgit v1.2.3