app-misc/electricsheep: fix building against ffmpeg5

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
This commit is contained in:
Pascal Jäger
2023-12-14 21:48:24 +01:00
parent 7c69e0da6b
commit 72dd94b767
4 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
DIST electricsheep-3.0.2_p20191005.tar.gz 11115290 BLAKE2B d952663864287a0081dd2b65dbe77e09ce8beb3c0693e8605a469244eaa21c441f159c6a74b5d5b1cf20151b9b8fe57ee20f4ef44d0f564c56aa9b84f33062bf SHA512 ef8138466d3f938eaf78e530e804f42947dd05c5d9511a091b67600b6719a9e70917594879668953d252a4cdfafd0f547ecbb2e23fe7dc610b959e2c04ac85e5
DIST electricsheep-fix-boost181.patch 4434 BLAKE2B 2f85c2ff5e3e8f8b16796bd7be9fc2aee6040c3f14caa9a6125ad56cc196b4f9d0253071fa9183a65fc6d95aadcaa4fb45109c1a23cba97f8367fe09cbd7b874 SHA512 a728c6bfa4aff6e46f0b68136d65a59aca112e069f37843a9b4c58240470150df9624b7fe14e2965255599594e85b6ed516d9ac6dda2093753b1924fda8ddb09
DIST electricsheep-fix-ffmpeg5.patch 48559 BLAKE2B 7d95632f4607c0f229ec907e5bce39bd2006ee73f0f31c43d8ac19c97f69f4ee49b51e340280a709259fc41e7514bc2dfe51579fab52431c6055883ac186dac7 SHA512 950c6e007549e51689f10a9ba2163b60fd97d7b2d6758a3931a05d329f981862058536303529d3daa06e9c061e76e3ea29f3e6ac3ab43919d94523cc760adfa1

View File

@@ -1 +1,2 @@
DIST electricsheep-3.0.2_p20191005.tar.gz 11115290 BLAKE2B d952663864287a0081dd2b65dbe77e09ce8beb3c0693e8605a469244eaa21c441f159c6a74b5d5b1cf20151b9b8fe57ee20f4ef44d0f564c56aa9b84f33062bf SHA512 ef8138466d3f938eaf78e530e804f42947dd05c5d9511a091b67600b6719a9e70917594879668953d252a4cdfafd0f547ecbb2e23fe7dc610b959e2c04ac85e5
DIST electricsheep-fix-ffmpeg5.patch 48559 BLAKE2B 7d95632f4607c0f229ec907e5bce39bd2006ee73f0f31c43d8ac19c97f69f4ee49b51e340280a709259fc41e7514bc2dfe51579fab52431c6055883ac186dac7 SHA512 950c6e007549e51689f10a9ba2163b60fd97d7b2d6758a3931a05d329f981862058536303529d3daa06e9c061e76e3ea29f3e6ac3ab43919d94523cc760adfa1

View File

@@ -0,0 +1,72 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
WX_GTK_VER="3.0-gtk3"
inherit autotools wxwidgets desktop flag-o-matic
DESCRIPTION="Realize the collective dream of sleeping computers from all over the internet"
HOMEPAGE="https://electricsheep.org/"
MY_COMMIT="37ba0fd692d6581f8fe009ed11c9650cd8174123"
SRC_URI="
https://github.com/scottdraves/electricsheep/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz
https://github.com/scottdraves/electricsheep/pull/109.patch -> electricsheep-fix-ffmpeg5.patch
"
S="${WORKDIR}/${PN}-${MY_COMMIT}/client_generic"
KEYWORDS="~amd64 ~x86"
LICENSE="GPL-2"
SLOT="0"
IUSE="video_cards_nvidia"
DEPEND="dev-lang/lua:5.1
dev-libs/boost
dev-libs/expat
dev-libs/tinyxml
gnome-base/libgtop
media-gfx/flam3
media-libs/freeglut
media-libs/glee
media-libs/libpng:*
media-video/ffmpeg:0
net-misc/curl
sys-libs/zlib
x11-libs/libX11
x11-libs/libXrender
x11-libs/wxGTK:${WX_GTK_VER}
virtual/opengl"
RDEPEND="${DEPEND}"
# BDEPEND="app-arch/unzip"
PATCHES=(
"${FILESDIR}/electricsheep-glext-prototypes.patch" # is included in the boost181 patch
"${FILESDIR}/electricsheep-disable-vsync.patch"
)
src_prepare() {
default
setup-wxwidgets
eautoreconf
rm -f DisplayOutput/OpenGL/{GLee.c,GLee.h}
cd ../
eapply "${DISTDIR}/electricsheep-fix-ffmpeg5.patch"
}
src_configure() {
# "eselect opengl" doesn't seem to affect link-time paths, so we need to resolve that here
use video_cards_nvidia && append-ldflags -L/usr/$(get_libdir)/opengl/nvidia/lib
append-ldflags -lpthread
econf
# get rid of the RUNPATH that interferes with hardware accelerated OpenGL drivers
sed -i -e '/^hardcode_libdir_flag_spec/d' libtool
}
src_install() {
default
mv "${ED}/usr/share/doc/electricsheep-2.7b33-svn" "${ED}/usr/share/${PF}" || die
sed -i "$ a OnlyShowIn=" "${ED}/usr/share/applications/screensavers/electricsheep.desktop"
domenu "${FILESDIR}/ElectricSheep.desktop"
}

View File

@@ -1,3 +1,9 @@
See: https://github.com/stefantalpalaru/gentoo-overlay/issues/26#issuecomment-455773380
"Seems that GL/glext.h now exports functions for GL_ARB_shader_objects extension, so they
define GL_ARB_shader_objects, which results in relevant section being skipped in /usr/include/GLee.h.
By default GL/glext.h skips defining prototypes for functions, but it can be enabled -
I used -DGL_GLEXT_PROTOTYPES option to gcc, and compilation finished without errors."
--- client_generic/Client/Makefile.am
+++ client_generic/Client/Makefile.am
@@ -12,6 +12,7 @@