games-engines/butterscotch - 9999 (mrchicken)

Search

Install

Install this version:

emerge -a =games-engines/butterscotch-9999

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =games-engines/butterscotch-9999

Or alternatively:

emerge --autounmask-write -a =games-engines/butterscotch-9999

Package Information

Description:
An open source re-implementation of GameMaker: Studio's runner (YoYo Runner)
Homepage:
https://github.com/ButterscotchRunner/Butterscotch
License:
AGPL-3 Apache-2.0 public-domain BZIP2 MIT MPL-2.0 RSA Unlicense ZLIB

Ebuild Details

Version EAPI Keywords Slot
9999 8 0
View Raw Ebuild
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit cmake git-r3

DESCRIPTION="An open source re-implementation of GameMaker: Studio's runner (YoYo Runner)"
HOMEPAGE="https://github.com/ButterscotchRunner/Butterscotch"
EGIT_REPO_URI="https://github.com/ButterscotchRunner/Butterscotch.git"

# From android source: Apache-2.0 public-domain BZIP2 MIT MPL-2.0 RSA Unlicense
# From printf compat: MIT
# From vendor: BZIP2 public-domain MIT ZLIB
LICENSE="AGPL-3"
LICENSE+=" Apache-2.0 public-domain BZIP2 MIT MPL-2.0 RSA Unlicense ZLIB"
SLOT="0"

# TODO: system-miniaudio system-box2d system-stb system-bzip2 system-miniz
IUSE="+ffmpeg minimal asan sdl2 sdl3 +glfw3 +box2d +reproducible +wad14 +wad16 +wad17 fmod +tinyfd"

REQUIRED_USE="
	minimal? ( !ffmpeg !fmod !sdl2 !sdl3 !glfw3 )
	!minimal? ( ^^ ( sdl2 sdl3 glfw3 ) )
	|| ( wad14 wad16 wad17 )
"

# TODO: system-box2d? ( games-engines/box2d ) system-miniaudio? ( dev-libs/miniaudio ) system-stb? ( dev-libs/stb ) system-bzip2? ( app-alternatives/bzip2 ) system-miniz? ( dev-libs/miniz )
DEPEND="
	ffmpeg? ( media-video/ffmpeg )
	sdl2? ( media-libs/libsdl2 )
	sdl3? ( media-libs/libsdl3 )
	glfw3? ( media-libs/glfw )
"
BDEPEND="${DEPEND}"
RDEPEND="${DEPEND}"

RESTRICT="test"

src_configure() {
	# minimal
	local my_backend="noop"

	if use sdl2; then
		my_backend="sdl2"
	elif use sdl3; then
		my_backend="sdl3"
	elif use glfw3; then
		my_backend="glfw3"
	fi

	local mycmakeargs=(
		-DENABLE_NOOP_RENDERER=$(usex minimal)
		-DVIDEO_BACKEND=$(usex ffmpeg ffmpeg none)
		-DENABLE_ASAN=$(usex asan)
		-DENABLE_PHYSICS=$(usex box2d)
		-DENABLE_WAD14=$(usex wad14)
		-DENABLE_WAD16=$(usex wad16)
		-DENABLE_WAD17=$(usex wad17)
		-DENABLE_FMOD=$(usex fmod)
		-DENABLE_FILE_PICKER=$(usex tinyfd)
		-DBACKEND="${my_backend}"
	)

	if use reproducible; then
		mycmakeargs+=(
			-DBUTTERSCOTCH_COMMIT_HASH="unknown"
			-DBUTTERSCOTCH_COMMIT_DATE="unknown"
		)
	fi

	cmake_src_configure
}

src_install() {
	# ninja: error: unknown target 'install'
	dobin "${BUILD_DIR}/butterscotch"
	dodoc README.md
}

USE Flags

Manage flags for this package: euse -i <flag> -p games-engines/butterscotch | euse -E <flag> -p games-engines/butterscotch | euse -D <flag> -p games-engines/butterscotch

Global/Standard Flags

ffmpeg
❓ Default: Enabled (+)
glfw3
❓ Default: Enabled (+)
box2d
❓ Default: Enabled (+)
reproducible
❓ Default: Enabled (+)
wad14
❓ Default: Enabled (+)
wad16
❓ Default: Enabled (+)
wad17
❓ Default: Enabled (+)
tinyfd
❓ Default: Enabled (+)

Inherited Eclasses

Dependencies

DEPEND

	ffmpeg? ( media-video/ffmpeg )
	sdl2? ( media-libs/libsdl2 )
	sdl3? ( media-libs/libsdl3 )
	glfw3? ( media-libs/glfw )

RDEPEND

	ffmpeg? ( media-video/ffmpeg )
	sdl2? ( media-libs/libsdl2 )
	sdl3? ( media-libs/libsdl3 )
	glfw3? ( media-libs/glfw )

BDEPEND

	ffmpeg? ( media-video/ffmpeg )
	sdl2? ( media-libs/libsdl2 )
	sdl3? ( media-libs/libsdl3 )
	glfw3? ( media-libs/glfw )