Skip to content

Commit

Permalink
www/dpp: New port: C++ Discord API bot library
Browse files Browse the repository at this point in the history
  • Loading branch information
yurivict committed Jan 10, 2024
1 parent 39b65e7 commit 5484cd2
Show file tree
Hide file tree
Showing 5 changed files with 143 additions and 0 deletions.
1 change: 1 addition & 0 deletions www/Makefile
Expand Up @@ -145,6 +145,7 @@
SUBDIR += domoticz
SUBDIR += dooble
SUBDIR += dot-http
SUBDIR += dpp
SUBDIR += drill
SUBDIR += drupal10
SUBDIR += drupal7
Expand Down
34 changes: 34 additions & 0 deletions www/dpp/Makefile
@@ -0,0 +1,34 @@
PORTNAME= dpp
DISTVERSION= 10.0.29
CATEGORIES= www devel
MASTER_SITES= https://github.com/brainboxdotcc/DPP/releases/download/v${DISTVERSION}/
PKGNAMESUFFIX= -discord
DISTNAME= DPP-${DISTVERSION}

MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ Discord API bot library
WWW= https://dpp.dev/

LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE

BUILD_DEPENDS= nlohmann-json>0:devel/nlohmann-json
LIB_DEPENDS= libopus.so:audio/opus \
libsodium.so:security/libsodium
RUN_DEPENDS= nlohmann-json>0:devel/nlohmann-json

USES= cmake:testing compiler:c++20-lang localbase ssl

CMAKE_ON= DPP_USE_EXTERNAL_JSON DPP_NO_VCPKG
CMAKE_ON+= DPP_CORO # experimental support for C++20 coroutines
CMAKE_OFF= RUN_LDCONFIG DPP_BUILD_TEST
CMAKE_TESTING_ON= DPP_BUILD_TEST

MAKE_ENV= TEST_DATA_DIR=${WRKSRC}/testdata/ # only for tests

post-extract:
@${RM} -r ${WRKSRC}/include/dpp/nlohmann

# 1 test fails: ts_not_null(), see https://github.com/brainboxdotcc/DPP/issues/1063

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions www/dpp/distinfo
@@ -0,0 +1,3 @@
TIMESTAMP = 1704840621
SHA256 (DPP-10.0.29.tar.gz) = a37e91fbdabee20cb0313700588db4077abf0ebabafe386457d999d22d2d0682
SIZE (DPP-10.0.29.tar.gz) = 15560520
19 changes: 19 additions & 0 deletions www/dpp/pkg-descr
@@ -0,0 +1,19 @@
D++ is a lightweight and efficient library for Discord written in modern C++,
covering as much of the API specification as possible with an incredibly small
memory footprint even when caching large amounts of data.

Library Features:
* Support for Discord API v10
* Really small memory footprint
* Efficient caching system for guilds, channels, guild members, roles, users
* Sharding and clustering (Many shards, one process: specify the number of
shards, or let the library decide)
* Highly optimised ETF (Erlang Term Format) support for very fast websocket
throughput
* Slash Commands/Interactions support
* Voice support (sending and receiving audio)
* The entire Discord API is available for use in the library
* Stable Windows support
* Ready-made compiled packages for Windows, Raspberry Pi (ARM64/ARM7/ARMv6),
Debian x86/x64, and RPM based distributions
* Highly scalable for large amounts of guilds and users
86 changes: 86 additions & 0 deletions www/dpp/pkg-plist
@@ -0,0 +1,86 @@
include/dpp/appcommand.h
include/dpp/application.h
include/dpp/auditlog.h
include/dpp/automod.h
include/dpp/ban.h
include/dpp/cache.h
include/dpp/channel.h
include/dpp/cluster.h
include/dpp/cluster_coro_calls.h
include/dpp/cluster_sync_calls.h
include/dpp/collector.h
include/dpp/colors.h
include/dpp/commandhandler.h
include/dpp/coro.h
include/dpp/coro/async.h
include/dpp/coro/coro.h
include/dpp/coro/coroutine.h
include/dpp/coro/job.h
include/dpp/coro/task.h
include/dpp/coro/when_any.h
include/dpp/discordclient.h
include/dpp/discordevents.h
include/dpp/discordvoiceclient.h
include/dpp/dispatcher.h
include/dpp/dns.h
include/dpp/dpp.h
include/dpp/dtemplate.h
include/dpp/emoji.h
include/dpp/entitlement.h
include/dpp/etf.h
include/dpp/event.h
include/dpp/event_router.h
include/dpp/exception.h
include/dpp/export.h
include/dpp/guild.h
include/dpp/httpsclient.h
include/dpp/integration.h
include/dpp/intents.h
include/dpp/invite.h
include/dpp/isa/avx.h
include/dpp/isa/avx2.h
include/dpp/isa/avx512.h
include/dpp/isa/fallback.h
include/dpp/isa_detection.h
include/dpp/json.h
include/dpp/json_fwd.h
include/dpp/json_interface.h
include/dpp/managed.h
include/dpp/message.h
include/dpp/misc-enum.h
include/dpp/once.h
include/dpp/permissions.h
include/dpp/presence.h
include/dpp/prune.h
include/dpp/queues.h
include/dpp/restrequest.h
include/dpp/restresults.h
include/dpp/role.h
include/dpp/scheduled_event.h
include/dpp/sku.h
include/dpp/snowflake.h
include/dpp/socket.h
include/dpp/sslclient.h
include/dpp/stage_instance.h
include/dpp/stringops.h
include/dpp/sync.h
include/dpp/sysdep.h
include/dpp/thread.h
include/dpp/timed_listener.h
include/dpp/timer.h
include/dpp/unicode_emoji.h
include/dpp/user.h
include/dpp/utility.h
include/dpp/version.h
include/dpp/voiceregion.h
include/dpp/voicestate.h
include/dpp/webhook.h
include/dpp/win32_safe_warnings.h
include/dpp/wsclient.h
lib/cmake/dpp/dpp-config-version.cmake
lib/cmake/dpp/dpp-config.cmake
lib/cmake/dpp/dpp-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/dpp/dpp.cmake
lib/libdpp.so
lib/libdpp.so.10.0.29
libdata/pkgconfig/dpp.pc

0 comments on commit 5484cd2

Please sign in to comment.