aboutsummaryrefslogtreecommitdiff
path: root/databases/jlog
diff options
context:
space:
mode:
authorAlfred Perlstein <alfred@FreeBSD.org>2015-10-12 04:54:18 +0000
committerAlfred Perlstein <alfred@FreeBSD.org>2015-10-12 04:54:18 +0000
commitae82bb00643bf38ab2254994df934fb539dd65ac (patch)
tree0f40dffa229d042fac1948ba53f85b9be9ecddc3 /databases/jlog
parent124ad1ccabde9ef77dcffa26757d10884cf8aa80 (diff)
downloadports-ae82bb00643bf38ab2254994df934fb539dd65ac.tar.gz
ports-ae82bb00643bf38ab2254994df934fb539dd65ac.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
Notes
Notes: svn path=/head/; revision=399111
Diffstat (limited to 'databases/jlog')
-rw-r--r--databases/jlog/Makefile38
-rw-r--r--databases/jlog/distinfo2
-rw-r--r--databases/jlog/files/patch-Makefile.in11
-rw-r--r--databases/jlog/files/patch-jlog_io.c10
-rw-r--r--databases/jlog/pkg-descr11
-rw-r--r--databases/jlog/pkg-plist14
6 files changed, 86 insertions, 0 deletions
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