Skip to content
Snippets Groups Projects
Verified Commit 833ccb41 authored by sunpoet's avatar sunpoet
Browse files

databases/trilogy: Add trilogy 2.6.0

Trilogy is a client library for MySQL-compatible database servers, designed for
performance, flexibility, and ease of embedding.

It's currently in production use on github.com.

Features:
- Supports the most frequently used parts of the text protocol
  - Handshake
  - Password authentication
  - Query, ping, and quit commands
- Support prepared statements (binary protocol)
- Low-level protocol API completely decoupled from IO
- Non-blocking client API wrapping the protocol API
- Blocking client API wrapping the non-blocking API
- No dependencies outside of POSIX, the C standard library & OpenSSL
- Minimal dynamic allocation
- MIT licensed
parent bf52f29a
Branches
No related tags found
No related merge requests found
......@@ -1059,6 +1059,7 @@
SUBDIR += tinycdb
SUBDIR += tokyocabinet
SUBDIR += tokyotyrant
SUBDIR += trilogy
SUBDIR += tsearch_extras
SUBDIR += tuning-primer
SUBDIR += twemproxy
......
PORTNAME= trilogy
PORTVERSION= 2.6.0
DISTVERSIONPREFIX= v
CATEGORIES= databases
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Client library for MySQL-compatible database servers
WWW= https://github.com/trilogy-libraries/trilogy
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= gmake ssl
USE_GITHUB= yes
GH_ACCOUNT= trilogy-libraries
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/example/trilogy_query ${STAGEDIR}${PREFIX}/bin/
cd ${WRKSRC}/inc/ && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/
${INSTALL_DATA} ${WRKSRC}/libtrilogy.a ${STAGEDIR}${PREFIX}/lib/
${INSTALL_LIB} ${WRKSRC}/libtrilogy.so ${STAGEDIR}${PREFIX}/lib/
.include <bsd.port.mk>
TIMESTAMP = 1697463030
SHA256 (trilogy-libraries-trilogy-v2.6.0_GH0.tar.gz) = 7439670bfaaf76fa88648c686b54a4db11308cc7cd2feedf86ade6732e6eaec6
SIZE (trilogy-libraries-trilogy-v2.6.0_GH0.tar.gz) = 113662
--- Makefile.orig 2023-09-18 20:57:42 UTC
+++ Makefile
@@ -21,16 +21,19 @@ else
endif
.PHONY: all
-all: libtrilogy.a examples
+all: libtrilogy.a libtrilogy.so examples
.PHONY: examples
examples: $(EXAMPLES)
-example/%: example/%.c libtrilogy.a
+example/%: example/%.c libtrilogy.so
$(CC) -o $@ $(CFLAGS) -pedantic $(LDFLAGS) $^ $(OPENSSL)
libtrilogy.a: $(OBJS)
$(AR) r $@ $^
+
+libtrilogy.so: $(OBJS)
+ $(CC) -shared $^ -o $@
%.o: %.c inc/trilogy/*.h
$(CC) -o $@ $(CFLAGS) -pedantic -c $<
Trilogy is a client library for MySQL-compatible database servers, designed for
performance, flexibility, and ease of embedding.
It's currently in production use on github.com.
Features:
- Supports the most frequently used parts of the text protocol
- Handshake
- Password authentication
- Query, ping, and quit commands
- Support prepared statements (binary protocol)
- Low-level protocol API completely decoupled from IO
- Non-blocking client API wrapping the protocol API
- Blocking client API wrapping the non-blocking API
- No dependencies outside of POSIX, the C standard library & OpenSSL
- Minimal dynamic allocation
- MIT licensed
bin/trilogy_query
include/trilogy.h
include/trilogy/blocking.h
include/trilogy/buffer.h
include/trilogy/builder.h
include/trilogy/charset.h
include/trilogy/client.h
include/trilogy/error.h
include/trilogy/packet_parser.h
include/trilogy/protocol.h
include/trilogy/reader.h
include/trilogy/socket.h
include/trilogy/vendor/curl_hostcheck.h
include/trilogy/vendor/openssl_hostname_validation.h
lib/libtrilogy.a
lib/libtrilogy.so
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment