# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_{7,8,9} ) inherit cmake python-single-r1 xdg-utils MY_REPO_URI="https://github.com/obsproject/obs-studio" if [[ ${PV} == "9999" ]]; then inherit git-r3 EGIT_REPO_URI="${MY_REPO_URI}.git" EGIT_SUBMODULES=() else SRC_URI="${MY_REPO_URI}/archive/${PV}.tar.gz" KEYWORDS="~amd64 ~x86" fi DESCRIPTION="Free software for video recording and live streaming" HOMEPAGE="https://obsproject.com" LICENSE="GPL-2" SLOT="0" IUSE="alsa decklink fdk jack imagemagick libcxx luajit pulseaudio python +qt5 ssl speex truetype udev v4l vlc" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" BDEPEND=" luajit? ( dev-lang/swig ) python? ( dev-lang/swig ) " DEPEND=" >=dev-libs/jansson-2.5 media-video/ffmpeg:= media-libs/x264:= net-misc/curl sys-apps/dbus sys-libs/zlib virtual/opengl x11-libs/libXcomposite x11-libs/libXinerama x11-libs/libXrandr x11-libs/libxcb alsa? ( media-libs/alsa-lib ) fdk? ( media-libs/fdk-aac:= ) imagemagick? ( media-gfx/imagemagick:= ) jack? ( virtual/jack ) libcxx? ( sys-libs/libcxx ) luajit? ( dev-lang/luajit:2 ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 media-video/ffmpeg:= ) pulseaudio? ( media-sound/pulseaudio ) python? ( ${PYTHON_DEPS} ) ssl? ( net-libs/mbedtls:= ) truetype? ( media-libs/fontconfig media-libs/freetype ) udev? ( virtual/udev ) v4l? ( media-libs/libv4l ) vlc? ( media-video/vlc )" RDEPEND="${DEPEND}" CMAKE_REMOVE_MODULES_LIST=( FindFreetype ) pkg_setup() { use python && python-single-r1_pkg_setup } src_configure() { local libdir libdir=$(get_libdir) local mycmakeargs=( "-DDISABLE_ALSA=$(usex !alsa)" "-DDISABLE_DECKLINK=$(usex !decklink)" "-DDISABLE_FREETYPE=$(usex !truetype)" "-DDISABLE_JACK=$(usex !jack)" "-DDISABLE_LIBFDK=$(usex !fdk)" "-DDISABLE_PULSEAUDIO=$(usex !pulseaudio)" "-DDISABLE_SPEEXDSP=$(usex !speex)" "-DDISABLE_UDEV=$(usex !udev)" "-DDISABLE_UI=$(usex !qt5)" "-DDISABLE_V4L2=$(usex !v4l)" "-DDISABLE_VLC=$(usex !vlc)" "-DLIBOBS_PREFER_IMAGEMAGICK=$(usex imagemagick)" "-DOBS_MULTIARCH_SUFFIX=${libdir#lib}" "-DUSE_LIBC++=$(usex libcxx)" "-DWITH_RTMPS=$(usex ssl)" ) if use luajit || use python; then mycmakeargs+=( "-DDISABLE_LUA=$(usex !luajit)" "-DDISABLE_PYTHON=$(usex !python)" "-DENABLE_SCRIPTING=yes" ) else mycmakeargs+=( "-DENABLE_SCRIPTING=no" ) fi cmake_src_configure } pkg_postinst() { xdg_icon_cache_update if ! use alsa && ! use pulseaudio; then elog elog "For the audio capture features to be available," elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to" elog "be enabled." elog fi if ! has_version "sys-apps/dbus"; then elog elog "The 'sys-apps/dbus' package is not installed, but" elog "could be used for disabling hibernating, screensaving," elog "and sleeping. Where it is not installed," elog "'xdg-screensaver reset' is used instead" elog "(if 'x11-misc/xdg-utils' is installed)." elog fi } pkg_postrm() { xdg_icon_cache_update }