public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:master commit in: app-misc/electricsheep/, app-misc/electricsheep/files/
@ 2022-10-17 11:26 Haelwenn Monnier
  0 siblings, 0 replies; only message in thread
From: Haelwenn Monnier @ 2022-10-17 11:26 UTC (permalink / raw
  To: gentoo-commits

commit:     ce9e002707f2177933b05951eabe4c945a8a0d6a
Author:     Pascal Jäger <pascal.jaeger <AT> leimstift <DOT> de>
AuthorDate: Sat Oct 15 21:09:26 2022 +0000
Commit:     Haelwenn Monnier <contact <AT> hacktivis <DOT> me>
CommitDate: Sat Oct 15 22:00:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ce9e0027

app-misc/electricsheep: new package, version 3.0.2

also live ebulid.
Got this from https://github.com/stefantalpalaru/gentoo-overlay (GPLv2),
bumped to EAPI 8

Signed-off-by: Pascal Jäger <pascal.jaeger <AT> leimstift.de>
Closes: https://github.com/gentoo/guru/pull/78
Signed-off-by: Pascal Jäger <pascal.jaeger <AT> leimstift.de>

 app-misc/electricsheep/Manifest                    |   1 +
 .../electricsheep-3.0.2_p20191005.ebuild           |  72 +++++++++++++
 app-misc/electricsheep/electricsheep-9999.ebuild   |  70 +++++++++++++
 app-misc/electricsheep/files/ElectricSheep.desktop | 113 +++++++++++++++++++++
 .../files/electricsheep-disable-vsync.patch        |  26 +++++
 .../files/electricsheep-glext-prototypes.patch     |  10 ++
 6 files changed, 292 insertions(+)

diff --git a/app-misc/electricsheep/Manifest b/app-misc/electricsheep/Manifest
new file mode 100644
index 000000000..a1da43872
--- /dev/null
+++ b/app-misc/electricsheep/Manifest
@@ -0,0 +1 @@
+DIST electricsheep-3.0.2_p20191005.tar.gz 11115290 BLAKE2B d952663864287a0081dd2b65dbe77e09ce8beb3c0693e8605a469244eaa21c441f159c6a74b5d5b1cf20151b9b8fe57ee20f4ef44d0f564c56aa9b84f33062bf SHA512 ef8138466d3f938eaf78e530e804f42947dd05c5d9511a091b67600b6719a9e70917594879668953d252a4cdfafd0f547ecbb2e23fe7dc610b959e2c04ac85e5

diff --git a/app-misc/electricsheep/electricsheep-3.0.2_p20191005.ebuild b/app-misc/electricsheep/electricsheep-3.0.2_p20191005.ebuild
new file mode 100644
index 000000000..84500c29e
--- /dev/null
+++ b/app-misc/electricsheep/electricsheep-3.0.2_p20191005.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2022 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/"
+if [[ ${PV} == "9999" ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/scottdraves/electricsheep"
+	S="${WORKDIR}/${P}/client_generic"
+else
+	MY_COMMIT="37ba0fd692d6581f8fe009ed11c9650cd8174123"
+	SRC_URI="https://github.com/scottdraves/electricsheep/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+	S="${WORKDIR}/${PN}-${MY_COMMIT}/client_generic"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+IUSE="video_cards_nvidia"
+LICENSE="GPL-2"
+SLOT="0"
+
+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"
+	"${FILESDIR}/electricsheep-disable-vsync.patch"
+)
+
+src_prepare() {
+	default
+	setup-wxwidgets
+	eautoreconf
+	rm -f DisplayOutput/OpenGL/{GLee.c,GLee.h}
+}
+
+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"
+
+}

diff --git a/app-misc/electricsheep/electricsheep-9999.ebuild b/app-misc/electricsheep/electricsheep-9999.ebuild
new file mode 100644
index 000000000..579feee47
--- /dev/null
+++ b/app-misc/electricsheep/electricsheep-9999.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2022 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/"
+if [[ ${PV} == "9999" ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/scottdraves/electricsheep"
+	S="${WORKDIR}/${P}/client_generic"
+else
+	MY_COMMIT="37ba0fd692d6581f8fe009ed11c9650cd8174123"
+	SRC_URI="https://github.com/scottdraves/electricsheep/archive/${MY_COMMIT}.zip -> ${P}.zip"
+	S="${WORKDIR}/${PN}-${MY_COMMIT}/client_generic"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+IUSE="video_cards_nvidia"
+LICENSE="GPL-2"
+SLOT="0"
+
+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}"
+
+PATCHES=(
+	"${FILESDIR}/electricsheep-glext-prototypes.patch"
+	"${FILESDIR}/electricsheep-disable-vsync.patch"
+)
+
+src_prepare() {
+	default
+	setup-wxwidgets
+	eautoreconf
+	rm -f DisplayOutput/OpenGL/{GLee.c,GLee.h}
+}
+
+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"
+}

diff --git a/app-misc/electricsheep/files/ElectricSheep.desktop b/app-misc/electricsheep/files/ElectricSheep.desktop
new file mode 100644
index 000000000..5f6bfc168
--- /dev/null
+++ b/app-misc/electricsheep/files/ElectricSheep.desktop
@@ -0,0 +1,113 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=electricsheep
+TryExec=electricsheep
+Icon=kscreensaver
+Type=Application
+Terminal=false
+X-KDE-ServiceTypes=ScreenSaver
+Actions=InWindow;Root;Setup;
+X-KDE-Category=Fractals
+NoDisplay=true
+Name=ElectricSheep
+Comment=Electric Sheep is a distributed screen-saver that harnesses idle computers into a render farm with the purpose of animating and evolving artificial life-forms. See www.electricsheep.org.
+
+[Desktop Action Setup]
+Exec=electricsheep-preferences
+Name=Setup...
+
+[Desktop Action InWindow]
+Exec=electricsheep -window-id
+Name=Display in specified window
+Name[af]=Vertoon in gespesifiseer venster
+Name[bg]=Стартиране в избран прозорец
+Name[br]=Diskwel er prenestr spisaet
+Name[bs]=Prikaži u navedenom prozoru
+Name[ca]=Mostra a la finestra especificada
+Name[cs]=Zobrazit v určeném okně
+Name[cy]=Dangos mewn ffenestr penodol
+Name[da]=Visning i angivet vindue
+Name[de]=In vorgegebenem Fenster anzeigen
+Name[el]=Προβολή στο καθορισμένο παράθυρο
+Name[eo]=Montru en indikita fenestro
+Name[es]=Mostrar en la pantalla especificada
+Name[et]=Määratud aknas näitamine
+Name[fi]=Näytä määrätyssä ikkunassa
+Name[fo]=Vís í givin gluggi
+Name[fr]=Affichage dans la fenêtre spécifiée
+Name[he]=הצג בחלון המצויין
+Name[hu]=Megjelenítés a megadott ablakban
+Name[is]=Birta í völdum glugga
+Name[it]=Mostra nella finestra specificata
+Name[ja]=特定のウィンドウで表示
+Name[lv]=Rādīt norādītajā logā
+Name[mt]=Uri f'window speċifika
+Name[nb]=Vis i angitt vindu
+Name[nl]=In een gedefinieerd venster weergeven
+Name[nn]=Vis i oppgitt vindauge
+Name[nso]=Bontsha kago di-window tseo di bontshitswego
+Name[pl]=Wyświetl w zadanym oknie
+Name[pt]=Mostrar na janela especificada
+Name[pt_BR]=Mostrar em janela especificada
+Name[ro]=Afişează în fereastra specificată
+Name[ru]=Отображать в указанном окне
+Name[sk]=Zobraziť v zadanom okne
+Name[sl]=Prikaz v določenemu oknu
+Name[sr]=Прикажи у задатом прозору
+Name[sv]=Visa i angivet fönster
+Name[th]=แสดงในหน้าต่างที่กำหนด
+Name[tr]=Belirtilen pencerede göster
+Name[uk]=Відобразити у вказаному вікні
+Name[ven]=Sumbedzani kha windo dzo bulwaho fhedzi
+Name[xh]=Bonisa kwi window ekhankanyiweyo
+Name[xx]=xxDisplay in specified windowxx
+Name[zh_CN]=在指定的窗口中显示
+Name[zh_TW]=在指定的視窗中顯示
+Name[zu]=Veza kwi-window ecacisiwe
+
+[Desktop Action Root]
+Exec=electricsheep -window-id
+Name=Display in root window
+Name[af]=Vertoon in root venster
+Name[bg]=Стартиране в главния прозорец
+Name[bs]=Prikaži u korijenskom prozoru
+Name[ca]=Mostra a la finestra arrel
+Name[cs]=Zobrazit na pozadí plochy
+Name[cy]=Dangos mewn ffenestr gwraidd
+Name[da]=Visning i root-vindue
+Name[de]=In Hintergrundfenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[eo]=Montru en radika fenestro
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Juuraknas näitamine
+Name[fi]=Näytä root-ikkunassa
+Name[fo]=Vís á bakgrundini
+Name[fr]=Affichage dans la fenêtre racine
+Name[he]=הצג בחלון השורש
+Name[hu]=Megjelenítés a gyökérablakban
+Name[is]=Birta í bakgrunni skjáborðs
+Name[it]=Mostra sullo sfondo
+Name[ja]=ルートウィンドウで表示
+Name[lv]=Rādīt saknes logā
+Name[mt]=Uri fuq l-isfond
+Name[nb]=Vis i root-vindu
+Name[nl]=In hoofdvenster weergeven
+Name[nn]=Vis i rotvindauget
+Name[nso]=Bontsha kago window ya modu
+Name[pl]=Wyświetl w oknie pierwotnym
+Name[pt]=Mostrar na janela de fundo
+Name[pt_BR]=Mostrar na janela-raiz
+Name[ru]=Отображать в корневом окне
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaz v korenskem oknu
+Name[sr]=Прикажи у главном (root) прозору
+Name[sv]=Visa i rotfönstret
+Name[th]=แสดงในหน้าต่างหลัก
+Name[tr]=Kök pencerede göster
+Name[uk]=Відобразити на тлі екрана
+Name[ven]=Sumbedzani kha windo ya mudzi
+Name[xh]=Bonisa kwingcambu ye window
+Name[xx]=xxDisplay in root windowxx
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=在根視窗中顯示
+Name[zu]=Veza kwimpande ye-window

diff --git a/app-misc/electricsheep/files/electricsheep-disable-vsync.patch b/app-misc/electricsheep/files/electricsheep-disable-vsync.patch
new file mode 100644
index 000000000..2bd191ff5
--- /dev/null
+++ b/app-misc/electricsheep/files/electricsheep-disable-vsync.patch
@@ -0,0 +1,26 @@
+diff -ur client_generic.orig/DisplayOutput/OpenGL/glx.cpp client_generic/DisplayOutput/OpenGL/glx.cpp
+--- client_generic.orig/DisplayOutput/OpenGL/glx.cpp	2018-07-14 23:10:29.000000000 +0200
++++ client_generic/DisplayOutput/OpenGL/glx.cpp	2019-01-20 19:08:12.055142844 +0100
+@@ -466,13 +466,15 @@
+ {
+     m_VSync = !m_VSync;
+ 
+-    if( GLEE_GLX_SGI_swap_control )
+-    {
+-        if( m_VSync )
+-            glXSwapIntervalSGI(1);
+-        else
+-            glXSwapIntervalSGI(2);
+-    }
++    // broken when extension not available
++
++    //if( GLEE_GLX_SGI_swap_control )
++    //{
++        //if( m_VSync )
++            //glXSwapIntervalSGI(1);
++        //else
++            //glXSwapIntervalSGI(2);
++    //}
+ }
+ 
+ /*

diff --git a/app-misc/electricsheep/files/electricsheep-glext-prototypes.patch b/app-misc/electricsheep/files/electricsheep-glext-prototypes.patch
new file mode 100644
index 000000000..701cd7a20
--- /dev/null
+++ b/app-misc/electricsheep/files/electricsheep-glext-prototypes.patch
@@ -0,0 +1,10 @@
+--- client_generic/Client/Makefile.am
++++ client_generic/Client/Makefile.am
+@@ -12,6 +12,7 @@
+ AM_CPPFLAGS = \
+ 	-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
+ 	-DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \
++	-DGL_GLEXT_PROTOTYPES \
+ 	-I $(top_srcdir) \
+ 	-iquote ../DisplayOutput/OpenGL \
+ 	-I ../Common \


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-10-17 11:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-17 11:26 [gentoo-commits] repo/proj/guru:master commit in: app-misc/electricsheep/, app-misc/electricsheep/files/ Haelwenn Monnier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox