* [gentoo-commits] repo/proj/guru:dev commit in: dev-cpp/usockets/, dev-cpp/usockets/files/
@ 2020-04-30 17:14 Aisha Tammy
0 siblings, 0 replies; only message in thread
From: Aisha Tammy @ 2020-04-30 17:14 UTC (permalink / raw
To: gentoo-commits
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
+}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2020-04-30 17:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-30 17:14 [gentoo-commits] repo/proj/guru:dev commit in: dev-cpp/usockets/, dev-cpp/usockets/files/ Aisha Tammy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox