commit:     edb423f1db1df4f7ef36c155987979d7b37cbdfb
Author:     Xin Yang <yangmame <AT> icloud <DOT> com>
AuthorDate: Thu Feb 29 03:51:23 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Thu Feb 29 15:42:56 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=edb423f1

net-vpn/candy: new 4.0 ebuild with version and cflags env patch

Closes: https://github.com/gentoo/guru/pull/145

Signed-off-by: Xin Yang <yangmame <AT> icloud.com>
Signed-off-by: David Roman <davidroman96 <AT> gmail.com>

 net-vpn/candy/Manifest                             |  1 +
 net-vpn/candy/candy-4.0.ebuild                     | 43 ++++++++++++
 ...candy-4.0-show-version-and-use-cflags-env.patch | 80 ++++++++++++++++++++++
 3 files changed, 124 insertions(+)

diff --git a/net-vpn/candy/Manifest b/net-vpn/candy/Manifest
index f87e317a79..ae1de07b3a 100644
--- a/net-vpn/candy/Manifest
+++ b/net-vpn/candy/Manifest
@@ -1 +1,2 @@
 DIST candy-3.9.1.tar.gz 37847 BLAKE2B 
af7c857a8a41f0e98bd744162be563b973e20a630fb505de91155ab9fb7a17679a2bb9f69db8c737258d1293c5d77ad96a65a2b22455512b8f97390a7368165f
 SHA512 
aa9727c74ab7c9536331098f11a2837daa51aa58503cbf5b43536afedf5eea8d30db296f515c4689cf44c980eea5a88e06ad161836fe64d4146de4fdce9d99ac
+DIST candy-4.0.tar.gz 43112 BLAKE2B 
84c3fbab30dc1d40ba73e7c90a02bf6c13b9bb0de2339fe128c958242213986dc2c490c680032c98f9a3a849e237f1f22274b600e55ed94aea91d9529bf972bf
 SHA512 
9f76ab338cec381e1421040055ba73882a32f6b2b9bebe8fbc289c1c0e418506a57698fa8e551a31a918dfbcfa668dbb6c1d82390a2496a7fe35d6a17adacd64

diff --git a/net-vpn/candy/candy-4.0.ebuild b/net-vpn/candy/candy-4.0.ebuild
new file mode 100644
index 0000000000..70b9c5a55e
--- /dev/null
+++ b/net-vpn/candy/candy-4.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake systemd
+
+DESCRIPTION="Another virtual private network that supports peer-to-peer 
connections"
+HOMEPAGE="https://github.com/lanthora/candy";
+SRC_URI="https://github.com/lanthora/candy/archive/refs/tags/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+       dev-libs/uriparser
+       dev-libs/libconfig
+       net-libs/ixwebsocket[ws]
+       dev-libs/openssl
+       sys-libs/zlib
+       dev-libs/libfmt
+       dev-libs/spdlog
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+       eapply "${FILESDIR}/${P}-show-version-and-use-cflags-env.patch"
+       cmake_src_prepare
+       default
+}
+
+src_install(){
+       cmake_src_install
+       default
+
+       insinto /etc
+       doins candy.conf
+       fperms 0644 /etc/candy.conf
+
+       systemd_dounit candy.service
+       systemd_dounit candy@.service
+}

diff --git 
a/net-vpn/candy/files/candy-4.0-show-version-and-use-cflags-env.patch 
b/net-vpn/candy/files/candy-4.0-show-version-and-use-cflags-env.patch
new file mode 100644
index 0000000000..c0e0121f14
--- /dev/null
+++ b/net-vpn/candy/files/candy-4.0-show-version-and-use-cflags-env.patch
@@ -0,0 +1,80 @@
+From de8f5a3109ee3bdc472fbc7fcb1572aaad0b8cb9 Mon Sep 17 00:00:00 2001
+From: lanthora <lanth...@outlook.com>
+Date: Thu, 29 Feb 2024 05:16:53 +0000
+Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=98=BE=E7=A4=BA=E7=89=88?=
+ =?UTF-8?q?=E6=9C=AC=E5=8F=B7?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ CMakeLists.txt   | 10 ++++++----
+ src/main/main.cc | 13 +++++++++++++
+ 2 files changed, 19 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1ebf2c0..dffc31d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,10 +1,12 @@
+ cmake_minimum_required(VERSION 3.18.4)
+ 
+-project(candy CXX)
++project(candy LANGUAGES CXX VERSION 4.0)
+ 
+-set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++2b -Wall -Werror -Wfatal-errors 
-Wno-unknown-pragmas")
+-set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g -fsanitize=address")
+-set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++2b -Wall -Werror 
-Wfatal-errors -Wno-unknown-pragmas")
++set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address")
++set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
++
++add_compile_definitions(VERSION="${CMAKE_PROJECT_VERSION}")
+ 
+ include_directories(${CMAKE_SOURCE_DIR}/src)
+ 
+diff --git a/src/main/main.cc b/src/main/main.cc
+index 286d24d..65cdc4f 100644
+--- a/src/main/main.cc
++++ b/src/main/main.cc
+@@ -21,6 +21,10 @@
+ 
+ #include <argp.h>
+ 
++#ifndef VERSION
++#define VERSION "unknown"
++#endif
++
+ namespace {
+ 
+ struct arguments {
+@@ -54,6 +58,7 @@ struct argp_option options[] = {
+     {"config", 'c', "PATH", 0, "Configuration file path"},
+     {"discovery", OPT_DISCOVERY_INTERVAL, "SECONDS", 0, "Active discovery 
broadcast interval"},
+     {"route", 'r', "COST", 0, "Cost of routing"},
++    {"version", 'v', 0, 0, "Show version"},
+     {"no-timestamp", OPT_NO_TIMESTAMP, 0, 0, "Log does not show time"},
+     {"debug", OPT_LOG_LEVEL_DEBUG, 0, 0, "Show debug level logs"},
+     {"auto-restart", OPT_AUTO_RESTART, 0, 0, "Automatic restart"},
+@@ -72,6 +77,11 @@ int setLogLevelDebug() {
+     return 0;
+ }
+ 
++void showVersion() {
++    std::cout << VERSION << std::endl;
++    exit(0);
++}
++
+ bool needShowUsage(struct arguments *arguments, struct argp_state *state) {
+     if (state->arg_num > 0)
+         return true;
+@@ -141,6 +151,9 @@ int parseOption(int key, char *arg, struct argp_state 
*state) {
+     case 'c':
+         parseConfigFile(arguments, arg);
+         break;
++    case 'v':
++        showVersion();
++        break;
+     case OPT_NO_TIMESTAMP:
+         disableLogTimestamp();
+         break;

Reply via email to