aboutsummaryrefslogtreecommitdiffstats
path: root/databases
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2015-10-12 12:54:18 +0800
committeralfred <alfred@FreeBSD.org>2015-10-12 12:54:18 +0800
commit1793f4db11e50990d979735a163fde578745e1dc (patch)
tree0f40dffa229d042fac1948ba53f85b9be9ecddc3 /databases
parente462c217a824c24f5d72180749cf957126f0460d (diff)
downloadfreebsd-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/Makefile1
-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
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