public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Aisha Tammy" <gentoo@aisha.cc>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:dev commit in: net-libs/usockets/files/, net-libs/usockets/
Date: Thu,  9 Sep 2021 16:14:42 +0000 (UTC)	[thread overview]
Message-ID: <1631203964.c28c5380044fd703e28d2a45b18ef9e078551db9.epsilon-0@gentoo> (raw)

commit:     c28c5380044fd703e28d2a45b18ef9e078551db9
Author:     Aisha Tammy <gentoo <AT> aisha <DOT> cc>
AuthorDate: Thu Sep  9 16:12:44 2021 +0000
Commit:     Aisha Tammy <gentoo <AT> aisha <DOT> cc>
CommitDate: Thu Sep  9 16:12:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c28c5380

net-libs/usockets: version bump to latest commit

adds new optional dependency on dev-cpp/asio

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Aisha Tammy <gentoo <AT> aisha.cc>

 net-libs/usockets/Manifest                         |   1 +
 .../files/usockets-0.7.1_p20210909-Makefile.patch  | 138 +++++++++++++++++++++
 net-libs/usockets/metadata.xml                     |   1 +
 ...9999.ebuild => usockets-0.7.1_p20210909.ebuild} |  16 ++-
 net-libs/usockets/usockets-9999.ebuild             |  16 ++-
 5 files changed, 160 insertions(+), 12 deletions(-)

diff --git a/net-libs/usockets/Manifest b/net-libs/usockets/Manifest
index aef4019f1..7f03a5189 100644
--- a/net-libs/usockets/Manifest
+++ b/net-libs/usockets/Manifest
@@ -1 +1,2 @@
 DIST usockets-0.7.1_p20210214.tar.gz 62372 BLAKE2B 2853792af6f86954d7920cd33936ddd586cdeb9149dbffd0687b3bbc0965526d28c363864398d17182df9e038c35dc384271f01e72f7a60189319b9e820de3cb SHA512 d4827982a288c81edfcb167cfa6ee8fe11bbae90d25ed9086c006cf6098dfad8b6b910f8fb93ecc67fbea76452627dd4666c7ae3d74fb20112f8e22f7091ec11
+DIST usockets-0.7.1_p20210909.tar.gz 65495 BLAKE2B 23aeb6ec3c330926aa375f0dedf4eb0e63f89fd833145cc3af47936de8ffa2139273710eee7019c2f5c12d7715746a38a6b64a3e48a349a2893599116ca623d8 SHA512 29bac37a75172cdb2881b27d142972a235470e8e0ec85e98c1bfd5f587ab1f777001e69a57bfc46b87a74bf73f4a166300e42e9f0ed908810bcf5c46290abdce

diff --git a/net-libs/usockets/files/usockets-0.7.1_p20210909-Makefile.patch b/net-libs/usockets/files/usockets-0.7.1_p20210909-Makefile.patch
new file mode 100644
index 000000000..d8efed76f
--- /dev/null
+++ b/net-libs/usockets/files/usockets-0.7.1_p20210909-Makefile.patch
@@ -0,0 +1,138 @@
+diff --git a/Makefile b/Makefile
+index b809ac0..857a1f7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,72 +1,69 @@
++DESTDIR ?=
++
++prefix ?=	/usr
++exec_prefix ?=	$(prefix)
++LIB ?=		lib
++libdir ?=	$(exec_prefix)/$(LIB)
++includedir ?=	$(exec_prefix)/include
++
++PKG_CONFIG ?=	pkg-config
++
++VERSION ?=	0.0
++LIBTARGET =	libusockets.so.$(VERSION)
++
++REQUIRES =
++COMMON_FLAGS =	-fPIC -Isrc
++
+ # WITH_OPENSSL=1 enables OpenSSL 1.1+ support or BoringSSL
+ # For now we need to link with C++ for OpenSSL support, but should be removed with time
+ ifeq ($(WITH_OPENSSL),1)
+-	override CFLAGS += -DLIBUS_USE_OPENSSL
+-	# With problems on macOS, make sure to pass needed LDFLAGS required to find these
+-	override LDFLAGS += -lssl -lcrypto -lstdc++
+-else
+-	# WITH_WOLFSSL=1 enables WolfSSL 4.2.0 support (mutually exclusive with OpenSSL)
+-	ifeq ($(WITH_WOLFSSL),1)
+-		# todo: change these
+-		override CFLAGS += -DLIBUS_USE_WOLFSSL -I/usr/local/include
+-		override LDFLAGS += -L/usr/local/lib -lwolfssl
+-	else
+-		override CFLAGS += -DLIBUS_NO_SSL
+-	endif
++COMMON_FLAGS +=	-DLIBUS_USE_OPENSSL
++LDFLAGS +=	-lssl -lcrypto -lstdc++
++REQUIRES +=	libssl libcrypto
+ endif
+ 
+ # WITH_LIBUV=1 builds with libuv as event-loop
+ ifeq ($(WITH_LIBUV),1)
+-	override CFLAGS += -DLIBUS_USE_LIBUV
+-	override LDFLAGS += -luv
++COMMON_FLAGS +=	-DLIBUS_USE_LIBUV
++REQUIRES +=	libuv
+ endif
+ 
+-# WITH_ASIO builds with boot asio event-loop
++# WITH_ASIO builds with boost asio event-loop
+ ifeq ($(WITH_ASIO),1)
+-	override CFLAGS += -DLIBUS_USE_ASIO
+-	override LDFLAGS += -lstdc++ -lpthread
+-	override CXXFLAGS += -pthread -DLIBUS_USE_ASIO
++COMMON_FLAGS +=	-pthread -DLIBUS_USE_ASIO
+ endif
+ 
+-# WITH_GCD=1 builds with libdispatch as event-loop
+-ifeq ($(WITH_GCD),1)
+-	override CFLAGS += -DLIBUS_USE_GCD
+-	override LDFLAGS += -framework CoreFoundation
+-endif
+-
+-# WITH_ASAN builds with sanitizers
+-ifeq ($(WITH_ASAN),1)
+-	override CFLAGS += -fsanitize=address -g
+-	override LDFLAGS += -fsanitize=address
+-endif
+-
+-override CFLAGS += -std=c11 -Isrc
+-override LDFLAGS += uSockets.a
++CFLAGS +=	-std=c11 $(COMMON_FLAGS)
++CXXFLAGS +=	-std=c++17 $(COMMON_FLAGS)
+ 
+ # By default we build the uSockets.a static library
+ default:
+-	rm -f *.o
+-	$(CC) $(CFLAGS) -flto -O3 -c src/*.c src/eventing/*.c src/crypto/*.c
++	$(CC) $(CFLAGS) -c src/*.c src/eventing/*.c src/crypto/*.c
+ # Also link in Boost Asio support
+ ifeq ($(WITH_ASIO),1)
+-	$(CXX) $(CXXFLAGS) -Isrc -std=c++14 -flto -O3 -c src/eventing/asio.cpp
++	$(CXX) $(CXXFLAGS) -c src/eventing/asio.cpp
+ endif
+-
+-# For now we do rely on C++17 for OpenSSL support but we will be porting this work to C11
+ ifeq ($(WITH_OPENSSL),1)
+-	$(CXX) $(CXXFLAGS) -std=c++17 -flto -O3 -c src/crypto/*.cpp
++	$(CXX) $(CXXFLAGS) -c src/crypto/*.cpp
+ endif
+-	$(AR) rvs uSockets.a *.o
+-
+-# Builds all examples
+-.PHONY: examples
+-examples: default
+-	for f in examples/*.c; do $(CC) -flto -O3 $(CFLAGS) -o $$(basename "$$f" ".c") "$$f" $(LDFLAGS); done
++	$(AR) rvs libusockets.a *.o
++	$(CXX) $(CXXFLAGS) -shared -o $(LIBTARGET) *.o -Wl,-soname,$(LIBTARGET) `$(PKG_CONFIG) --libs $(REQUIRES)` $(LDFLAGS)
++	sed -e "s:@PREFIX@:$(prefix):" -e "s:@REQUIRES@:$(REQUIRES):" \
++	-e "s:@LIB@:$(LIB):" -e "s:@VERSION@:$(VERSION):" libusockets.pc.in > libusockets.pc
+ 
+-swift_examples:
+-	swiftc -O -I . examples/swift_http_server/main.swift uSockets.a -o swift_http_server
++install:
++	install -d "$(DESTDIR)$(libdir)/pkgconfig" "$(DESTDIR)$(includedir)"
++	install -m 644 src/libusockets.h "$(DESTDIR)$(includedir)/"
++	install -m 755 $(LIBTARGET) "$(DESTDIR)$(libdir)"
++	ln -sf $(LIBTARGET) "$(DESTDIR)$(libdir)/libusockets.so"
++	install -m 755 libusockets.a "$(DESTDIR)$(libdir)/"
++	install -m 644 libusockets.pc "$(DESTDIR)$(libdir)/pkgconfig/"
+ 
+ clean:
+ 	rm -f *.o
+ 	rm -f *.a
++	rm -f *.so
+ 	rm -rf .certs
++	rm -f libusockets.pc
++
++.PHONY: default install clean
+diff --git a/libusockets.pc.in b/libusockets.pc.in
+new file mode 100644
+index 0000000..b818020
+--- /dev/null
++++ b/libusockets.pc.in
+@@ -0,0 +1,12 @@
++prefix=@PREFIX@
++libdir=${prefix}/@LIB@
++includedir=${prefix}/include
++
++Name: uSockets
++Version: @VERSION@
++Description: eventing, networking and crypto for async applications.
++URL: https://github.com/uNetworking/uSockets
++
++Cflags: -I${includedir}
++Libs: -L${libdir} -lusockets
++Requires.private: @REQUIRES@

diff --git a/net-libs/usockets/metadata.xml b/net-libs/usockets/metadata.xml
index 4e3422276..f4d5bd540 100644
--- a/net-libs/usockets/metadata.xml
+++ b/net-libs/usockets/metadata.xml
@@ -6,6 +6,7 @@
 		<name>Aisha Tammy</name>
 	</maintainer>
 	<use>
+		<flag name="asio">Enable bindings to use the boost asio dispatcher</flag>
 		<flag name="libuv">Enable bindings to use the libuv dispatcher</flag>
 	</use>
 </pkgmetadata>

diff --git a/net-libs/usockets/usockets-9999.ebuild b/net-libs/usockets/usockets-0.7.1_p20210909.ebuild
similarity index 63%
copy from net-libs/usockets/usockets-9999.ebuild
copy to net-libs/usockets/usockets-0.7.1_p20210909.ebuild
index c08a9ad93..3de0636c4 100644
--- a/net-libs/usockets/usockets-9999.ebuild
+++ b/net-libs/usockets/usockets-0.7.1_p20210909.ebuild
@@ -12,31 +12,35 @@ if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 	EGIT_REPO_URI="https://github.com/uNetworking/uSockets.git"
 else
-	SRC_URI="https://github.com/uNetworking/uSockets/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	COMMIT="c06112c89b4c1cf5a09b5f8daa2def756b925889"
+	SRC_URI="https://github.com/uNetworking/uSockets/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
 	KEYWORDS="~amd64 ~arm64 ~x86"
-	S="${WORKDIR}/uSockets-${PV}"
+	S="${WORKDIR}/uSockets-${COMMIT}"
 fi
 
 LICENSE="Apache-2.0"
 SLOT="0"
-IUSE="libuv +ssl"
+IUSE="asio libuv +ssl"
+REQUIRED_USE="?? ( asio libuv )"
 
 DEPEND="
+	asio? ( dev-cpp/asio[ssl?] )
 	libuv? ( dev-libs/libuv )
 	ssl? ( >=dev-libs/openssl-1.1.0 )
 "
 RDEPEND="${DEPEND}"
 
 PATCHES=(
-	"${FILESDIR}/${PN}-0.7.1-Makefile.patch"
+	"${FILESDIR}/${PN}-0.7.1_p20210909-Makefile.patch"
 )
 
 src_configure() {
 	tc-export CC CXX AR
 	export VERSION="${PV%_*}" \
 	       LIB="$(get_libdir)" \
-	       WITH_OPENSSL="$(usex ssl 1 0)"
-	       WITH_LIBUV="$(usex libuv 1 0)"
+	       WITH_OPENSSL="$(usex ssl 1 0)" \
+	       WITH_LIBUV="$(usex libuv 1 0)" \
+	       WITH_ASIO="$(usex asio 1 0)"
 	default
 }
 

diff --git a/net-libs/usockets/usockets-9999.ebuild b/net-libs/usockets/usockets-9999.ebuild
index c08a9ad93..3de0636c4 100644
--- a/net-libs/usockets/usockets-9999.ebuild
+++ b/net-libs/usockets/usockets-9999.ebuild
@@ -12,31 +12,35 @@ if [[ ${PV} == 9999 ]]; then
 	inherit git-r3
 	EGIT_REPO_URI="https://github.com/uNetworking/uSockets.git"
 else
-	SRC_URI="https://github.com/uNetworking/uSockets/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	COMMIT="c06112c89b4c1cf5a09b5f8daa2def756b925889"
+	SRC_URI="https://github.com/uNetworking/uSockets/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
 	KEYWORDS="~amd64 ~arm64 ~x86"
-	S="${WORKDIR}/uSockets-${PV}"
+	S="${WORKDIR}/uSockets-${COMMIT}"
 fi
 
 LICENSE="Apache-2.0"
 SLOT="0"
-IUSE="libuv +ssl"
+IUSE="asio libuv +ssl"
+REQUIRED_USE="?? ( asio libuv )"
 
 DEPEND="
+	asio? ( dev-cpp/asio[ssl?] )
 	libuv? ( dev-libs/libuv )
 	ssl? ( >=dev-libs/openssl-1.1.0 )
 "
 RDEPEND="${DEPEND}"
 
 PATCHES=(
-	"${FILESDIR}/${PN}-0.7.1-Makefile.patch"
+	"${FILESDIR}/${PN}-0.7.1_p20210909-Makefile.patch"
 )
 
 src_configure() {
 	tc-export CC CXX AR
 	export VERSION="${PV%_*}" \
 	       LIB="$(get_libdir)" \
-	       WITH_OPENSSL="$(usex ssl 1 0)"
-	       WITH_LIBUV="$(usex libuv 1 0)"
+	       WITH_OPENSSL="$(usex ssl 1 0)" \
+	       WITH_LIBUV="$(usex libuv 1 0)" \
+	       WITH_ASIO="$(usex asio 1 0)"
 	default
 }
 


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

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-09 16:14 Aisha Tammy [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-10-25  3:51 [gentoo-commits] repo/proj/guru:dev commit in: net-libs/usockets/files/, net-libs/usockets/ Aisha Tammy
2021-09-09 16:14 Aisha Tammy
2021-05-09 12:23 Aisha Tammy
2021-04-10 22:13 Aisha Tammy
2020-11-23  2:49 Aisha Tammy
2020-11-22 23:33 Aisha Tammy
2020-09-08 20:33 Aisha Tammy

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=1631203964.c28c5380044fd703e28d2a45b18ef9e078551db9.epsilon-0@gentoo \
    --to=gentoo@aisha.cc \
    --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