Install this version:
emerge -a =games-arcade/ccleste-1.4.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =games-arcade/ccleste-1.4.0
Or alternatively:
emerge --autounmask-write -a =games-arcade/ccleste-1.4.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.4.0 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop toolchain-funcs xdg
DESCRIPTION="Portable C port of Celeste Classic, originally a PICO-8 game."
HOMEPAGE="https://github.com/lemon32767/ccleste"
SRC_URI="https://github.com/lemon32767/${PN}/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz"
# Upstream ships no licence file and states no terms anywhere in the repository.
LICENSE="all-rights-reserved"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="bindist mirror"
DEPEND="
media-libs/libsdl2[video]
media-libs/sdl2-mixer[vorbis]
"
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}/${P}-data-dir.patch" )
src_compile() {
emake CC="$(tc-getCC)" \
CFLAGS="${CFLAGS} -Wall -DCCLESTE_DATA_DIR=\\\"${EPREFIX}/usr/share/${PN}\\\" $($(tc-getPKG_CONFIG) --cflags sdl2 SDL2_mixer)" \
LDFLAGS="${LDFLAGS} $($(tc-getPKG_CONFIG) --libs sdl2 SDL2_mixer) -lm"
}
src_install() {
# The gamepad mapping file is written next to the working directory unless
# CCLESTE_INPUT_CFG_PATH says otherwise, so a wrapper points it at the
# configuration directory rather than wherever the game was started from.
exeinto "/usr/libexec/${PN}"
doexe "${PN}"
cat > "${T}/${PN}" <<-EOF || die
#!/bin/sh
CCLESTE_CFG_DIR="\${XDG_CONFIG_HOME:-\${HOME}/.config}/${PN}"
CCLESTE_INPUT_CFG_PATH="\${CCLESTE_INPUT_CFG_PATH:-\${CCLESTE_CFG_DIR}/input-cfg.txt}"
export CCLESTE_INPUT_CFG_PATH
mkdir -p "\$(dirname "\${CCLESTE_INPUT_CFG_PATH}")" || exit 1
exec "${EPREFIX}/usr/libexec/${PN}/${PN}" "\$@"
EOF
dobin "${T}/${PN}"
insinto "/usr/share/${PN}"
doins data/* gamecontrollerdb.txt
newicon icon.png "${PN}.png"
make_desktop_entry "${PN}" "Celeste Classic" "${PN}" "Game;ArcadeGame"
einstalldocs
}
pkg_postinst() {
xdg_pkg_postinst
elog "The gamepad mapping file is written to input-cfg.txt in"
elog "\${XDG_CONFIG_HOME}/${PN}. Set CCLESTE_INPUT_CFG_PATH to choose"
elog "another path."
}
media-libs/libsdl2[video] media-libs/sdl2-mixer[vorbis]
media-libs/libsdl2[video] media-libs/sdl2-mixer[vorbis]
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | ccleste-1.4.0.tar.gz | 1537733 bytes | https://github.com/lemon32767/ccleste/archive/refs/tags/v1.4.0.tar.gz |