Skip to content

Commit

Permalink
app-emulation/uxn: sync live 9999 version
Browse files Browse the repository at this point in the history
Signed-off-by: Maciej Barć <[email protected]>
  • Loading branch information
xgqt committed Mar 5, 2024
1 parent 796ea86 commit 3252aa9
Showing 1 changed file with 41 additions and 25 deletions.
66 changes: 41 additions & 25 deletions app-emulation/uxn/uxn-9999.ebuild
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8
Expand All @@ -9,47 +9,63 @@ DESCRIPTION="An assembler and emulator for the Uxn stack-machine, written in ANS
HOMEPAGE="https://wiki.xxiivv.com/site/uxn.html
https://git.sr.ht/~rabbits/uxn/"

if [[ ${PV} == *9999* ]] ; then
if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://git.sr.ht/~rabbits/uxn"
elif [[ ${PV} == *_p20230609 ]] ; then
COMMIT=f3674b2562e6c5557fc008edbac71d9fcfde64ff
SRC_URI="https://git.sr.ht/~rabbits/uxn/archive/${COMMIT}.tar.gz

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}
S="${WORKDIR}/uxn-${COMMIT}"

KEYWORDS="~amd64 ~x86"
else
die "wrong package version (PV), given: ${PV}"
die "wrong package version (PV), please update the ebuild, given: ${PV}"
fi

LICENSE="MIT"
SLOT="0"

RDEPEND="media-libs/libsdl2:="
DEPEND="${RDEPEND}"
RDEPEND="
media-libs/libsdl2:=
"
DEPEND="
${RDEPEND}
"

PATCHES=( "${FILESDIR}"/uxn-0_p20230609-build.sh.patch )
PATCHES=(
"${FILESDIR}/uxn-0_p20230609-build.sh.patch"
)

src_compile() {
CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${LDFLAGS}" ./build.sh --no-run ||
die "build failed"

local f
local f_base
for f in ./projects/{examples/*,software,utils}/*.tal ; do
f_base="$(basename "${f}" .tal)"
ebegin "Assembling ROM ${f_base}"
./bin/uxnasm "${f}" "$(dirname "${f}")"/"${f_base}".rom
eend ${?} || die "failed to assemble ${f}"
done
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() {
exeinto /usr/bin
doexe bin/uxn*
insinto /usr/bin
doins bin/uxn*
fperms 0755 /usr/bin/uxn*

insinto /usr/share/uxn
doins bin/*.rom
doins -r projects

einstalldocs
Expand Down

0 comments on commit 3252aa9

Please sign in to comment.