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 @@ Build the dev-cpp/gtkmm:3.0 client. + Use snd_aloop kernel module for audio + + 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 +}