Index: databases/Makefile =================================================================== --- databases/Makefile +++ databases/Makefile @@ -122,6 +122,7 @@ SUBDIR += jdbc-oracle8i SUBDIR += jdbc-oracle9i SUBDIR += jdbm2 + SUBDIR += jlog SUBDIR += jrobin SUBDIR += jrrd SUBDIR += kbibtex Index: databases/jlog/Makefile =================================================================== --- /dev/null +++ databases/jlog/Makefile @@ -0,0 +1,50 @@ +# Created by: alfred +# $FreeBSD$ + +PORTNAME= jlog +# version is YYYYMMDDxx <- xx is 00, 01 as needed per day +PORTVERSION= 1.2.2.s2015012200 +PORTREVISION= 1 +CATEGORIES= databases + +MAINTAINER= alfred@FreeBSD.org +COMMENT= journaled log + +LICENSE= BSD3CLAUSE + +USE_GITHUB= yes +GH_ACCOUNT= omniti-labs +# we want cf3085fe as it has c++ fixes +# and other additions over the latest 1.2.2 +# release +GH_TAGNAME= cf3085f + +#DISTVERSIONSUFFIX= -${GH_COMMIT} +#DISTFILES= ${PORTNAME}-${PORTVERSION}-${GH_COMMIT}. + +GNU_CONFIGURE= yes +USE_AUTOTOOLS= autoconf + +OPTIONS_DEFINE= PERL + +OPTIONS_DEFAULT= PERL + +.include + +USES+= shebangfix +SHEBANG_FILES= jlog_change_endian.pl jlog_sanity_check.pl + +#SHEBANG_LANG=perl +perl_OLD_CMD=/opt/msys/3rdParty/bin/perl +#and lua_CMD. For example SHEBANG_LANG=lua, then lua_OLD_CMD=/usr/bin/lua and lua_CMD=${LOCALBASE}/bin/lua. + +.if ${PORT_OPTIONS:MPERL} +USES+= perl5 +CONFIGURE_ARGS+= --with-perl-lib=site +PLIST_SUB+= WITH_PERL="" +.else +CONFIGURE_ARGS+= --without-perl +PLIST_SUB+= WITH_PERL="@comment " +.endif + +.include Index: databases/jlog/distinfo =================================================================== --- /dev/null +++ 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 Index: databases/jlog/files/patch-Makefile.in =================================================================== --- /dev/null +++ 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 Index: databases/jlog/files/patch-jlog_io.c =================================================================== --- /dev/null +++ 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); Index: databases/jlog/pkg-descr =================================================================== --- /dev/null +++ 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 Index: databases/jlog/pkg-plist =================================================================== --- /dev/null +++ databases/jlog/pkg-plist @@ -0,0 +1,15 @@ +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/.packlist +%%SITE_ARCH%%/auto/JLog/JLog.so +%%PERL5_MAN3%%/JLog.3.gz +%%PERL5_MAN3%%/JLog::Reader.3.gz +%%PERL5_MAN3%%/JLog::Writer.3.gz