public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Adrian Schollmeyer" <nex+b-g-o@nexadn.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:dev commit in: net-libs/ixwebsocket/files/, net-libs/ixwebsocket/
Date: Mon, 20 Sep 2021 14:34:27 +0000 (UTC)	[thread overview]
Message-ID: <1632148413.230ae6504e8044193141d4455eff013e56e7aebe.nex+b-g-o@gentoo> (raw)

commit:     230ae6504e8044193141d4455eff013e56e7aebe
Author:     Adrian Schollmeyer <nex+b-g-o <AT> nexadn <DOT> de>
AuthorDate: Mon Sep 20 14:28:11 2021 +0000
Commit:     Adrian Schollmeyer <nex+b-g-o <AT> nexadn <DOT> de>
CommitDate: Mon Sep 20 14:33:33 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=230ae650

net-libs/ixwebsocket: Add new package

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Adrian Schollmeyer <nex+b-g-o <AT> nexadn.de>

 net-libs/ixwebsocket/Manifest                      |  1 +
 .../files/ixwebsocket-11.2.8-remove-deflate.patch  | 19 +++++++
 .../ixwebsocket-11.2.8-remove-network-tests.patch  | 28 ++++++++++
 .../ixwebsocket-11.2.8-use-gnuinstalldirs.patch    | 34 ++++++++++++
 .../ixwebsocket-11.2.8-use-system-spdlog.patch     | 55 +++++++++++++++++++
 net-libs/ixwebsocket/ixwebsocket-11.2.8.ebuild     | 62 ++++++++++++++++++++++
 net-libs/ixwebsocket/metadata.xml                  | 11 ++++
 7 files changed, 210 insertions(+)

diff --git a/net-libs/ixwebsocket/Manifest b/net-libs/ixwebsocket/Manifest
new file mode 100644
index 000000000..a2f68d56b
--- /dev/null
+++ b/net-libs/ixwebsocket/Manifest
@@ -0,0 +1 @@
+DIST ixwebsocket-11.2.8.tar.gz 583075 BLAKE2B 014af74ec236a49b8bad574761e6d861348ef22f3cbda798862f87591c27c2ee8b94f740d534ed7f6fc0736ea2e06788c64a208dab65575aa815d40472c6c50d SHA512 7938c2b59b5f310afa1a0c94171dd55a4e8821ac0763feb11528d520f1d3bf1037bb8d53d31eec1952888f601f597c00c9490e15cfca7f9c3aa6d80614d7b1f5

diff --git a/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-remove-deflate.patch b/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-remove-deflate.patch
new file mode 100644
index 000000000..fffedc6b7
--- /dev/null
+++ b/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-remove-deflate.patch
@@ -0,0 +1,19 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 77d2f6b..665c35f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -206,14 +206,6 @@ if (USE_ZLIB)
+   target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_ZLIB)
+ endif()
+ 
+-# brew install libdeflate
+-find_package(Deflate)
+-if (DEFLATE_FOUND)
+-  include_directories(${DEFLATE_INCLUDE_DIRS})
+-  target_link_libraries(ixwebsocket ${DEFLATE_LIBRARIES})
+-  target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_DEFLATE)
+-endif()
+-
+ if (WIN32)
+   target_link_libraries(ixwebsocket wsock32 ws2_32 shlwapi)
+   add_definitions(-D_CRT_SECURE_NO_WARNINGS)

diff --git a/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-remove-network-tests.patch b/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-remove-network-tests.patch
new file mode 100644
index 000000000..a2d1360cb
--- /dev/null
+++ b/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-remove-network-tests.patch
@@ -0,0 +1,28 @@
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 661aebb..bab73c7 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -11,15 +11,12 @@ option(USE_TLS "Add TLS support" ON)
+ 
+ # Shared sources
+ set (TEST_TARGET_NAMES
+-  IXSocketTest
+   IXSocketConnectTest
+   IXWebSocketServerTest
+   IXWebSocketTestConnectionDisconnection
+   IXUrlParserTest
+-  IXHttpClientTest
+   IXUnityBuildsTest
+   IXHttpTest
+-  IXDNSLookupTest
+   IXWebSocketSubProtocolTest
+   # IXWebSocketBroadcastTest ## FIXME was depending on cobra / take a broadcast server from ws
+   IXStrCaseCompareTest
+@@ -33,7 +30,6 @@ if (UNIX)
+ 
+     # Fail on Windows in CI probably because the pathing is wrong and
+     # some resource files cannot be found
+-    IXHttpServerTest
+     IXWebSocketChatTest
+   )
+ endif()

diff --git a/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-use-gnuinstalldirs.patch b/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-use-gnuinstalldirs.patch
new file mode 100644
index 000000000..a7e2b6ba8
--- /dev/null
+++ b/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-use-gnuinstalldirs.patch
@@ -0,0 +1,34 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 77d2f6b..4c64106 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -238,23 +238,25 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+     target_compile_options(ixwebsocket PRIVATE /MP)
+ endif()
+ 
++include(GNUInstallDirs)
++
+ target_include_directories(ixwebsocket PUBLIC
+   $<BUILD_INTERFACE:${IXWEBSOCKET_INCLUDE_DIRS}/>
+-  $<INSTALL_INTERFACE:include/ixwebsocket>
++  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/ixwebsocket>
+ )
+ 
+ set_target_properties(ixwebsocket PROPERTIES PUBLIC_HEADER "${IXWEBSOCKET_HEADERS}")
+ 
+ install(TARGETS ixwebsocket
+         EXPORT ixwebsocket
+-        ARCHIVE DESTINATION lib
+-        PUBLIC_HEADER DESTINATION include/ixwebsocket/
++        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++        PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ixwebsocket/
+ )
+ 
+ install(EXPORT ixwebsocket
+         FILE ixwebsocket-config.cmake
+         NAMESPACE ixwebsocket::
+-        DESTINATION lib/cmake/ixwebsocket)
++        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ixwebsocket)
+ 
+ if (USE_WS OR USE_TEST)
+   include(FetchContent)

diff --git a/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-use-system-spdlog.patch b/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-use-system-spdlog.patch
new file mode 100644
index 000000000..ed329b41d
--- /dev/null
+++ b/net-libs/ixwebsocket/files/ixwebsocket-11.2.8-use-system-spdlog.patch
@@ -0,0 +1,55 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 77d2f6b..86c7172 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -257,13 +257,9 @@ install(EXPORT ixwebsocket
+         DESTINATION lib/cmake/ixwebsocket)
+ 
+ if (USE_WS OR USE_TEST)
+-  include(FetchContent)
+-  FetchContent_Declare(spdlog
+-      GIT_REPOSITORY "https://github.com/gabime/spdlog"
+-      GIT_TAG "v1.8.0"
+-      GIT_SHALLOW 1) 
+-
+-  FetchContent_MakeAvailable(spdlog)
++  find_package(spdlog REQUIRED)
++  find_package(fmt REQUIRED)
++  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSPDLOG_FMT_EXTERNAL")
+ 
+   if (USE_WS)
+     add_subdirectory(ws)
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 661aebb..ab0c92e 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -66,7 +66,7 @@ target_include_directories(ixwebsocket_test PRIVATE
+   ../third_party
+ )
+ target_link_libraries(ixwebsocket_test ixwebsocket)
+-target_link_libraries(ixwebsocket_test spdlog)
++target_link_libraries(ixwebsocket_test spdlog::spdlog fmt::fmt)
+ 
+ foreach(TEST_TARGET_NAME ${TEST_TARGET_NAMES})
+   add_executable(${TEST_TARGET_NAME}
+@@ -89,7 +89,7 @@ foreach(TEST_TARGET_NAME ${TEST_TARGET_NAMES})
+   target_link_libraries(${TEST_TARGET_NAME} ixwebsocket_test)
+   target_link_libraries(${TEST_TARGET_NAME} ixwebsocket)
+ 
+-  target_link_libraries(${TEST_TARGET_NAME} spdlog)
++  target_link_libraries(${TEST_TARGET_NAME} spdlog fmt)
+ 
+   add_test(NAME ${TEST_TARGET_NAME}
+            COMMAND ${TEST_TARGET_NAME}
+diff --git a/ws/CMakeLists.txt b/ws/CMakeLists.txt
+index 98f15de..10834e5 100644
+--- a/ws/CMakeLists.txt
++++ b/ws/CMakeLists.txt
+@@ -31,6 +31,6 @@ add_executable(ws
+ # library with the most dependencies come first
+ target_link_libraries(ws ixwebsocket)
+ 
+-target_link_libraries(ws spdlog)
++target_link_libraries(ws spdlog::spdlog fmt::fmt)
+ 
+ install(TARGETS ws RUNTIME DESTINATION bin)

diff --git a/net-libs/ixwebsocket/ixwebsocket-11.2.8.ebuild b/net-libs/ixwebsocket/ixwebsocket-11.2.8.ebuild
new file mode 100644
index 000000000..43bcde917
--- /dev/null
+++ b/net-libs/ixwebsocket/ixwebsocket-11.2.8.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P="IXWebSocket-${PV}"
+
+DESCRIPTION="C++ websocket client and server library"
+HOMEPAGE="https://github.com/machinezone/IXWebSocket"
+SRC_URI="https://github.com/machinezone/IXWebSocket/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ssl test zlib ws"
+
+DEPEND="
+	sys-libs/zlib:=
+
+	ws? (
+		>=dev-libs/spdlog-1.8.0:=
+	)
+	test? (
+		>=dev-libs/spdlog-1.8.0:=
+	)
+"
+RDEPEND="
+	sys-libs/zlib:=
+"
+BDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	# Upstream installs to hardcoded lib- and include-dirs
+	"${FILESDIR}/${P}-use-gnuinstalldirs.patch"
+	# Some tests require network connectivity
+	"${FILESDIR}/${P}-remove-network-tests.patch"
+	# Upstream uses git submodules
+	"${FILESDIR}/${P}-use-system-spdlog.patch"
+	# Upstream detects deflate dynamically, so let's remove it
+	"${FILESDIR}/${P}-remove-deflate.patch"
+)
+
+src_configure() {
+	local mycmakeargs=(
+		-DUSE_TLS="$(usex ssl)"
+		-DUSE_ZLIB="$(usex zlib)"
+		-DUSE_WS="$(usex ws)"
+		-DUSE_TEST="$(usex test)"
+	)
+	cmake_src_configure
+}
+
+src_test() {
+	cd "${BUILD_DIR}" || die
+	ctest --output-on-failure || die
+}

diff --git a/net-libs/ixwebsocket/metadata.xml b/net-libs/ixwebsocket/metadata.xml
new file mode 100644
index 000000000..1d44d14fb
--- /dev/null
+++ b/net-libs/ixwebsocket/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<name>Adrian Schollmeyer</name>
+		<email>nex+b-g-o@nexadn.de</email>
+	</maintainer>
+	<use>
+		<flag name="ws">Build the ws utility</flag>
+	</use>
+</pkgmetadata>


             reply	other threads:[~2021-09-20 14:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-20 14:34 Adrian Schollmeyer [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-11-28 13:57 [gentoo-commits] repo/proj/guru:dev commit in: net-libs/ixwebsocket/files/, net-libs/ixwebsocket/ Adrian Schollmeyer
2022-02-27 12:32 Adrian Schollmeyer
2022-05-13 21:46 Adrian Schollmeyer
2024-12-28 13:21 Takuya Wakazono

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1632148413.230ae6504e8044193141d4455eff013e56e7aebe.nex+b-g-o@gentoo \
    --to=nex+b-g-o@nexadn.de \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox