Code Monkey home page Code Monkey logo

abendbrot's People

Contributors

barbudreadmon avatar chewi avatar crocket avatar jason-oliveira avatar leycec avatar logicoftekk avatar lucianposton avatar nado avatar sjnewbury avatar soredake avatar stefan-gr avatar stefantalpalaru avatar thecrueltysage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

abendbrot's Issues

checksums for libretro snapshots are invalid

!!! Fetched file: fba-libretro-1.0_pre20160719.tar.gz VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got:      7854009
!!! Expected: 7856336
Refetching... File renamed to '/mnt/storage/distfiles/fba-libretro-1.0_pre20160719.tar.gz._checksum_failure_.i06zd2te'

This affects few other ebuilds as well. Please reverify.

games-emulation/mame-libretro: Multiple problems

I've found a couple of small issues with mame-libretro:
1.) The Manifest needs updating, looks like the files have changed upstream
2.) The ebuild tries to install docs/mamelicense.txt which doens't exist
3.) It needs a lot of memory when building with debug CFLAGS (about 25GB disk and 9GB of RAM on my amd64 machine with -ggdb), maybe add a warning if these CFLAGS are found?

pcsx-rearmed-libretro fails building on raspberry

It fails because of the following errors :

libpcsxcore/new_dynarec/backends/psx/emu_if.o: In function ari64_init': emu_if.c:(.text+0x420): undefined reference to gteRTPS_neon'
emu_if.c:(.text+0x424): undefined reference to gteRTPT_neon' frontend/libretro.o: In function vout_flip':
libretro.c:(.text+0x278): undefined reference to `bgr888_to_rgb565'

For whatever reason, the ebuild script won't build libpcsxcore/gte_neon.S and frontend/cspace_neon.S, which i think is the cause of this issue

Building it outside of portage work.

Filter out -Ox cflag from fbalpha-libretro

fbalpha2012 is probably affected too.
Some games won't work with -O3 in cflags, i'm not sure debug work properly if you don't filter -Ox cflags either since it needs -O0, and anyway this cflag is appended through makefile.libretro depending if you build for debug or not, so we should probably just filter them all out.

Yeah i know, i have been asking a lot of things lately :)

games-emulation/desmume-libretro is broken.

desmume-libretro-1.0_pre20170907.ebuild and
desmume-libretro-1.0_pre20171024.ebuild point to git commits that are not existent in actual repository.

desmume-libretro-9999-r2 doesn't compile.

When I try to compile -9999-r2, I see the following error message.

make: *** No targets specified and no makefile found.  Stop.

fbalpha profiles

They were removed a few months ago, having a debug use flag would be nice though :).

mupen64plus-libretro is not the same

Hello,

When I dowload it from retroarch it runs well. But from the overlay it's says :
RetroArch [ERROR] :: Requesting OpenGLES2 context, but RetroArch is compiled against OpenGL. Cannot use HW context.

That's strange, because I just finish a fresh install but before that I didn't have this problem.

PS: gles2 is a global useflag for me.

games-emulation/sameboy-libretro-1.0_pre20171024: several issues

The compilation of that package does not work.

clang -Werror -Wall -std=gnu11 -D_GNU_SOURCE -DVERSION="0.9" -I. -D_USE_MATH_DEFINES -Wno-deprecated-declarations -g -MT build/obj/SDL/main.c.o -M SDL/main.c -c -o build/obj/SDL/main.c.dep
In file included from SDL/main.c:3:
In file included from /usr/include/SDL2/SDL.h:32:
In file included from /usr/include/SDL2/SDL_main.h:25:
In file included from /usr/include/SDL2/SDL_stdinc.h:31:
In file included from /usr/include/SDL2/SDL_config.h:10:
/usr/include/x86_64-pc-linux-gnu/SDL2/SDL_config.h:33:10: fatal error: 'SDL_platform.h' file not found
#include "SDL_platform.h"
         ^~~~~~~~~~~~~~~~
1 error generated.

There are similar reports for other packages already part of the Gentoo Bugzilla. See e.g.:

The problem itself and the solution is explained here: https://bugs.gentoo.org/634470#c9

I will try to create a PR...

Missing Art (Thumbnails, Boxart)

Without the ability to download from RetroArch the Portage system of Gentoo could provide this functionality.

What about creating a Meta-Ebuild, which uses the flags which already used by emulators?

We would also need for each Boxart an ebuild.

Downloading RetroArch fails

Emerging RetroArch results in the following:

git fetch git://github.com/libretro/RetroArch.git +HEAD:refs/git-r3/HEAD
fatal: unable to connect to github.com:
github.com[0: 192.30.253.113]: errno=Connection refused
github.com[1: 192.30.253.112]: errno=Connection refused

Result of emerge --info '=games-emulation/retroarch-1.3.6-r3::abendbrot':

Portage 2.3.0 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop, gcc-4.9.4, glibc-2.22-r4, 4.9.0-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.9.0-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-gentoo-2.3
KiB Mem:    16315320 total,  10850348 free
KiB Swap:    3998716 total,   3998716 free
Timestamp of repository gentoo: Mon, 02 Jan 2017 00:45:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.3_rc4::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.22.4::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.12.6::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo, 4.9.4::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

elementary
    location: /usr/local/portage/elementary
    sync-type: git
    sync-uri: https://github.com/pimvullers/elementary.git
    masters: gentoo

abendbrot
    location: /var/lib/layman/abendbrot
    masters: gentoo
    priority: 50

steam-overlay
    location: /usr/local/portage/steam-overlay
    sync-type: git
    sync-uri: https://github.com/anyc/steam-overlay.git
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=broadwell -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=broadwell -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 berkdb bindist bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran fuse gdbm gif glamor gpm gtk gtkstyle gvfs iconv ipv6 jpeg lcms ldap libnotify mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt3support qt4 readline samba sdl seccomp session spell sse sse2 ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="synaptics evdev" KERNEL="linux" L10N="en nl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="intel i965" XFCE_PLUGINS="trash" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

games-emulation/dolphin-libretro-1.0_pre20160807 does not compile

I am using a fresh gentoo x64 on an i3 cpu

Here is the output

x86_64-pc-linux-gnu-g++ -march=native -pipe -std=c++11 -O3 -DNDEBUG  -D__LIBRETRO__ -DINLINE="inline" -DBAKE_IN_GIT -DFSML_STATIC -I../Source -I../Source/Core -I../Source/Core/VideoCommon -I../Source/Core/Common -I../Source/../libretro -I../Externals/GL -I../Externals/libpng -I../Externals/SOIL -I../Externals/zlib -I../Externals/Bochs_disasm -I../Externals/polarssl/include -I../Externals/SFML/include -I../Externals/SFML/src -I../Externals/LZO -I../Externals/xxhash   -fPIC  -msse -msse2 -D_M_X86 -D_M_X86_64 -D_ARCH_64 -DHAVE_OPENGL   -c ../Source/Core/Common/IniFile.cpp -o ../Source/Core/Common/IniFile.o
../Source/Core/Common/Hash.cpp: In function ‘u64 GetCRC32(const u8*, u32, u32)’:
../Source/Core/Common/Hash.cpp:259:29: erreur: ‘memcpy’ was not declared in this scope
   memcpy(&temp, end, len & 7);
                             ^
make: *** [Makefile:284: ../Source/Core/Common/Hash.o] Error 1

My configuration:

Portage 2.3.3 (python 3.4.5-final-0, default/linux/amd64/13.0, gcc-4.9.4, glibc-2.23-r3, 4.9.16-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.9.16-gentoo-x86_64-Intel-R-_Core-TM-_i3-4010U_CPU_@_1.70GHz-with-gentoo-2.3
KiB Mem:     3942056 total,   1884128 free
Timestamp of repository gentoo: Sat, 15 Apr 2017 14:30:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.1-r1::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.23.2::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.15::gentoo
sys-devel/binutils:       2.26.1::gentoo
sys-devel/gcc:            4.9.4::gentoo, 5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

abendbrot
    location: /var/lib/layman/abendbrot
    sync-type: laymansync
    sync-uri: https://github.com/stefan-gr/abendbrot.git
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.mirrors.ovh.net/gentoo-distfiles/ http://mirror.switch.ch/ftp/mirror/gentoo/"
LANG="fr_FR.UTF-8"
LC_ALL="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="7zip X acl alsa amd64 berkdb bindist bzip2 clang cli cracklib crypt cxx dri egl fortran gdbm glamor iconv jpeg kms libusb modules multilib ncurses network nls nptl opengl openmp pam pcre png python readline seccomp session ssl sync-plugin-portage tcpd udev unicode vulkan xattr xkb zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" L10N="fr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

I also tried dolphin-libretro-1.0_pre20161211 but it does not link :(

Build issue with USE="mupen64plus"

In file included from GLideN64/src/GLideNHQ/TxHiResCache.h:35:0,                    +       }
                 from GLideN64/src/GLideNHQ/TxFilter.h:29,                          +
                 from GLideN64/src/GLideNHQ/TxFilter.cpp:33:                        +       return LATENCY_MULTIPLIER;
GLideN64/src/GLideNHQ/TxImage.h:28:17: fatal error: png.h: No such file or director +}
y                                                                                   +EXPORT_SYMBOL_GPL(cpufreq_policy_transition_delay_us);
compilation terminated.
make: *** [Makefile:317: GLideN64/src/GLideNHQ/TxFilter.o] Error 1                   /*********************************************************************
 * ERROR: games-emulation/mupen64plus-libretro-1.0_pre20170522::abendbrot failed (c   *                          SYSFS INTERFACE                          *
ompile phas

I find it odd that the mupen64plus USE flag is building mupen64plus-libretro, because this version doesn't pull the GlideN64 plugin according to the mupen64plus-libretro repository: "Mupen64Plus uses GLideN64 (a graphics plugin that is not available in mupen64plus-libretro). "

Maybe a new USE flag called mupen64plus-libretro would be more appropriate.

retroarch ebuild specifies wrong default PYTHON_SINGLE_TARGET, causes portage block by default

Since the ebuild specifies IUSE=+python_single_target_python3_4 , if the profile changes the default PYTHON_SINGLE_TARGET, which it did recently, portage fails to resolve the ebuild's dependencies without the use manually adjusting USE flags.

Instead of specifying a default, just remove PYTHON_SINGLE_TARGET from IUSE, deferring to the values set by python-single-r1.eclass, which you already use.

# To avoid fatal dependency failures for users enabling the "python" USE flag, a
# default "python_single_target_python*" USE flag *MUST* be set below to the
# default version of Python 3 for default Portage profiles.
IUSE="+7zip alsa +armvfp +assets cg cheevos +cores +database debug dispmanx egl +fbo ffmpeg gles2 gles3 jack +joypad_autoconfig kms lakka libass libusb +materialui miniupnpc +netplay +neon +network openal +opengl osmesa oss +overlays pulseaudio sdl sdl2 +shaders +truetype +threads +udev v4l2 videocore vulkan wayland X xinerama +xmb +xml xv zlib cpu_flags_x86_sse2 python +python_single_target_python3_4 python_single_target_python3_5"

retroarch-assets fetch failure

Tested on two machines.

Emerging (2 of 50) games-emulation/retroarch-assets-1.0_pre20170727::abendbrot

  • Fetching files in the background.
  • To view fetch progress, run in another terminal:
  • tail -f /var/log/emerge-fetch.log

Downloading 'https://github.com/libretro/retroarch-assets/archive/8fd7361b09edfe317
b8208c1c3051bc2aafa99f9.tar.gz'
--2017-09-27 16:38:59-- https://github.com/libretro/retroarch-assets/archive/8fd7361b0
9edfe317b8208c1c3051bc2aafa99f9.tar.gz
Resolving github.com... 192.30.253.112, 192.30.253.113
Connecting to github.com|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/libretro/retroarch-assets/tar.gz/8fd7361b09edfe31
7b8208c1c3051bc2aafa99f9 [following]
--2017-09-27 16:38:59-- https://codeload.github.com/libretro/retroarch-assets/tar.gz/8fd7361b09edfe317b8208c1c3051bc2aafa99f9
Resolving codeload.github.com... 192.30.253.120, 192.30.253.121
Connecting to codeload.github.com|192.30.253.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: '/usr/portage/distfiles/retroarch-assets-1.0_pre20170727.tar.gz'
/usr/portage/distfi [ <=> ] 73.17M 5.99MB/s in 26s

2017-09-27 16:39:26 (2.79 MB/s) - '/usr/portage/distfiles/retroarch-assets-1.0_pre20170
727.tar.gz' saved [76728046]

!!! Fetched file: retroarch-assets-1.0_pre20170727.tar.gz VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got: 76728046
!!! Expected: 76728052
Refetching... File renamed to '/usr/portage/distfiles/retroarch-assets-1.0_pre20170727.
tar.gz.checksum_failure.eecy8ex1'

Status

Sorry folks,
my machine went fubar some time ago and I ignored digital things for a while in favor of real life issues that I had to deal with. I'm kind of back with a really low end laptop that has trouble playing music, of all things.
I don't have access to repoman so I can't update any retroarch ebuild for a while. I will blindly merge pull requests for now and try to guess fix issues you guys have reported.
The usual one month update cycle will come back when I get a new rig. I will wait at least for zen+ though.

retroarch ebuild got a lot of issues

I did a lot of testing last few days on my raspberry pi, and i noticed a few issues whle trying to build it with correct hardware acceleration support :

  • OpenGLES needs OpenGL to work, retroarch will build fine with OpenGLES and without OpenGL, but you won't be able to select GL acceleration in UI without the later.
  • OpenGLES seems to need EGL to build fine.
  • EGL don't need X11

i'm also experimenting with some arm-specific configure options, i'll do a pull request of a rpi-ready retroarch ebuild after more testing.

games-emulation/retroarch: Installation Fundamentally Broken

The src_install phase of retroarch appears to be fundamentally broken:

>>> Install retroarch-9999 into /var/tmp/portage/games-emulation/retroarch-9999/image/ category games-emulation
make -j3 -l1.95 DESTDIR=/var/tmp/portage/games-emulation/retroarch-9999/image/ install 
CC git_version.c
LD retroarch
rm -f obj-unix/git_version.o
mkdir -p /var/tmp/portage/games-emulation/retroarch-9999/image//usr/games/bin 2>/dev/null || /bin/true
mkdir -p /var/tmp/portage/games-emulation/retroarch-9999/image//etc 2>/dev/null || /bin/true
mkdir -p /var/tmp/portage/games-emulation/retroarch-9999/image//usr/share/man/man1 2>/dev/null || /bin/true
mkdir -p /var/tmp/portage/games-emulation/retroarch-9999/image//usr/share/pixmaps 2>/dev/null || /bin/true
install -m755 retroarch /var/tmp/portage/games-emulation/retroarch-9999/image//usr/games/bin 
install -m755 tools/cg2glsl.py /var/tmp/portage/games-emulation/retroarch-9999/image//usr/games/bin/retroarch-cg2glsl
install -m755 tools/retroarch-joyconfig  /var/tmp/portage/games-emulation/retroarch-9999/image//usr/games/bin
install -m644 retroarch.cfg /var/tmp/portage/games-emulation/retroarch-9999/image//etc/retroarch.cfg
install -m644 docs/retroarch.1 /var/tmp/portage/games-emulation/retroarch-9999/image//usr/share/man/man1
install -m644 docs/retroarch-cg2glsl.1 /var/tmp/portage/games-emulation/retroarch-9999/image//usr/share/man/man1
install -m644 docs/retroarch-joyconfig.1 /var/tmp/portage/games-emulation/retroarch-9999/image//usr/share/man/man1
install -m644 media/retroarch.png /var/tmp/portage/games-emulation/retroarch-9999/image//usr/share/pixmaps
install -m644 media/retroarch.svg /var/tmp/portage/games-emulation/retroarch-9999/image//usr/share/pixmaps
>>> Completed installing retroarch-9999 into /var/tmp/portage/games-emulation/retroarch-9999/image/

Files matching a file type that is not allowed:
   usr/lib/retroarch/filters/video/2xsai.so
   usr/lib/retroarch/filters/video/2xbr.so
   usr/lib/retroarch/filters/video/scale2x.so
   usr/lib/retroarch/filters/video/super2xsai.so
   usr/lib/retroarch/filters/video/epx.so
   usr/lib/retroarch/filters/video/darken.so
   usr/lib/retroarch/filters/video/lq2x.so
   usr/lib/retroarch/filters/video/blargg_ntsc_snes.so
   usr/lib/retroarch/filters/video/phosphor2x.so
   usr/lib/retroarch/filters/video/supereagle.so
   usr/lib/retroarch/filters/audio/echo.so
   usr/lib/retroarch/filters/audio/wahwah.so
   usr/lib/retroarch/filters/audio/reverb.so
   usr/lib/retroarch/filters/audio/phaser.so
   usr/lib/retroarch/filters/audio/iir.so
   usr/lib/retroarch/filters/audio/chorus.so
   usr/lib/retroarch/filters/audio/panning.so
   usr/lib/retroarch/filters/audio/eq.so
 * ERROR: games-emulation/retroarch-9999::abendbrot failed:
 *   multilib-strict check failed!
 * 
 * Call stack:
 *   misc-functions.sh, line 558:  Called install_qa_check
 *   misc-functions.sh, line 181:  Called source 'install_symlink_html_docs'
 *   80multilib-strict, line  47:  Called multilib_strict_check
 *   80multilib-strict, line  43:  Called die
 * The specific snippet of code:
 *          [[ ${abort} == yes ]] && die "multilib-strict check failed!"
 * 
 * If you need support, post the output of `emerge --info '=games-emulation/retroarch-9999::abendbrot'`,
 * the complete build log and the output of `emerge -pqv '=games-emulation/retroarch-9999::abendbrot'`.
 * The complete build log is located at '/var/tmp/portage/games-emulation/retroarch-9999/temp/build.log.gz'.
 * The ebuild environment file is located at '/var/tmp/portage/games-emulation/retroarch-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/games-emulation/retroarch-9999/image'
 * S: '/var/tmp/portage/games-emulation/retroarch-9999/work/retroarch-9999'
!!! post install failed; exiting.

>>> Failed to emerge games-emulation/retroarch-9999, Log file:

>>>  '/var/tmp/portage/games-emulation/retroarch-9999/temp/build.log.gz'

The solution should be fairly simple. The ebuild needs to be made multilib-compliant, such that shared libraries are installed to /usr/lib64/retroarch under 64-bit machines and /usr/lib32/retroarch under 32-bit machines.

After fixing this locally, I'll submit a pull request correcting both this and issue #26.

retroarch-1.7.0 version bump

making a new symlink to the new version works fine. However, the build patch is no longer needed, due to upstream changes from #85

Retroarch netplay broken.

Seems that using the .tar.gz files of the commits will not embed the first 7 letters of the commit hash at the end of a libretro core's version number, so netplay is now broken.

According to the retroarch devs, it needs to be accessed with git rev-parse --short HEAD

games-emulation/dolphin-libretro needs a call to eapply_user in src_prepare

The ebuilds for games-emulation/dolphin-libretro don't call eapply_user in src_prepare which is required in EAPI 6 and causes portage to abort with this error message:

 * ERROR: games-emulation/dolphin-libretro-1.0_pre20160807::abendbrot failed (prepare phase):
 *   eapply_user (or default) must be called in src_prepare()!
 * 
 * Call stack:
 *            ebuild.sh, line  762:  Called __ebuild_main 'prepare'
 *   phase-functions.sh, line 1005:  Called __dyn_prepare
 *   phase-functions.sh, line  380:  Called die
 * The specific snippet of code:
 *              die "eapply_user (or default) must be called in src_prepare()!"

"nvidia-cg-toolkit" as a dependency

Is this really required? I use Intel Mesa drivers on my laptop and AMD Mesa drivers on my desktop, and I don't see why I need a NVIDIA package to run RetroArch. Can I remove this dependency somehow (I guess by removing shaders?) without stuff breaking?

Build error with USE="dolphin"

In file included from /usr/include/signal.h:316:0,
                 from ../Core/MachineContext.h:89,
                 from ../Core/PowerPC/JitInterface.h:10,
                 from ../Core/Core.cpp:60:
../Core/MachineContext.h: In function 'u64* ContextRN(SContext*, int)':
../Core/MachineContext.h:95:23: error: 'REG_RAX' was not declared in this scope
 #define CTX_RAX gregs[REG_RAX]
                       ^
../Core/MachineContext.h:225:26: note: in expansion of macro 'CTX_RAX'
       offsetof(SContext, CTX_RAX), offsetof(SContext, CTX_RCX), offsetof(SContext, CTX_RDX),
                          ^
../Core/MachineContext.h:97:23: error: 'REG_RCX' was not declared in this scope
 #define CTX_RCX gregs[REG_RCX]
                       ^
../Core/MachineContext.h:225:55: note: in expansion of macro 'CTX_RCX'
       offsetof(SContext, CTX_RAX), offsetof(SContext, CTX_RCX), offsetof(SContext, CTX_RDX),
                                                       ^
../Core/MachineContext.h:98:23: error: 'REG_RDX' was not declared in this scope
 #define CTX_RDX gregs[REG_RDX]
                       ^
../Core/MachineContext.h:225:84: note: in expansion of macro 'CTX_RDX'
       offsetof(SContext, CTX_RAX), offsetof(SContext, CTX_RCX), offsetof(SContext, CTX_RDX),
                                                                                    ^
../Core/MachineContext.h:96:23: error: 'REG_RBX' was not declared in this scope
 #define CTX_RBX gregs[REG_RBX]
                       ^
../Core/MachineContext.h:226:26: note: in expansion of macro 'CTX_RBX'
       offsetof(SContext, CTX_RBX), offsetof(SContext, CTX_RSP), offsetof(SContext, CTX_RBP),
                          ^
../Core/MachineContext.h:102:23: error: 'REG_RSP' was not declared in this scope
 #define CTX_RSP gregs[REG_RSP]
                       ^
../Core/MachineContext.h:226:55: note: in expansion of macro 'CTX_RSP'
       offsetof(SContext, CTX_RBX), offsetof(SContext, CTX_RSP), offsetof(SContext, CTX_RBP),
                                                       ^
../Core/MachineContext.h:101:23: error: 'REG_RBP' was not declared in this scope
 #define CTX_RBP gregs[REG_RBP]
                       ^
../Core/MachineContext.h:226:84: note: in expansion of macro 'CTX_RBP'
       offsetof(SContext, CTX_RBX), offsetof(SContext, CTX_RSP), offsetof(SContext, CTX_RBP),
                                                                                    ^
../Core/MachineContext.h:100:23: error: 'REG_RSI' was not declared in this scope
 #define CTX_RSI gregs[REG_RSI]
                       ^
../Core/MachineContext.h:227:26: note: in expansion of macro 'CTX_RSI'
       offsetof(SContext, CTX_RSI), offsetof(SContext, CTX_RDI), offsetof(SContext, CTX_R8),
                          ^
../Core/MachineContext.h:99:23: error: 'REG_RDI' was not declared in this scope
 #define CTX_RDI gregs[REG_RDI]
                       ^
../Core/MachineContext.h:227:55: note: in expansion of macro 'CTX_RDI'
       offsetof(SContext, CTX_RSI), offsetof(SContext, CTX_RDI), offsetof(SContext, CTX_R8),
                                                       ^
../Core/MachineContext.h:103:22: error: 'REG_R8' was not declared in this scope
 #define CTX_R8 gregs[REG_R8]
                      ^
../Core/MachineContext.h:227:84: note: in expansion of macro 'CTX_R8'
       offsetof(SContext, CTX_RSI), offsetof(SContext, CTX_RDI), offsetof(SContext, CTX_R8),
                                                                                    ^
../Core/MachineContext.h:104:22: error: 'REG_R9' was not declared in this scope
 #define CTX_R9 gregs[REG_R9]
                      ^
../Core/MachineContext.h:228:26: note: in expansion of macro 'CTX_R9'
       offsetof(SContext, CTX_R9),  offsetof(SContext, CTX_R10), offsetof(SContext, CTX_R11),
                          ^
../Core/MachineContext.h:105:23: error: 'REG_R10' was not declared in this scope
 #define CTX_R10 gregs[REG_R10]
                       ^
../Core/MachineContext.h:228:55: note: in expansion of macro 'CTX_R10'
       offsetof(SContext, CTX_R9),  offsetof(SContext, CTX_R10), offsetof(SContext, CTX_R11),
                                                       ^
../Core/MachineContext.h:106:23: error: 'REG_R11' was not declared in this scope
 #define CTX_R11 gregs[REG_R11]
                       ^
../Core/MachineContext.h:228:84: note: in expansion of macro 'CTX_R11'
       offsetof(SContext, CTX_R9),  offsetof(SContext, CTX_R10), offsetof(SContext, CTX_R11),
                                                                                    ^
../Core/MachineContext.h:107:23: error: 'REG_R12' was not declared in this scope
 #define CTX_R12 gregs[REG_R12]
                       ^
../Core/MachineContext.h:229:26: note: in expansion of macro 'CTX_R12'
       offsetof(SContext, CTX_R12), offsetof(SContext, CTX_R13), offsetof(SContext, CTX_R14),
                          ^
../Core/MachineContext.h:108:23: error: 'REG_R13' was not declared in this scope
 #define CTX_R13 gregs[REG_R13]
                       ^
../Core/MachineContext.h:229:55: note: in expansion of macro 'CTX_R13'
       offsetof(SContext, CTX_R12), offsetof(SContext, CTX_R13), offsetof(SContext, CTX_R14),
                                                       ^
../Core/MachineContext.h:109:23: error: 'REG_R14' was not declared in this scope
 #define CTX_R14 gregs[REG_R14]
                       ^
../Core/MachineContext.h:229:84: note: in expansion of macro 'CTX_R14'
       offsetof(SContext, CTX_R12), offsetof(SContext, CTX_R13), offsetof(SContext, CTX_R14),
                                                                                    ^
../Core/MachineContext.h:110:23: error: 'REG_R15' was not declared in this scope
 #define CTX_R15 gregs[REG_R15]
                       ^
../Core/MachineContext.h:230:26: note: in expansion of macro 'CTX_R15'
       offsetof(SContext, CTX_R15)};
                          ^
make: *** [rules/libretro.mk:160: ../Core/Core.o] Error 1
 * ERROR: games-emulation/dolphin-libretro-1.0_pre20170808::abendbrot failed (compile phase):
 *   emake failed

merge fails because of patch on retroarch

Hi,
While emerging retroarch applying the patch retroarch-9999-build.patch fails.
Here is the log :

  • ERROR: games-emulation/retroarch-9999::abendbrot failed (prepare phase):
  • Failed Patch: retroarch-9999-build.patch!
  • Call stack:
  • ebuild.sh, line   93:  Called src_prepare
    
  • environment, line 4508: Called epatch '/var/lib/layman/abendbrot/games-emulation/retroarch/files/retroarch-9999-build.patch' '/var/lib/layman/abendbrot/games-emulation/retroarch/files/retroarch-python.patch'
  • environment, line 1493: Called epatch '/var/lib/layman/abendbrot/games-emulation/retroarch/files/retroarch-9999-build.patch'
  • environment, line 1670: Called die
  • The specific snippet of code:
  •           die "Failed Patch: ${patchname}!";
    

Excuse me for my english and my non experience in github (not sure if this is the good way to report bugs). Thanks for packaging retroarch ;-)

retroarch dispmanx use flag

It would be nice to add the dispmanx use flag.
On raspberries, kms/X/wayland should not be required use flags since you can use dispmanx (a layer that accesses the video compositing machinery of the raspberry VideoCore gpu)

retroarch-1.6.9 - tad more than a version bump.

retroarch-1.6.9-build.patch is broken, as orbea rewrote to explicitly die in commit libretro/RetroArch@bf8863d#diff-546edcf091f4cb2bca9608b42cdc1534

from #retroarch on freenode:
‎[16:35] ‎<‎orbea‎>‎ anyways if you want to repatch it, just it from die 1 to die :
‎[16:35] ‎<‎orbea‎>‎ wont exit

seems my patch-fu is weak, otherwise I'd just fix it myself and submit a pull request.
if it helps, the commit hash you'll want to use for 1.6.9 is 6f5cad5f5993e27fc1daa5e5e04f1749164f9a1c

games-emulation/retroarch-1.6.9: linkage failed

I have some modifications on my system as I updated gcc and did a massive USE flag cleanup.

Caused by the changed USE flags I need to recompile retroarch.
But it fails during linkage.

Here the USE flags:

[ebuild   R    ] games-emulation/retroarch-1.6.9::abendbrot  USE="7zip alsa assets cores database egl ffmpeg gles2* joypad_autoconfig libass materialui network opengl overlays pulseaudio python sdl2* shaders threads truetype udev v4l2 wayland xmb xml zlib -X* (-armvfp) -cg -cheevos -debug -dispmanx -gles3 -jack -kms -lakka -libusb -miniupnpc (-neon) -openal -osmesa -oss -sdl* -videocore -vulkan -xinerama -xv*" CPU_FLAGS_X86="sse2" PYTHON_SINGLE_TARGET="python3_5 -python3_4 -python3_6" PYTHON_TARGETS="python3_5 -python3_4 -python3_6" 0 KiB

Here the error:

LD retroarch
/usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: obj-unix/gfx/common/egl_common.o: undefined reference to symbol 'eglCreateContext'
/usr/lib64/libEGL.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Makefile:148: retroarch] Error 1

As a simple workaround to get it working I added the EGL linkage by modifying the Makefile and continue the build (added -lEGL after the $(LDFLAGS)):

retroarch: $(RARCH_OBJ)
        @$(if $(Q), $(shell echo echo LD $@),)
        $(Q)$(LINK) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) -lEGL $(LIBRARY_DIRS)

build.log

bnes-libretro fails to build on gentoo

Using ~amd64, with gcc 5.3.0:

In file included from nes/cartridge/board/board.cpp:9:0,
from nes/cartridge/cartridge.cpp:7:
nes/cartridge/board/nes-fxrom.cpp: In member function ‘unsigned int NES::NES_FxROM::ciram_addr(unsigned int) const’:
nes/cartridge/board/nes-fxrom.cpp:37:16: warning: switch condition has type bool [-Wswitch-bool]
switch(mirror) {
^
In file included from nes/cartridge/board/board.cpp:12:0,
from nes/cartridge/cartridge.cpp:7:
nes/cartridge/board/nes-pxrom.cpp: In member function ‘unsigned int NES::NES_PxROM::ciram_addr(unsigned int) const’:
nes/cartridge/board/nes-pxrom.cpp:43:16: warning: switch condition has type bool [-Wswitch-bool]
switch(mirror) {
^
In file included from ./nall/array.hpp:10:0,
from ./nes/nes.hpp:22,
from nes/cartridge/cartridge.cpp:1:
./nall/bit.hpp: In instantiation of ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 2]’:
./nall/varint.hpp:19:78: required from ‘unsigned int nall::uint_t::operator=(unsigned int) [with unsigned int bits = 2u]’
nes/cartridge/chip/mmc1.cpp:80:16: required from here
./nall/bit.hpp:13:3: error: body of constexpr function ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 2]’ not a return-statement
}
^
./nall/bit.hpp: In instantiation of ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 5]’:
./nall/varint.hpp:19:78: required from ‘unsigned int nall::uint_t::operator=(unsigned int) [with unsigned int bits = 5u]’
nes/cartridge/chip/mmc1.cpp:84:21: required from here
./nall/bit.hpp:13:3: error: body of constexpr function ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 5]’ not a return-statement
./nall/bit.hpp: In instantiation of ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 4]’:
./nall/varint.hpp:19:78: required from ‘unsigned int nall::uint_t::operator=(unsigned int) [with unsigned int bits = 4u]’
nes/cartridge/chip/mmc1.cpp:93:18: required from here
./nall/bit.hpp:13:3: error: body of constexpr function ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 4]’ not a return-statement
./nall/bit.hpp: In instantiation of ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 3]’:
./nall/varint.hpp:19:78: required from ‘unsigned int nall::uint_t::operator=(unsigned int) [with unsigned int bits = 3u]’
nes/cartridge/chip/mmc3.cpp:98:15: required from here
./nall/bit.hpp:13:3: error: body of constexpr function ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 3]’ not a return-statement
./nall/bit.hpp: In instantiation of ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 10]’:
./nall/varint.hpp:19:78: required from ‘unsigned int nall::uint_t::operator=(unsigned int) [with unsigned int bits = 10u]’
nes/cartridge/chip/mmc5.cpp:203:35: required from here
./nall/bit.hpp:13:3: error: body of constexpr function ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 10]’ not a return-statement
./nall/bit.hpp: In instantiation of ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 12]’:
./nall/varint.hpp:18:62: required from ‘unsigned int nall::uint_t::operator--() [with unsigned int bits = 12u]’
nes/cartridge/chip/vrc6.cpp:27:10: required from here
./nall/bit.hpp:13:3: error: body of constexpr function ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 12]’ not a return-statement
./nall/bit.hpp: In instantiation of ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 1]’:
./nall/varint.hpp:17:62: required from ‘unsigned int nall::uint_t::operator++() [with unsigned int bits = 1u]’
nes/cartridge/chip/vrc6.cpp:63:12: required from here
./nall/bit.hpp:13:3: error: body of constexpr function ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 1]’ not a return-statement
./nall/bit.hpp: In instantiation of ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 6]’:
./nall/varint.hpp:19:78: required from ‘unsigned int nall::uint_t::operator=(unsigned int) [with unsigned int bits = 6u]’
nes/cartridge/chip/vrc6.cpp:195:19: required from here
./nall/bit.hpp:13:3: error: body of constexpr function ‘constexpr unsigned int nall::uclip(unsigned int) [with int bits = 6]’ not a return-statement
x86_64-pc-linux-gnu-g++ -std=gnu++0x -O3 -fomit-frame-pointer -fno-tree-vectorize -I. -fPIC -c nes/memory/memory.cpp -o obj/nes-memory.o
Makefile:72: recipe for target 'obj/nes-cartridge.o' failed
make: *** [obj/nes-cartridge.o] Error 1

need miniupnpc use flag

We need a use flag for miniupnpc support, currently the configure script will enable it if it is present on your system, but the build will fail with the following message :
libretro-common/net/net_natt.c:55:14: error: too few arguments to function ‘upnpDiscover’ devlist = upnpDiscover(2000, NULL, NULL, 0, 0, &upnperror);

beetle-psx-libretro doesn't enable hardware support

This doesn't appear to be documented anywhere but Beetle PSX doesn't enable hardware support by default. You can pass HAVE_HW=1 to emake but this enables both OpenGL and Vulkan. You may want to add opengl and vulkan USE flags to pass HAVE_OPENGL=1 and HAVE_VULKAN=1 instead but you will also need to append-cppflags -DHAVE_HW. The good news is it does appear to respect CPPFLAGS. The resulting library filename changes when you do this so you could mv ${S}"/mednafen_psx*_libretro.so in src_install.

Standalone Version of RetroArch like in Lakka

Lakka made a few adjustments for running RetroArch standalone.

Init-Files

[email protected]

Auto-Login with root on tty1

[Unit]
Description=Getty on %I
Documentation=man:agetty(8) man:systemd-getty-generator(8)
Documentation=http://0pointer.de/blog/projects/serial-console.html
After=systemd-user-sessions.service plymouth-quit-wait.service

Before=getty.target
IgnoreOnIsolate=yes

ConditionPathExists=/dev/tty0

[Service]
ExecStart=-/sbin/agetty --autologin root --noclear %I $TERM
Type=idle
Restart=always
RestartSec=0
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes

Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=

[Install]
WantedBy=getty.target
DefaultInstance=tty1

retroarch.service

With following kernel params: systemd.unit=retroarch.target retroarch=1 you can autostart RetroArch.
Also quit RetroArch in the menu will auto restart RetroArch.

[Unit]
Description=Retroarch
After=graphical.target
ConditionKernelCommandLine=!retroarch=0
Requires=graphical.target

[Service]
Environment=DISPLAY=:0.0
Environment=SDL_MOUSE_RELATIVE=0
Environment=FB_MULTI_BUFFER=2
Environment=HOME=/storage
EnvironmentFile=-/run/libreelec/retroarch.conf
ExecStartPre=-/usr/lib/retroarch/retroarch-config
ExecStart=/usr/bin/retroarch
KillMode=process
TimeoutStopSec=10
Restart=always
RestartSec=2
StartLimitInterval=0

[Install]
WantedBy=retroarch.target

retroarch.target

Needed systemd target for above described init-script.

[Unit]
Description=Retroarch
Requires=multi-user.target graphical.target
After=graphical.target
Conflicts=rescue.target
AllowIsolate=yes

[Install]
Alias=default.target

Lakka is also heavily depended on systemd and connman for autodetection and starts of ethernet, bluetooth, wlan.

All services are stored in /etc/systemd/system/

Additional Lakka configs

udevil.conf

Udevil is used to recognize new usb-sticks and to mount it to /storage/roms/

allowed_media_dirs = /storage/roms
allowed_devices = /dev/*

If I may suggest following addition to your use flags:

IUSE="... lakka_standalone"

REQUIRED_USE=" ...
lakka_standalone ( lakka bluez bluetooth ethernet connman alsa-utils wireless-tools dhcp ntfs3g net-tools udevil rfkill systemd kms egl opengl dbus ssh evdev udev)

Enabled are the additions with following commands

systemctl enable sshd
systemctl enable systemd-networkd.service
systemctl enable systemd-resolved.service
systemctl enable wpa_supplicant.service
systemctl enable bluetooth.service
systemctl enable retroarch.service
systemctl enable connman
systemctl enable devmon@root

Gentoo should then boot without X11 / Xorg directly into RetroArch like Lakka if prompted with retroarch=1 on the kernel command line.

Please note that Lakka does run everything as root.

retroarch-9999-r3 fail to build

rm darken.o 2xsai.o blargg_ntsc_snes.o super2xsai.o lq2x.o 2xbr.o scale2x.o epx.o phosphor2x.o supereagle.o
make: Leaving directory '/var/tmp/portage/games-emulation/retroarch-9999-r3/work/retroarch-9999/gfx/video_filters'
make -j5 build=release -C audio/audio_filters/
make: *** audio/audio_filters/: No such file or directory. Stop.

it seems audio/audio_filters/ was moved to audio/dsp_filters/

genplus-libretro-1.0_pre20170926: Sonic & Knuckles UPMEM

A line of the post installation information of games-emulation/genplus-libretro-1.0_pre20170926 needs to be changed to fit the current core requirements:

Currently it contains

s2k.bin (Sonic & Knuckles UPMEM (256 KiB) ROM) = b4e76e416b887f4e7413ba76fa735f16

But it seems (Core information in retroarch) that the name has been changed to sk2chip.bin

mgba-libretro failing to install

Looks like the location of the library changed from /usr/lib/ to /lib/, causing the check in libretro-core_src_install in the libretro-core eclass to die.

 * ERROR: games-emulation/mgba-libretro-1.0_pre20170207::abendbrot failed (install phase):
 *   Libretro core shared library "/var/tmp/portage/games-emulation/mgba-libretro-1.0_pre20170207/image//usr/lib64/libretro/mgba_libretro.so" not installed.
 * 
 * Call stack:
 *     ebuild.sh, line  115:  Called src_install
 *   environment, line 3113:  Called libretro-core_src_install
 *   environment, line 2163:  Called die
 * The specific snippet of code:
 *               [[ -f "${lib_file_target}" ]] || die "Libretro core shared library \"${lib_file_target}\" not installed.";

bsnes-libretro-9999-r1 fails portage sanity checks

`Calculating dependencies \ * ERROR: games-emulation/bsnes-libretro-9999-r1::abendbrot failed (depend phase):

  • use() calls are not allowed in global scope
  • Call stack:
  •                   ebuild.sh, line 606:  Called source '/mnt/storage/overlays/abendbrot/games-emulation/bsnes-libretro/bsnes-libretro-9999-r1.ebuild'
    
  • bsnes-libretro-9999-r1.ebuild, line 28: Called use 'profile_accuracy'
  •                   ebuild.sh, line  78:  Called die
    
  • The specific snippet of code:
  •      eval "${x}() { die \"\${FUNCNAME}() calls are not allowed in global scope\"; }"
    
  • If you need support, post the output of emerge --info '=games-emulation/bsnes-libretro-9999-r1::abendbrot',
  • the complete build log and the output of emerge -pqv '=games-emulation/bsnes-libretro-9999-r1::abendbrot'.
  • Working directory: '/usr/lib64/python3.4/site-packages'
  • S: '/mnt/storage/tmp/portage/games-emulation/bsnes-libretro-9999-r1/work/bsnes-libretro-9999'`

games-emulation/retroarch: "python" USE Flag Broken

Emerging retroarch with the python USE flag enabled currently fails with the following fatal error:

>>> Emerging (12 of 12) games-emulation/retroarch-9999::abendbrot
 * No Python implementation selected for the build. Please set
 * the PYTHON_SINGLE_TARGET variable in your make.conf to one
 * of the following values:
 * 
 * python3_3 python3_4

 * ERROR: games-emulation/retroarch-9999::abendbrot failed (setup phase):
 *   No supported Python implementation in PYTHON_SINGLE_TARGET/PYTHON_TARGETS.
 * 
 * Call stack:
 *                 ebuild.sh, line  93:  Called pkg_setup
 *     retroarch-9999.ebuild, line  69:  Called python-single-r1_pkg_setup
 *   python-single-r1.eclass, line 446:  Called python_setup
 *   python-single-r1.eclass, line 436:  Called die
 * The specific snippet of code:
 *          die "No supported Python implementation in PYTHON_SINGLE_TARGET/PYTHON_TARGETS."
 * 
 * If you need support, post the output of `emerge --info '=games-emulation/retroarch-9999::abendbrot'`,
 * the complete build log and the output of `emerge -pqv '=games-emulation/retroarch-9999::abendbrot'`.
 * The complete build log is located at '/var/tmp/portage/games-emulation/retroarch-9999/temp/build.log.gz'.
 * The ebuild environment file is located at '/var/tmp/portage/games-emulation/retroarch-9999/temp/die.env'.
 * Working directory: '/usr/lib64/python3.3/site-packages'
 * S: '/var/tmp/portage/games-emulation/retroarch-9999/work/retroarch-9999'

>>> Failed to emerge games-emulation/retroarch-9999, Log file:

>>>  '/var/tmp/portage/games-emulation/retroarch-9999/temp/build.log.gz'

Contrary to the error message, the PYTHON_SINGLE_TARGET variable should never be explicitly set – either in make.conf or package.use. Rather, the ebuild itself should be patched to enable either the python_single_target_python3_3 or python_single_target_python3_4 USE flag (but not both) by default.

Happily, I've fixed this locally and will be submitting a pull request shortly.

Drop vulkan-base in favour or tree's vulkan-loader

These appear to be the same thing and RetroArch builds against the latter. Unfortunately I get an error when starting RetroArch under RADV regardless of which package I use but that's another story!

On a side note, this overlay is really great work, thank you very much. I'd love to get this in the tree but obviously it's a lot of packages with some lacking proper releases. I'm pretty stretched as it is but maybe we could work out some kind of proxy maintainership. I don't usually like that option but you clearly know what you're doing here. Unless you'd like to become a dev, of course. 😉

parallel now using its own repository + feature request

I noticed parallel-n64 got splitted from mupen64, here is its repository : https://github.com/libretro/parallel-n64

Also, i think it would be a great idea to add an ebuild for beetle-saturn, perhaps going as far as using it as the default saturn emulator in use flags. The mrboom (a bomberman 8 players clone) and mame2003 (for low performance hardware, mame2000 is getting kinda old, people now prefer using fbalpha + mame2003) cores would be some nice additions too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.