diff --git a/media-tv/droidcam/droidcam-1.4.ebuild b/media-tv/droidcam/droidcam-1.4-r1.ebuild
similarity index 70%
rename from media-tv/droidcam/droidcam-1.4.ebuild
rename to media-tv/droidcam/droidcam-1.4-r1.ebuild
index 1573c2ccba..7d447b5d50 100644
--- a/media-tv/droidcam/droidcam-1.4.ebuild
+++ b/media-tv/droidcam/droidcam-1.4-r1.ebuild
@@ -14,55 +14,64 @@ KEYWORDS="~amd64"
LICENSE="GPL-2"
SLOT="0"
-IUSE="gtk"
+IUSE="audio gtk usb"
# Requires connection to android phone
RESTRICT="test"
DEPEND="
- gtk? (
- dev-cpp/gtkmm:3.0
- media-video/ffmpeg
- )
=app-pda/libusbmuxd-1*
+ dev-libs/glib
+ gtk? ( dev-cpp/gtkmm:3.0 )
media-libs/alsa-lib
-"
-
-BDEPEND="
media-libs/libjpeg-turbo
>=media-libs/speex-1.2.0-r1
- virtual/pkgconfig
+ media-video/ffmpeg
+ usb? ( dev-util/android-tools )
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/pango
"
-S="${WORKDIR}/${P}/linux"
+BDEPEND="virtual/pkgconfig"
-PATCHES="${FILESDIR}/${PN}-makefile-fixes.patch"
+S="${WORKDIR}/${P}/linux"
DOCS=( README.md README-DKMS.md )
DISABLE_AUTOFORMATTING="true"
DOC_CONTENTS="
- The default resolution for v4l2loopback-dc[1] is 640x480. You can override these
- values in /etc/modprobe.d/v4l2loopback-dc.conf
+ The default resolution for v4l2loopback-dc[1] is 640x480. You can override the
+ value by copying droidcam.conf.default to /etc/modprobe.d/droidcam.conf
and modifying 'width' and 'height'.
[1] https://github.com/aramg/droidcam/issues/56
"
BUILD_TARGETS="all"
MODULE_NAMES="v4l2loopback-dc(video:${S}/v4l2loopback:${S}/v4l2loopback)"
-CONFIG_CHECK="VIDEO_DEV ~SND_ALOOP MEDIA_SUPPORT MEDIA_CAMERA_SUPPORT"
-ERROR_SND_ALOOP="CONFIG_SND_ALOOP: missing, required for audio support"
+CONFIG_CHECK="VIDEO_DEV MEDIA_SUPPORT MEDIA_CAMERA_SUPPORT"
MODULESD_V4L2LOOPBACK_DC_ENABLED="yes"
+PATCHES="${FILESDIR}/${PN}-makefile-fixes.patch"
+
src_prepare() {
- default
if ! use gtk ; then
sed -i -e '/cflags gtk+/d' Makefile
+ else
+ xdg_src_prepare
fi
linux-mod_pkg_setup
}
src_configure() {
set_arch_to_kernel
+ if use audio ; then
+ if linux_config_exists ; then
+ if ! linux_chkconfig_present SND_ALOOP ; then
+ die "Audio requested but CONFIG_SND_ALOOP not selected in config!"
+ fi
+ fi
+ fi
default
}
@@ -81,6 +90,10 @@ src_test() {
popd
}
+pkg_preinst() {
+ xdg_pkg_preinst
+}
+
src_install() {
if use gtk ; then
dobin droidcam
@@ -94,36 +107,32 @@ src_install() {
# The cli and gui do not auto load the module if unloaded (why not tho?)
# so we just put it in modules-load.d to make sure it always works
- insinto /usr/lib/modules-load.d/
- doins "${FILESDIR}/v4l2loopback-dc.conf"
+ insinto /etc/modules-load.d
+ doins "${FILESDIR}"/${PN}-video.conf
+ if use audio && linux_chkconfig_module SND_ALOOP ; then
+ doins "${FILESDIR}"/${PN}-audio.conf
+ fi
+ newdoc "${FILESDIR}"/${PN}-modprobe.conf ${PN}.conf.default
einstalldocs
linux-mod_src_install
}
pkg_postinst() {
- linux-mod_pkg_postinst
-
if use gtk ; then
xdg_pkg_postinst
else
- elog ""
+ elog
elog "Only droidcam-cli has been installed since no 'gtk' flag was present"
elog "in the USE list."
+ elog
fi
- elog ""
+ linux-mod_pkg_postinst
readme.gentoo_print_elog
- elog ""
- elog "To use this package, you will need to download the Android or iOS app as well:"
- elog "Android:"
- elog "Free version: https://play.google.com/store/apps/details?id=com.dev47apps.droidcam"
- elog "Paid version: https://play.google.com/store/apps/details?id=com.dev47apps.droidcamx"
- elog "iOS: https://apps.apple.com/us/app/droidcam-wireless-webcam/id1510258102"
-
- elog ""
- optfeature "to connection with USB via ADB instead of over wifi" dev-util/android-tools
+ elog "Links to the Android/iPhone/iPad apps can be reached at"
+ elog "https://www.dev47apps.com/"
}
pkg_postrm() {
diff --git a/media-tv/droidcam/files/README.gentoo b/media-tv/droidcam/files/README.gentoo
deleted file mode 100644
index 6a5bdb4ce5..0000000000
--- a/media-tv/droidcam/files/README.gentoo
+++ /dev/null
@@ -1,6 +0,0 @@
-The default resolution for v4l2loopback-dc is 640x480. You can override these
-values in /etc/modprobe.d/v4l2loopback-dc.conf
-and modifying 'width' and 'height'.
-
-See https://github.com/aramg/droidcam/issues/56 on why a fork of v4l2loopback
-is currently being used here.
diff --git a/media-tv/droidcam/files/droidcam-audio.conf b/media-tv/droidcam/files/droidcam-audio.conf
new file mode 100644
index 0000000000..6619319e26
--- /dev/null
+++ b/media-tv/droidcam/files/droidcam-audio.conf
@@ -0,0 +1 @@
+snd_aloop
diff --git a/media-tv/droidcam/files/droidcam-modprobe.conf b/media-tv/droidcam/files/droidcam-modprobe.conf
new file mode 100644
index 0000000000..d4d5801246
--- /dev/null
+++ b/media-tv/droidcam/files/droidcam-modprobe.conf
@@ -0,0 +1,2 @@
+# Suggested values: 640×480, 960×720, 1280×720 (720p), 1920×1080 (1080p).
+options v4l2loopback-dc width=640 height=480
diff --git a/media-tv/droidcam/files/v4l2loopback-dc.conf b/media-tv/droidcam/files/droidcam-video.conf
similarity index 100%
rename from media-tv/droidcam/files/v4l2loopback-dc.conf
rename to media-tv/droidcam/files/droidcam-video.conf
diff --git a/media-tv/droidcam/metadata.xml b/media-tv/droidcam/metadata.xml
index 59c300f276..7796f4b6af 100644
--- a/media-tv/droidcam/metadata.xml
+++ b/media-tv/droidcam/metadata.xml
@@ -7,5 +7,13 @@
+
+ DroidCam allows you to use your Android or iOS device as webcam, wired (USB
+ and ADB) or wireless (TCP/IP). Works with the free version of the phone app.
+
+
+ aramg/droidcam
+
diff --git a/net-libs/usockets/Manifest b/net-libs/usockets/Manifest
index 26023b0bab..8d649f4a57 100644
--- a/net-libs/usockets/Manifest
+++ b/net-libs/usockets/Manifest
@@ -1 +1 @@
-DIST usockets-0.4.1.tar.gz 49955 BLAKE2B 581b5745c4b1562fe21ac81736ebc6db95ed9e25a47e3124fa4dbc25978cde9f901a651cbc99128952282407f506900cae79a59bb1aab8d5e951e114d1f8f3b7 SHA512 2fbb37e0d3768c4b79b100132edd4aea65c7483186394d9dd5729385031e257ebe7ba04e53cb67f796edbc035074268920a1fdb11be79a74cb83799a7b61f7c0
+DIST usockets-0.5.0.tar.gz 50852 BLAKE2B 69d36f4bad6e2bf87a8b33a023678b29d2aa2feea86ccd92d02d38e9b336d9b97a0d9709b381d7b2b1a20c86964eaa9fec8d7edaa322288b232ce7c3ea84f056 SHA512 ac734c1e6f50b0485456d5b0f06d6aeb5457b2b3cc1fc2c795773a469e0bdf7223256ba252d1f9cbead10948ca47ce8bcdbabc147fc3e6be59d1a051409375bd
diff --git a/net-libs/usockets/files/usockets-Makefile.patch b/net-libs/usockets/files/usockets-Makefile.patch
index 5be09eeee2..5a1057048a 100644
--- a/net-libs/usockets/files/usockets-Makefile.patch
+++ b/net-libs/usockets/files/usockets-Makefile.patch
@@ -1,8 +1,8 @@
diff --git a/Makefile b/Makefile
-index fa6e2ff..ca2603f 100644
+index 7d33414..6f3e53a 100644
--- a/Makefile
+++ b/Makefile
-@@ -1,3 +1,14 @@
+@@ -1,3 +1,13 @@
+DESTDIR ?=
+
+prefix ?= "/usr/local"
@@ -13,11 +13,10 @@ index fa6e2ff..ca2603f 100644
+# OpenBSD specific library version
+LIBTARGET = libusockets.so.$(LIBusockets_VERSION)
+
-+
- # WITH_OPENSSL=1 enables OpenSSL 1.1+ support
+ # WITH_OPENSSL=1 enables OpenSSL 1.1+ support or BoringSSL
ifeq ($(WITH_OPENSSL),1)
override CFLAGS += -DLIBUS_USE_OPENSSL
-@@ -33,13 +44,27 @@ ifeq ($(WITH_ASAN),1)
+@@ -33,13 +43,27 @@ ifeq ($(WITH_ASAN),1)
endif
override CFLAGS += -std=c11 -Isrc
@@ -49,9 +48,10 @@ index fa6e2ff..ca2603f 100644
# Builds all examples
.PHONY: examples
-@@ -52,4 +77,5 @@ swift_examples:
+@@ -52,4 +76,6 @@ swift_examples:
clean:
rm -f *.o
rm -f *.a
+ rm -f *.so
rm -rf .certs
++
diff --git a/net-libs/usockets/usockets-0.4.1-r1.ebuild b/net-libs/usockets/usockets-0.5.0.ebuild
similarity index 100%
rename from net-libs/usockets/usockets-0.4.1-r1.ebuild
rename to net-libs/usockets/usockets-0.5.0.ebuild
diff --git a/sys-kernel/dkms/Manifest b/sys-kernel/dkms/Manifest
index fad447596a..c9fced4115 100644
--- a/sys-kernel/dkms/Manifest
+++ b/sys-kernel/dkms/Manifest
@@ -1 +1 @@
-DIST dkms-2.8.1.tar.gz 103894 BLAKE2B 9695c89fc1725f32e331969f94cd5b698df3cba2ef8a9d21dbb3d87ebeb6637898e184b2e8d99240763de4cb4528e2ff785e3f31c1265fdeb210df4dd060974e SHA512 25e57fcfdcdb460dc04d90db1d37577c2424b72be1019ea77af61d169460fbe8c397abf98634c72964d862cd3973f0c5e2bad7e157d48fe294750228e18e23bb
+DIST dkms-2.8.3.tar.gz 104257 BLAKE2B 791667ca886311e9be994d42675d624f448762561a8c7beb540237d40dc514d15611b467fd966bd6da66af6c22af15199185218b4ad092870670d78cd70284e1 SHA512 523891be78756fb5760efa3da9f509a7607e79b25ac5083e1b89a1446b4a65e125e969db048bcbb7f988cebbab1c2d98d78d27770f7519762157b74fcd9f3b97
diff --git a/sys-kernel/dkms/dkms-2.8.1.ebuild b/sys-kernel/dkms/dkms-2.8.3.ebuild
similarity index 91%
rename from sys-kernel/dkms/dkms-2.8.1.ebuild
rename to sys-kernel/dkms/dkms-2.8.3.ebuild
index cd3322a4de..79440da5a0 100644
--- a/sys-kernel/dkms/dkms-2.8.1.ebuild
+++ b/sys-kernel/dkms/dkms-2.8.3.ebuild
@@ -42,6 +42,6 @@ src_install() {
else rm -r "${D}"/etc/kernel/;
fi
- ewarn "DKMS will say about missing headers even if sys-kernel/linux-headers installed"
+ ewarn "DKMS might say about missing headers even if sys-kernel/linux-headers installed"
ewarn "Just don't keep attention, that don't affect anything"
}
diff --git a/www-apps/uwebsockets/Manifest b/www-apps/uwebsockets/Manifest
index 026f06539f..2eedfa00fa 100644
--- a/www-apps/uwebsockets/Manifest
+++ b/www-apps/uwebsockets/Manifest
@@ -1 +1,2 @@
+DIST uwebsockets-18.10.0.tar.gz 265369 BLAKE2B 1ddd16f1793144c4e89681c2eae56e66db711fe94d17120222bf652df9616376fd1194baa0b7b10a89f6551ad1b62998c9993681b60ac5924e9b28500737fe46 SHA512 93d97ac45aabad5be4b8a5ba91e04c360e83a82e9d781aebeb5b325b8f11d2f25fb4d07dbce105978b947f7324d06d2e3877d07c14482961feed4171529248d1
DIST uwebsockets-18.9.0.tar.gz 265223 BLAKE2B c7112040e699eeba4aaa753637a4039597979962c6e4815c2f10af993dd0724e5c18c99d3438e3efec5a18878be33cfd7eb641489a4d3546c92c3ad8e7551647 SHA512 c34f7ace7ab5c077ce5f6cc3fbc38323ad34ccf639a77c4b82ee0905ac2910b584140333d9a7afeb53596619baa15ba890ba25c34c3dbcb49e646f9ecff1f362
diff --git a/www-apps/uwebsockets/uwebsockets-18.10.0.ebuild b/www-apps/uwebsockets/uwebsockets-18.10.0.ebuild
new file mode 100644
index 0000000000..2738b66dd6
--- /dev/null
+++ b/www-apps/uwebsockets/uwebsockets-18.10.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="ultra fast, simple, secure & standards compliant web I/O"
+HOMEPAGE="https://github.com/uNetworking/uWebSockets"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/uNetworking/uWebSockets.git"
+else
+ SRC_URI="https://github.com/uNetworking/uWebSockets/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ S="${WORKDIR}/uWebSockets-${PV}"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+RDEPEND=">=net-libs/usockets-0.4.1"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-src_Loop.h.patch"
+)
+
+src_prepare() {
+ default
+ mv src uWebSockets
+}
+
+src_compile() {
+ return 0
+}
+
+src_install() {
+ doheader -r uWebSockets
+}