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: dev-cpp/usockets/, dev-cpp/usockets/files/
Date: Thu, 30 Apr 2020 17:14:25 +0000 (UTC)	[thread overview]
Message-ID: <1588266737.d4ff18ce5d8e5c79422128ba7dc36701fe612f4f.epsilon-0@gentoo> (raw)

commit:     d4ff18ce5d8e5c79422128ba7dc36701fe612f4f
Author:     Aisha Tammy <gentoo <AT> aisha <DOT> cc>
AuthorDate: Thu Apr 30 17:12:17 2020 +0000
Commit:     Aisha Tammy <gentoo <AT> aisha <DOT> cc>
CommitDate: Thu Apr 30 17:12:17 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=d4ff18ce

dev-cpp/usockets: tiny, ultra fast, async sockets framework

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

 dev-cpp/usockets/Manifest                      |  1 +
 dev-cpp/usockets/files/usockets-Makefile.patch | 54 ++++++++++++++++++++++++++
 dev-cpp/usockets/metadata.xml                  | 15 +++++++
 dev-cpp/usockets/usockets-0.3.5.ebuild         | 48 +++++++++++++++++++++++
 4 files changed, 118 insertions(+)

diff --git a/dev-cpp/usockets/Manifest b/dev-cpp/usockets/Manifest
new file mode 100644
index 0000000..ddf126a
--- /dev/null
+++ b/dev-cpp/usockets/Manifest
@@ -0,0 +1 @@
+DIST usockets-0.3.5.tar.gz 47939 BLAKE2B fc73f44adc19bd31b78832084a64f2ba3e7b463232056bf67370cf116bf43a0e63734a26fcc833b3d5f917c671cc6fb1983d52c4c92e2f7aae81500df5c5d12d SHA512 a76a469d10e10592b651aa6ccc5d25dfa89015d6b74c8d2268df8eee4206d9194de82ac79079f06f5277803ecfa13cf4bd9ff29bf0ccc98b6ee64798aada796e

diff --git a/dev-cpp/usockets/files/usockets-Makefile.patch b/dev-cpp/usockets/files/usockets-Makefile.patch
new file mode 100644
index 0000000..8d10a20
--- /dev/null
+++ b/dev-cpp/usockets/files/usockets-Makefile.patch
@@ -0,0 +1,54 @@
+diff --git a/Makefile b/Makefile
+index fa6e2ff..9fdcf47 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,3 +1,14 @@
++DESTDIR ?=
++
++prefix ?= "/usr/local"
++exec_prefix	?=	"$(prefix)"
++libdir ?=	"$(exec_prefix)/lib"
++includedir?=	"$(exec_prefix)/include/uSockets"
++
++VERSION = 0.3.5
++LIBTARGET = libusockets.so
++
++
+ # WITH_OPENSSL=1 enables OpenSSL 1.1+ support
+ ifeq ($(WITH_OPENSSL),1)
+ 	override CFLAGS += -DLIBUS_USE_OPENSSL
+@@ -35,8 +46,27 @@ endif
+ override CFLAGS += -std=c11 -Isrc
+ override LDFLAGS += uSockets.a
+ 
+-# By default we build the uSockets.a static library
++# By default we build the libusockets.so shared library
+ default:
++	rm -f *.o
++	$(CC) $(CFLAGS) $(CPPFLAGS) -fpic -c src/*.c src/eventing/*.c src/crypto/*.c
++	$(CC) -shared -Wl,-soname,libusockets.so -o $(LIBTARGET) *.o
++
++install: default
++	# install the folders needed  (making sure that the exist)
++	install -d "$(DESTDIR)$(libdir)" \
++	"$(DESTDIR)$(includedir)/internal/eventing" \
++	"$(DESTDIR)$(includedir)/internal/networking"
++	# install the library first, while making sure that the symlink is updated
++	install -m 755 $(LIBTARGET) "$(DESTDIR)$(libdir)/$(LIBTARGET).$(VERSION)"
++	@ cd "$(DESTDIR)$(libdir)" && ln -snf "$(LIBTARGET).$(VERSION)" "$(LIBTARGET)"
++	# we also install all the header files
++	install -m 644 src/*.h "$(DESTDIR)$(includedir)/"
++	install -m 644 src/internal/*.h "$(DESTDIR)$(includedir)/internal/"
++	install -m 644 src/internal/eventing/*.h "$(DESTDIR)$(includedir)/internal/eventing/"
++	install -m 644 src/internal/networking/*.h "$(DESTDIR)$(includedir)/internal/networking/"
++
++static:
+ 	rm -f *.o
+ 	$(CC) $(CFLAGS) -flto -O3 -c src/*.c src/eventing/*.c src/crypto/*.c
+ 	$(AR) rvs uSockets.a *.o
+@@ -52,4 +82,5 @@ swift_examples:
+ clean:
+ 	rm -f *.o
+ 	rm -f *.a
++	rm -f *.so
+ 	rm -rf .certs

diff --git a/dev-cpp/usockets/metadata.xml b/dev-cpp/usockets/metadata.xml
new file mode 100644
index 0000000..941cb6b
--- /dev/null
+++ b/dev-cpp/usockets/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+    <maintainer type="person">
+        <email>gentoo@aisha.cc</email>
+        <name>Aisha Tammy</name>
+    </maintainer>
+    <maintainer type="project">
+        <email>proxy-maint@gentoo.org</email>
+        <name>Proxy Maintainers</name>
+    </maintainer>
+    <use>
+      <flag name="libuv">Enable bindings to use the libuv dispatcher</flag>
+    </use>
+</pkgmetadata>

diff --git a/dev-cpp/usockets/usockets-0.3.5.ebuild b/dev-cpp/usockets/usockets-0.3.5.ebuild
new file mode 100644
index 0000000..d971bed
--- /dev/null
+++ b/dev-cpp/usockets/usockets-0.3.5.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib
+
+DESCRIPTION="tiny eventing, networking & crypto for async applications"
+HOMEPAGE="https://github.com/uNetworking/uSockets"
+
+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"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+	S="${WORKDIR}/uSockets-${PV}"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="libuv +ssl libressl debug"
+
+DEPEND="ssl? (
+			  libressl? ( >=dev-libs/libressl-3.0.0 )
+			  !libressl? ( >=dev-libs/openssl-1.1.0 )
+			  )
+	libuv? ( dev-libs/libuv )
+"
+BDEPEND="${DEPEND}"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/usockets-Makefile.patch"
+)
+
+src_compile() {
+	# the Makefile uses environment variables
+	emake WITH_OPENSSL=$(usex ssl 1 0) \
+		  WITH_LIBUV=$(usex libuv 1 0) \
+		  WITH_ASAN=$(usex debug 1 0) \
+		  default
+}
+
+src_install() {
+	emake libdir="/usr/$(get_libdir)" prefix="/usr" DESTDIR="${D}" install
+	einstalldocs
+}


                 reply	other threads:[~2020-04-30 17:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=1588266737.d4ff18ce5d8e5c79422128ba7dc36701fe612f4f.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