diff options
author | Aisha Tammy <gentoo@aisha.cc> | 2020-04-30 13:12:17 -0400 |
---|---|---|
committer | Aisha Tammy <gentoo@aisha.cc> | 2020-04-30 13:12:17 -0400 |
commit | d4ff18ce5d8e5c79422128ba7dc36701fe612f4f (patch) | |
tree | 13559e3e9574c823ffdef2906fb6578ecd4e82a7 | |
parent | media-video/vidify-audiosync: add upstreams new awesome website (diff) | |
download | guru-d4ff18ce.tar.gz guru-d4ff18ce.tar.bz2 guru-d4ff18ce.zip |
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@aisha.cc>
-rw-r--r-- | dev-cpp/usockets/Manifest | 1 | ||||
-rw-r--r-- | dev-cpp/usockets/files/usockets-Makefile.patch | 54 | ||||
-rw-r--r-- | dev-cpp/usockets/metadata.xml | 15 | ||||
-rw-r--r-- | dev-cpp/usockets/usockets-0.3.5.ebuild | 48 |
4 files changed, 118 insertions, 0 deletions
diff --git a/dev-cpp/usockets/Manifest b/dev-cpp/usockets/Manifest new file mode 100644 index 000000000..ddf126aa9 --- /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 000000000..8d10a204d --- /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 000000000..941cb6be4 --- /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 000000000..d971bed31 --- /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 +} |