diff options
Diffstat (limited to 'app-emulation/uxn/uxn-0_p20240304.ebuild')
-rw-r--r-- | app-emulation/uxn/uxn-0_p20240304.ebuild | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/app-emulation/uxn/uxn-0_p20240304.ebuild b/app-emulation/uxn/uxn-0_p20240304.ebuild new file mode 100644 index 000000000000..ef6e9fc2dafe --- /dev/null +++ b/app-emulation/uxn/uxn-0_p20240304.ebuild @@ -0,0 +1,72 @@ +# 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 +} |