diff options
author | alfred <alfred@FreeBSD.org> | 2015-10-12 12:54:18 +0800 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2015-10-12 12:54:18 +0800 |
commit | 1793f4db11e50990d979735a163fde578745e1dc (patch) | |
tree | 0f40dffa229d042fac1948ba53f85b9be9ecddc3 /databases | |
parent | e462c217a824c24f5d72180749cf957126f0460d (diff) | |
download | freebsd-ports-gnome-1793f4db11e50990d979735a163fde578745e1dc.tar.gz freebsd-ports-gnome-1793f4db11e50990d979735a163fde578745e1dc.tar.zst freebsd-ports-gnome-1793f4db11e50990d979735a163fde578745e1dc.zip |
New port: databases/jlog
JLog is short for "journaled log" and this package is really an API
and implementation that is libjlog. What is libjlog? libjlog is a
pure C, very simple durable message queue with multiple subscribers
and publishers (both thread and multi-process safe). The basic
concept is that publishers can open a log and write messages to it
while subscribers open the log and consume messages from it. "That
sounds easy." libjlog abstracts away the need to perform log rotation
or maintenance by publishing into fixed size log buffers and
eliminating old log buffers when there are no more consumers pending.
WWW: https://labs.omniti.com/labs/jlog
Reviewed by: brnrd
Diffstat (limited to 'databases')
-rw-r--r-- | databases/Makefile | 1 | ||||
-rw-r--r-- | databases/jlog/Makefile | 38 | ||||
-rw-r--r-- | databases/jlog/distinfo | 2 | ||||
-rw-r--r-- | databases/jlog/files/patch-Makefile.in | 11 | ||||
-rw-r--r-- | databases/jlog/files/patch-jlog_io.c | 10 | ||||
-rw-r--r-- | databases/jlog/pkg-descr | 11 | ||||
-rw-r--r-- | databases/jlog/pkg-plist | 14 |
7 files changed, 87 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile index 8b6b0085d723..05442d129452 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -122,6 +122,7 @@ SUBDIR += jdbc-oracle8i SUBDIR += jdbc-oracle9i SUBDIR += jdbm2 + SUBDIR += jlog SUBDIR += jrobin SUBDIR += jrrd SUBDIR += kbibtex diff --git a/databases/jlog/Makefile b/databases/jlog/Makefile new file mode 100644 index 000000000000..1e8037af2b69 --- /dev/null +++ b/databases/jlog/Makefile @@ -0,0 +1,38 @@ +# Created by: alfred +# $FreeBSD$ + +PORTNAME= jlog +# version is YYYYMMDDxx <- xx is 00, 01 as needed per day +PORTVERSION= 1.2.2.s2015012200 +CATEGORIES= databases + +MAINTAINER= alfred@FreeBSD.org +COMMENT= Journaled log library + +LICENSE= BSD3CLAUSE + +BUILD_DEPENDS= autoconf-2.13:${PORTSDIR}/devel/autoconf213 + +USE_GITHUB= yes +GH_ACCOUNT= omniti-labs +# cf3085fe contains c++ fixes and other additions over the 1.2.2 release +GH_PROJECT= ${PORTNAME} +GH_TAGNAME= cf3085f + +GNU_CONFIGURE= yes +USES= perl5 shebangfix + +OPTIONS_DEFINE= PERL +OPTIONS_DEFAULT= PERL +OPTIONS_SUB= yes + +SHEBANG_FILES= jlog_change_endian.pl jlog_sanity_check.pl +perl_OLD_CMD= /opt/msys/3rdParty/bin/perl + +PERL_CONFIGURE_ON= --with-perl-lib=site +PERL_CONFIGURE_WITH= perl + +pre-configure: + (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) + +.include <bsd.port.mk> diff --git a/databases/jlog/distinfo b/databases/jlog/distinfo new file mode 100644 index 000000000000..26ae04f39a90 --- /dev/null +++ b/databases/jlog/distinfo @@ -0,0 +1,2 @@ +SHA256 (omniti-labs-jlog-1.2.2.s2015012200-cf3085f_GH0.tar.gz) = 3954102e3c3939a815e22a53258edfa6364395e12bb4dd327ed0425b07dc05b3 +SIZE (omniti-labs-jlog-1.2.2.s2015012200-cf3085f_GH0.tar.gz) = 86598 diff --git a/databases/jlog/files/patch-Makefile.in b/databases/jlog/files/patch-Makefile.in new file mode 100644 index 000000000000..7f18759ac31e --- /dev/null +++ b/databases/jlog/files/patch-Makefile.in @@ -0,0 +1,11 @@ +--- Makefile.in.orig 2015-01-27 07:13:25 UTC ++++ Makefile.in +@@ -93,7 +93,7 @@ + $(INSTALL) -m 0755 libjlog.$(DOTSO) $(DESTDIR)$(libdir)/libjlog.$(DOTSO) + $(INSTALL) -m 0644 jlog.h $(DESTDIR)$(includedir)/jlog.h + $(INSTALL) -m 0644 jlog_config.h $(DESTDIR)$(includedir)/jlog_config.h +- cd perl ; make install DESTDIR=$(DESTDIR) INSTALLDIRS=vendor ++ cd perl ; make install DESTDIR=$(DESTDIR) INSTALLDIRS=site + + clean: + rm -f *.o *.lo *.$(DOTSO) *.a jthreadtest diff --git a/databases/jlog/files/patch-jlog_io.c b/databases/jlog/files/patch-jlog_io.c new file mode 100644 index 000000000000..76c3b39ee7e9 --- /dev/null +++ b/databases/jlog/files/patch-jlog_io.c @@ -0,0 +1,10 @@ +--- jlog_io.c.orig 2015-08-14 14:37:55.150718000 -0700 ++++ jlog_io.c 2015-08-14 14:38:46.803672000 -0700 +@@ -129,6 +129,7 @@ + assert(jlog_hash_delete(&jlog_files, (void *)&f->id, sizeof(jlog_file_id), + NULL, NULL)); + while (close(f->fd) == -1 && errno == EINTR) ; ++ pthread_mutex_destroy(&(f->lock)); + free(f); + } + pthread_mutex_unlock(&jlog_files_lock); diff --git a/databases/jlog/pkg-descr b/databases/jlog/pkg-descr new file mode 100644 index 000000000000..0b2d27a1dde4 --- /dev/null +++ b/databases/jlog/pkg-descr @@ -0,0 +1,11 @@ +JLog is short for "journaled log" and this package is really an API +and implementation that is libjlog. What is libjlog? libjlog is a +pure C, very simple durable message queue with multiple subscribers +and publishers (both thread and multi-process safe). The basic +concept is that publishers can open a log and write messages to it +while subscribers open the log and consume messages from it. "That +sounds easy." libjlog abstracts away the need to perform log rotation +or maintenance by publishing into fixed size log buffers and +eliminating old log buffers when there are no more consumers pending. + +WWW: https://labs.omniti.com/labs/jlog diff --git a/databases/jlog/pkg-plist b/databases/jlog/pkg-plist new file mode 100644 index 000000000000..ece34dfc2c0f --- /dev/null +++ b/databases/jlog/pkg-plist @@ -0,0 +1,14 @@ +bin/jlog_change_endian +bin/jlog_sanity_check +bin/jlogctl +include/jlog.h +include/jlog_config.h +lib/libjlog.a +lib/libjlog.so +%%SITE_ARCH%%/JLog.pm +%%SITE_ARCH%%/JLog/Reader.pm +%%SITE_ARCH%%/JLog/Writer.pm +%%SITE_ARCH%%/auto/JLog/JLog.so +%%PERL5_MAN3%%/JLog.3.gz +%%PERL5_MAN3%%/JLog::Reader.3.gz +%%PERL5_MAN3%%/JLog::Writer.3.gz |