diff options
author | Tobias C. Berner <tcberner@FreeBSD.org> | 2020-02-23 07:21:50 +0000 |
---|---|---|
committer | Tobias C. Berner <tcberner@FreeBSD.org> | 2020-02-23 07:21:50 +0000 |
commit | 6efccf46c9f9b66094dc08e8c443f7cb230845ea (patch) | |
tree | a343800239718221e6707bb61fbda5c4fc0ac7c6 /misc/biblesync | |
parent | 3c14867820b202863e16364efe528f067effef85 (diff) | |
download | ports-6efccf46c9f9b66094dc08e8c443f7cb230845ea.tar.gz ports-6efccf46c9f9b66094dc08e8c443f7cb230845ea.zip |
New port: misc/biblesync: Multicast shared co-navigation library for Bible programs
This is a C++ single class library encapsulating a protocol conduit. The
premise is that there is a local network over which to multicast Bible
navigation, and someone, possibly several someones, will transmit, and others
will receive. The choices for when you decide to xmit and what to do when you
recv are up to you as the application designer.
Access to the conduit is by creating the object, setting the mode, calling
Transmit() to xmit nav events, and arranging the frequent polling of Receive()
to recv nav events. There is more than just navigation to be handled; there
are live/dead events for potential Speakers as well as mismatches, presence
announcements, and errors. There is a programming reference biblesync.7 which
explains the details, both from a high level view of the essentials of the
protocol's behavior and at a low level of how you create, access, and use the
conduit class. The (single) BibleSync object should persist throughout the
life of your application, but at any time you can set the mode to "disable,"
and preferably stop the receive polling, and then re-enable it later as the
user needs.
Much work has been done in integrating this library into its first application,
Xiphos. It is useful to examine Xiphos' code to see where and how integration
has been done. Get a Xiphos source tree using:
git clone https://github.com/crosswire/xiphos
WWW: https://github.com/karlkleinpaste/biblesync
PR: 243916
Submitted by: salvadore
Notes
Notes:
svn path=/head/; revision=526881
Diffstat (limited to 'misc/biblesync')
-rw-r--r-- | misc/biblesync/Makefile | 33 | ||||
-rw-r--r-- | misc/biblesync/distinfo | 3 | ||||
-rw-r--r-- | misc/biblesync/pkg-descr | 24 | ||||
-rw-r--r-- | misc/biblesync/pkg-plist | 6 |
4 files changed, 66 insertions, 0 deletions
diff --git a/misc/biblesync/Makefile b/misc/biblesync/Makefile new file mode 100644 index 000000000000..4bb7689aa4bf --- /dev/null +++ b/misc/biblesync/Makefile @@ -0,0 +1,33 @@ +# $FreeBSD$ + +PORTNAME= biblesync +DISTVERSION= 2.0.1 +CATEGORIES= misc + +MAINTAINER= salvadore@FreeBSD.org +COMMENT= Multicast shared co-navigation library for Bible programs + +LICENSE= PD +LICENSE_FILE= ${WRKSRC}/COPYING + +LIB_DEPENDS= libuuid.so:misc/e2fsprogs-libuuid + +USES= cmake gettext-runtime + +USE_GCC= yes + +USE_GITHUB= yes +GH_ACCOUNT= karlkleinpaste + +USE_LDCONFIG= yes + +CMAKE_ON= BUILD_SHARED_LIBS + +post-patch: + ${REINPLACE_CMD} s,/bibleysnc,, ${WRKSRC}/biblesync.pc.in + +post-install: + ${INSTALL_MAN} ${STAGEDIR}${PREFIX}/share/man/man7/biblesync.7 ${STAGEDIR}${MAN7PREFIX}/man/man7 + ${RM} -R ${STAGEDIR}${PREFIX}/share/man + +.include <bsd.port.mk> diff --git a/misc/biblesync/distinfo b/misc/biblesync/distinfo new file mode 100644 index 000000000000..507f52a70ab8 --- /dev/null +++ b/misc/biblesync/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1580898650 +SHA256 (karlkleinpaste-biblesync-2.0.1_GH0.tar.gz) = 953eed0b0ee7e4f8c6c34f7871babed26f03049e4dad5fc222fe3a65811a4d16 +SIZE (karlkleinpaste-biblesync-2.0.1_GH0.tar.gz) = 89139 diff --git a/misc/biblesync/pkg-descr b/misc/biblesync/pkg-descr new file mode 100644 index 000000000000..f95e0b103bb5 --- /dev/null +++ b/misc/biblesync/pkg-descr @@ -0,0 +1,24 @@ +This is a C++ single class library encapsulating a protocol conduit. The +premise is that there is a local network over which to multicast Bible +navigation, and someone, possibly several someones, will transmit, and others +will receive. The choices for when you decide to xmit and what to do when you +recv are up to you as the application designer. + +Access to the conduit is by creating the object, setting the mode, calling +Transmit() to xmit nav events, and arranging the frequent polling of Receive() +to recv nav events. There is more than just navigation to be handled; there +are live/dead events for potential Speakers as well as mismatches, presence +announcements, and errors. There is a programming reference biblesync.7 which +explains the details, both from a high level view of the essentials of the +protocol's behavior and at a low level of how you create, access, and use the +conduit class. The (single) BibleSync object should persist throughout the +life of your application, but at any time you can set the mode to "disable," +and preferably stop the receive polling, and then re-enable it later as the +user needs. + +Much work has been done in integrating this library into its first application, +Xiphos. It is useful to examine Xiphos' code to see where and how integration +has been done. Get a Xiphos source tree using: +git clone https://github.com/crosswire/xiphos + +WWW: https://github.com/karlkleinpaste/biblesync diff --git a/misc/biblesync/pkg-plist b/misc/biblesync/pkg-plist new file mode 100644 index 000000000000..da8ce30c5209 --- /dev/null +++ b/misc/biblesync/pkg-plist @@ -0,0 +1,6 @@ +include/biblesync/biblesync-version.hh +include/biblesync/biblesync.hh +lib/libbiblesync.so +lib/libbiblesync.so.2.0.1 +libdata/pkgconfig/biblesync.pc +man/man7/biblesync.7.gz |