commit: ce9e002707f2177933b05951eabe4c945a8a0d6a Author: Pascal Jäger <pascal.jaeger <AT> leimstift <DOT> de> AuthorDate: Sat Oct 15 21:09:26 2022 +0000 Commit: Pascal Jäger <pascal.jaeger <AT> leimstift <DOT> de> 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 \
