commit:     adce6ec38af302335c76c031a4806e0b24ba4caa
Author:     Ronny (tastytea) Gutbrod <gentoo <AT> tastytea <DOT> de>
AuthorDate: Mon Aug 16 21:02:34 2021 +0000
Commit:     Ronny Gutbrod <gentoo <AT> tastytea <DOT> de>
CommitDate: Mon Aug 16 21:08:35 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=adce6ec3

dev-cpp/drogon: New package.

C++14/17 based HTTP web application framework

Signed-off-by: Ronny (tastytea) Gutbrod <gentoo <AT> tastytea.de>

 dev-cpp/drogon/Manifest                            |  1 +
 dev-cpp/drogon/drogon-1.7.1.ebuild                 | 64 ++++++++++++++++++++++
 .../drogon/files/drogon-1.7.1_GNUInstallDirs.patch | 33 +++++++++++
 dev-cpp/drogon/metadata.xml                        | 17 ++++++
 4 files changed, 115 insertions(+)

diff --git a/dev-cpp/drogon/Manifest b/dev-cpp/drogon/Manifest
new file mode 100644
index 000000000..58b45827d
--- /dev/null
+++ b/dev-cpp/drogon/Manifest
@@ -0,0 +1 @@
+DIST drogon-1.7.1.tar.gz 465299 BLAKE2B 
72ddcc050333f6ff8d0749c3de5a4db80cf5f36613253d90abcbf8983aa53db44a6a4e71b73cc42c0596684b7a56a1cb69faa348652c0fc673e6be7d3ad383b3
 SHA512 
8a7cb8aa87cc48b130a5b47558b3c9e2a0af13cd8b76681e42d14a366dac75c88e389f2e2fe03b4f0f1e0e31971a47eee2bf5df8fcb4b79f8ed00d2a592315b6

diff --git a/dev-cpp/drogon/drogon-1.7.1.ebuild 
b/dev-cpp/drogon/drogon-1.7.1.ebuild
new file mode 100644
index 000000000..ce75c0321
--- /dev/null
+++ b/dev-cpp/drogon/drogon-1.7.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="C++14/17 based HTTP web application framework"
+HOMEPAGE="https://github.com/drogonframework/drogon";
+SRC_URI="https://github.com/drogonframework/drogon/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+brotli examples mariadb postgres redis sqlite +ssl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       dev-cpp/trantor
+       dev-libs/jsoncpp
+       sys-libs/zlib
+       brotli? ( app-arch/brotli )
+       mariadb? ( dev-db/mariadb:= )
+       postgres? ( dev-db/postgresql:= )
+       redis? ( dev-libs/hiredis )
+       sqlite? ( dev-db/sqlite )
+       ssl? ( dev-libs/openssl )
+"
+DEPEND="
+       ${RDEPEND}
+       test? ( dev-cpp/gtest )
+
+"
+
+PATCHES=( "${FILESDIR}/${PN}-1.7.1_GNUInstallDirs.patch" )
+
+DOCS=( CONTRIBUTING.md ChangeLog.md README.md README.zh-CN.md README.zh-TW.md )
+
+src_prepare() {
+       sed -i '/add_subdirectory(trantor)/d' CMakeLists.txt || die
+       sed -i '/${PROJECT_SOURCE_DIR}\/trantor\/trantor\/tests\/server.pem/d' \
+               lib/tests/CMakeLists.txt || die
+       use brotli || sed -i '/find_package(Brotli)/d' CMakeLists.txt || die
+       use ssl || sed -i '/find_package(OpenSSL)/d' CMakeLists.txt || die
+
+       use examples && DOCS+=( "${S}/examples" )
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       # NOTE: Next version has BUILD_DOC switch.
+       local -a mycmakeargs=(
+               "-DBUILD_EXAMPLES=NO"
+               "-DBUILD_DROGON_SHARED=YES"
+               "-DBUILD_POSTGRESQL=$(usex postgres)"
+               "-DBUILD_MYSQL=$(usex mariadb)"
+               "-DBUILD_SQLITE=$(usex sqlite)"
+               "-DBUILD_REDIS=$(usex redis)"
+               "-DBUILD_TESTING=$(usex test)"
+       )
+
+       cmake_src_configure
+}

diff --git a/dev-cpp/drogon/files/drogon-1.7.1_GNUInstallDirs.patch 
b/dev-cpp/drogon/files/drogon-1.7.1_GNUInstallDirs.patch
new file mode 100644
index 000000000..bd52972bb
--- /dev/null
+++ b/dev-cpp/drogon/files/drogon-1.7.1_GNUInstallDirs.patch
@@ -0,0 +1,33 @@
+From 318327104fa444f764caccc9ad7ae40ae3452ea9 Mon Sep 17 00:00:00 2001
+From: tastytea <tasty...@tastytea.de>
+Date: Mon, 16 Aug 2021 22:19:46 +0200
+Subject: [PATCH] cmake: Use GNUInstallDirs to figure out install dirs.
+
+---
+ CMakeLists.txt | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 821cf09..9634bfc 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -33,11 +33,12 @@ set(DROGON_VERSION
+     ${DROGON_MAJOR_VERSION}.${DROGON_MINOR_VERSION}.${DROGON_PATCH_VERSION})
+ set(DROGON_VERSION_STRING "${DROGON_VERSION}")
+ 
++include(GNUInstallDirs)
+ # Offer the user the choice of overriding the installation directories
+-set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries")
+-set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables")
+-set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header 
files")
+-set(DEF_INSTALL_DROGON_CMAKE_DIR lib/cmake/Drogon)
++set(INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation 
directory for libraries")
++set(INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR} CACHE PATH "Installation 
directory for executables")
++set(INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Installation 
directory for header files")
++set(DEF_INSTALL_DROGON_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/Drogon)
+ set(INSTALL_DROGON_CMAKE_DIR ${DEF_INSTALL_DROGON_CMAKE_DIR}
+     CACHE PATH "Installation directory for cmake files")
+ 
+-- 
+2.31.1
+

diff --git a/dev-cpp/drogon/metadata.xml b/dev-cpp/drogon/metadata.xml
new file mode 100644
index 000000000..80e637052
--- /dev/null
+++ b/dev-cpp/drogon/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>gen...@tastytea.de</email>
+               <name>Ronny (tastytea) Gutbrod</name>
+       </maintainer>
+       <upstream>
+               <doc>https://drogon.docsforge.com/</doc>
+       </upstream>
+       <use>
+               <flag name="brotli">Enable support for brotli compression</flag>
+               <flag name="mariadb">Add support for the mariadb database</flag>
+               <flag name="redis">Add support for the Redis database via
+               dev-libs/hiredis</flag>
+       </use>
+</pkgmetadata>

Reply via email to