commit:     5dc5013c0447f3062ddfee2379a0eb73ce35c116
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 16 19:48:41 2022 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Tue Aug 16 19:50:01 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dc5013c

app-emulation/uxn: new package; add version 0_p20220815 and live

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 app-emulation/uxn/Manifest                 |  1 +
 app-emulation/uxn/files/uxn-build.sh.patch | 11 +++++++
 app-emulation/uxn/metadata.xml             | 15 +++++++++
 app-emulation/uxn/uxn-0_p20220815.ebuild   | 53 ++++++++++++++++++++++++++++++
 app-emulation/uxn/uxn-9999.ebuild          | 53 ++++++++++++++++++++++++++++++
 5 files changed, 133 insertions(+)

diff --git a/app-emulation/uxn/Manifest b/app-emulation/uxn/Manifest
new file mode 100644
index 000000000000..9f90f4c25b63
--- /dev/null
+++ b/app-emulation/uxn/Manifest
@@ -0,0 +1 @@
+DIST uxn-0_p20220815.tar.gz 286763 BLAKE2B 
d50e52da1614fdd2939ad09d5c372c103cbfa074b10e1a17560baa3ad5e09a81b9627efdc5f17c7572798d06f1e6a388cb473348950cef5ba45c7d40b3716ec6
 SHA512 
237c6d633783006d8503b6b4726aaa1d8ed22209c0c6368e78a3da0703d92cb8b1e9c5c7372faecc374082be56608ac1857efc0629e0dff6e374a2adbf1d20ea

diff --git a/app-emulation/uxn/files/uxn-build.sh.patch 
b/app-emulation/uxn/files/uxn-build.sh.patch
new file mode 100644
index 000000000000..a99ed23d737e
--- /dev/null
+++ b/app-emulation/uxn/files/uxn-build.sh.patch
@@ -0,0 +1,11 @@
+--- a/build.sh
++++ b/build.sh
+@@ -94,7 +94,7 @@ then
+       CFLAGS="${CFLAGS} -DDEBUG -Wpedantic -Wshadow -Wextra 
-Werror=implicit-int -Werror=incompatible-pointer-types -Werror=int-conversion 
-Wvla -g -Og -fsanitize=address -fsanitize=undefined"
+       CORE='src/uxn.c'
+ else
+-      CFLAGS="${CFLAGS} -DNDEBUG -Os -g0 -s"
++      CFLAGS="${CFLAGS} -DNDEBUG"
+       CORE='src/uxn.c'
+ fi
+ 

diff --git a/app-emulation/uxn/metadata.xml b/app-emulation/uxn/metadata.xml
new file mode 100644
index 000000000000..e7efab8c0508
--- /dev/null
+++ b/app-emulation/uxn/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+
+<pkgmetadata>
+  <maintainer type="person">
+    <email>x...@gentoo.org</email>
+    <name>Maciej Barć</name>
+  </maintainer>
+  <longdescription>
+    Uxn is a virtual machine with 32 instructions. This one-page computer is
+    capable of hosting small applications, programmable in a unique language.
+    It was designed with an implementation-first mindset with a focus on
+    creating portable tools and games.
+  </longdescription>
+</pkgmetadata>

diff --git a/app-emulation/uxn/uxn-0_p20220815.ebuild 
b/app-emulation/uxn/uxn-0_p20220815.ebuild
new file mode 100644
index 000000000000..ada1e5c54013
--- /dev/null
+++ b/app-emulation/uxn/uxn-0_p20220815.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+H=85ae1f6ebea635f35974218be8faf7557390a7e9
+
+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/uxn.git";
+else
+       SRC_URI="https://git.sr.ht/~rabbits/uxn/archive/${H}.tar.gz -> 
${P}.tar.gz"
+       S="${WORKDIR}"/${PN}-${H}
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="media-libs/libsdl2:="
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/uxn-build.sh.patch )
+
+src_compile() {
+       CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${LDFLAGS}" ./build.sh --no-run ||
+               die "build failed"
+
+       local f
+       for f in ./projects/{examples/*,software,utils}/*.tal ; do
+               ./bin/uxnasm "${f}" "$(dirname "${f}")"/"$(basename "${f}" 
.tal)".rom ||
+                       die "failed to assemble ${f}"
+       done
+}
+
+src_install() {
+       exeinto /usr/bin
+       doexe bin/uxn*
+
+       insinto /usr/share/uxn
+       doins bin/*.rom
+       doins -r projects
+
+       einstalldocs
+}

diff --git a/app-emulation/uxn/uxn-9999.ebuild 
b/app-emulation/uxn/uxn-9999.ebuild
new file mode 100644
index 000000000000..ada1e5c54013
--- /dev/null
+++ b/app-emulation/uxn/uxn-9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+H=85ae1f6ebea635f35974218be8faf7557390a7e9
+
+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/uxn.git";
+else
+       SRC_URI="https://git.sr.ht/~rabbits/uxn/archive/${H}.tar.gz -> 
${P}.tar.gz"
+       S="${WORKDIR}"/${PN}-${H}
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="media-libs/libsdl2:="
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/uxn-build.sh.patch )
+
+src_compile() {
+       CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${LDFLAGS}" ./build.sh --no-run ||
+               die "build failed"
+
+       local f
+       for f in ./projects/{examples/*,software,utils}/*.tal ; do
+               ./bin/uxnasm "${f}" "$(dirname "${f}")"/"$(basename "${f}" 
.tal)".rom ||
+                       die "failed to assemble ${f}"
+       done
+}
+
+src_install() {
+       exeinto /usr/bin
+       doexe bin/uxn*
+
+       insinto /usr/share/uxn
+       doins bin/*.rom
+       doins -r projects
+
+       einstalldocs
+}

Reply via email to