/abendbrot

Desktop oriented overlay for various ebuilds and the occasional gamer

Primary LanguageShell

abendbrot

Welcome to abendbrot, the third-party Gentoo overlay full of:

Installation

abendbrot is installable in two ways. Assuming emerge (and not that other disreputable fellow):

The portage way:

  • Install dev-vcs/git

      * Execute the following with root rights (`su -l` or `sudo -i`)
      $ curl --create-dirs -o /etc/portage/repos.conf/abendbrot.conf https://raw.githubusercontent.com/stefan-gr/abendbrot/master/tools/abendbrot.conf
      $ emerge --sync
    

The layman way:

  • Install layman with USE=git, Gentoo's official overlay manager.

      $ emerge --ask layman
      * For <=app-portage/layman-2.2.0-r7
      $ echo 'source /var/lib/layman/make.conf' >> /etc/portage/make.conf
      * For >=app-portage/layman-2.3.0-r1[sync-plugin-portage]
      $ Nothing
    
  • Fetch overlay list.

      $ layman -f
    
  • Add the abendbrot overlay.

      $ layman -a abendbrot
    
  • Synchronize overlays.

      $ layman -S
    

Compilation

Most ebuilds hosted at this overlay are trivially compilable. Ebuilds overwriting or updating official Portage ebuilds are keyworded and will require manual unmasking.

Some ebuilds, however, require what can only charitably be referred to as the "Thai keyboard massage."

RetroArch

RetroArch is the official frontend for LibRetro, a lightweight C[++] API unifying console emulators, game engines, standalone games, media players, and (...wait for it) more under the same umbrella interface. Each implementation of the LibRetro API is referred to as a core. Cores exist for most popular open-source emulators (e.g., Nestopia) and game engines (e.g., ScummVM) – with (...wait for it) more continually on the way and waiting in the wings.

RetroArch and LibRetro are beasts. Let abendbrot tame these beasts for you:

  1. Unmask RetroArch, the official LibRetro frontend. While alternative frontends exist, you almost certainly want RetroArch for your first forays into LibRetro Land™. This overlay provides both:

    1. (Recommended) Stable RetroArch releases, No unmasking required.

    2. (Not recommended) The unstable live RetroArch repository, unmasked by adding the following line to /etc/portage/package.accept_keywords:

        ~games-emulation/retroarch-9999 **
      
  2. Set LibRetro core USE flags. For each core , enable the corresponding USE flag provided by the games-emulation/libretro-meta ebuild. To prevent this ebuild from attempting to install other undesired LibRetro cores, disable all other USE flags provided by this ebuild. For example, to enable only the Nestopia and mGBA LibRetro cores, add the following line to /etc/portage/package.use:

     games-emulation/libretro-meta mgba nestopia -2048 -4do -beetle-psx -bnes -bsnes -desmume -dolphin -fba -fceu-next -gambatte -genplus -handy -imame4all -mame -mednafen-gba -mednafen-ngp -mednafen-pce-fast -mednafen-psx -mednafen-snes -mednafen-vb -mednafen-wswan -meteor -mupen64plus -nxengine -pcsx-rearmed -mednafen-supergrafx -picodrive -pocketsnes -ppsspp -prboom -prosystem -quicknes -scummvm -snes9x -snes9x-next -stella -tgbdual -tyrquake -vba-next -vbam -yabause
    
  3. (Optional) Set RetroArch USE flags. The games-emulation/retroarch ebuild provides a variety of USE flags. While the defaults should suffice for most use cases, the good Gentooer expects more. For example, to enable achievement support but disable SDL1 support, add the following line to /etc/portage/package.use:

     games-emulation/retroarch cheevos -sdl
    
  4. Install RetroArch:

     $ emerge --ask retroarch
    
  5. Live on the bleeding edge. The stable cores provided by this overlay are updated quite often. But, if you want to experience retroarch completely on the edge then add these lines to /etc/portage/package.accept_keywords:

     games-emulation/*libretro* **
     games-emulation/retroarch **
    
     To update the *9999 ebuilds only when their repo updated:
       $ emerge -a app-portage/smart-live-rebuild
    

Issues

Please report ebuild issues, feature requests, and other pressing concerns at our closely followed issue tracker.

Thanks, guys!

Etymology

Abendbrot is German for "night bread," but broadly refers to the traditional evening meal in German-speaking regions of fatty bread, fatty sliced meat, fatty cheese, and fatty pickles. Witness the traditionally unhappy German family in its native abendbrot environment:

Abendbrot and the Post-modern Malaise

Don't be like them. Play RetroArch.