You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.6 KiB

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs
DESCRIPTION="An assembler and emulator for the Uxn stack-machine, written in ANSI C"
HOMEPAGE="https://wiki.xxiivv.com/site/uxn.html
https://git.sr.ht/~rabbits/uxn/"
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://git.sr.ht/~rabbits/${PN}"
elif [[ "${PV}" == *_p20240304 ]] ; then
COMMIT=e7c25fad05850f0e577fc83a140405ca6ccd93c2
SRC_URI="https://git.sr.ht/~rabbits/${PN}/archive/${COMMIT}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/uxn-${COMMIT}"
KEYWORDS="~amd64 ~x86"
else
die "wrong package version (PV), please update the ebuild, given: ${PV}"
fi
LICENSE="MIT"
SLOT="0"
RDEPEND="
media-libs/libsdl2:=
"
DEPEND="
${RDEPEND}
"
PATCHES=(
"${FILESDIR}/uxn-0_p20230609-build.sh.patch"
)
src_compile() {
CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${LDFLAGS}" \
./build.sh --no-run \
|| die "building with \"build.sh\" failed"
# Fails to assemble via following loop.
# Possibly not mean to be assembled by hand.
rm -rf ./projects/library ./projects/software/{asma,launcher}.tal || die
local tal_file
local tal_file_base
while read -r tal_file ; do
tal_file_base="$(basename "${tal_file}" .tal)"
ebegin "Assembling ROM ${tal_file_base}"
bin/uxnasm "${tal_file}" "$(dirname "${tal_file}")/${tal_file_base}.rom"
eend ${?} || die "failed to assemble ${tal_file}"
done \
< <(find projects -type f -name "*.tal")
}
src_install() {
insinto /usr/bin
doins bin/uxn*
fperms 0755 /usr/bin/uxn*
insinto /usr/share/uxn
doins -r projects
einstalldocs
}