https://szs.wiimm.de/
Set of command-line tools to work with Mario Kart Wii files
Signed-off-by: Sebastian <sebastian@sebsite.pw>
---
Since v3: removed implied makedepends bash, gcc, and make
testing/wiimms-szs-tools/APKBUILD | 32 ++++++++
.../wiimms-szs-tools/wiimms-szs-tools.patch | 77 +++++++++++++++++++
2 files changed, 109 insertions(+)
create mode 100644 testing/wiimms-szs-tools/APKBUILD
create mode 100644 testing/wiimms-szs-tools/wiimms-szs-tools.patch
diff --git a/testing/wiimms-szs-tools/APKBUILD b/testing/wiimms-szs-tools/APKBUILD
new file mode 100644
index 00000000..0f297680
--- /dev/null
+++ b/testing/wiimms-szs-tools/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Sebastian Hudak <sebastian@sebsite.pw>
+# Maintainer: Sebastian Hudak <sebastian@sebsite.pw>
+pkgname=wiimms-szs-tools
+pkgver=2.26a
+pkgrel=0
+pkgdesc="Set of command-line tools to work with Mario Kart Wii files"
+# releases aren't tagged; this commit matches version 2.26a
+_commit=9ae8841ec4720e74173e2f72fac33f0848bbf435
+url="https://szs.wiimm.de/"
+arch="x86 x86_64"
+license="GPL-2.0-or-later"
+makedepends="bash libpng-dev linux-headers ncurses-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$_commit.tar.gz::https://github.com/Wiimm/wiimms-szs-tools/archive/$_commit.tar.gz
+ $pkgname.patch"
+builddir="$srcdir/$pkgname-$_commit"
+options="!check" # No tests
+
+build() {
+ make -C project INSTALL_PATH="$pkgdir/usr" all doc
+}
+
+package() {
+ make -C project INSTALL_PATH="$pkgdir/usr" install
+ mkdir -p "$pkgdir"/usr/share/doc/szs/
+ install -m644 project/doc/*.txt "$pkgdir"/usr/share/doc/szs/
+}
+
+sha512sums="
+3e4f3555e53012096a64f9d4dba4bae2b4284ca185a2c9e732b022734558bddc6f040ad180d1074906c9fdc91750a37b5883fd902db0da65d816dd46c79c3d1e wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435.tar.gz
+570f0bfa2f72d87a485e3a6a27f7b5ab2925cad4f100c43723e4ba0d1ef6fc7a6c34c4572d7b1ae4d95b862edf142b2ad276e9563106dd09ee6569bbe82e4aa4 wiimms-szs-tools.patch
+"
diff --git a/testing/wiimms-szs-tools/wiimms-szs-tools.patch b/testing/wiimms-szs-tools/wiimms-szs-tools.patch
new file mode 100644
index 00000000..cfcc9368
--- /dev/null
+++ b/testing/wiimms-szs-tools/wiimms-szs-tools.patch
@@ -0,0 +1,77 @@
+Manually linking tinfo is unnecessary and results in a linker error.
+
+diff -Naur wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/Makefile wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/Makefile
+--- wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/Makefile 2021-12-22 16:40:12.263507617 +0000
++++ wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/Makefile 2021-12-22 16:40:41.880175306 +0000
+@@ -161,7 +161,6 @@
+ CFLAGS += -ffunction-sections -fdata-sections
+ LDFLAGS += -Xlinker --gc-sections
+ #LDFLAGS += -Xlinker --print-gc-sections
+- LIBS += -ltinfo
+ LDFLAGS += -static-libgcc
+ endif
+
+wiimms-szs-tools assumes that the global variables stdin, stdout, and stderr
+are mutable. This is true in glibc, but false in musl. This patch removes code
+which attempts to mutate standard streams.
+
+diff -Naur wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/dclib/dclib-color.c wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/dclib/dclib-color.c
+--- wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/dclib/dclib-color.c 2021-12-22 16:40:12.266840951 +0000
++++ wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/dclib/dclib-color.c 2021-12-22 16:40:41.883508639 +0000
+@@ -4848,8 +4848,6 @@
+ {
+ DASSERT(ssf);
+
+- stdout = ssf->std_out;
+- stderr = ssf->std_err;
+ stdlog = ssf->std_log;
+ stdmsg = ssf->std_msg;
+ stdwrn = ssf->std_wrn;
+@@ -4877,7 +4875,7 @@
+ if (ssf)
+ SaveStdFiles(ssf);
+
+- stdout = stdwrn = stdmsg = f;
++ stdwrn = stdmsg = f;
+ colout = colwrn = colmsg = colset ? colset : GetFileColorSet(f);
+
+ // special handling for stdlog
+@@ -4889,7 +4887,6 @@
+
+ if (err_too)
+ {
+- stderr = stdout;
+ colerr = colout;
+ }
+ }
+
+Don't define non-static global variable in header file. (This variable is only
+ever used in one source file, so having it in the header is pointless.)
+
+diff -Naur wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/dclib/lib-mkw.h wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/dclib/lib-mkw.h
+--- wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/dclib/lib-mkw.h 2021-12-22 16:40:12.266840951 +0000
++++ wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/dclib/lib-mkw.h 2021-12-22 16:41:03.896842729 +0000
+@@ -198,8 +198,6 @@
+
+ //-----------------------------------------------------------------------------
+
+-const MkwPointInfo_t MkwPointInfo[MPI__N+1];
+-
+ // [[24P--]] all tables
+
+ extern u8 MkwPointsTab[MKW_STD_MAX_PLAYER2];
+
+Add missing semicolon.
+
+diff -Naur wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/src/lib-staticr.c wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/src/lib-staticr.c
+--- wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/src/lib-staticr.c 2021-12-22 16:40:12.270174285 +0000
++++ wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/src/lib-staticr.c 2021-12-22 16:40:41.886841972 +0000
+@@ -1922,7 +1922,7 @@
+ default: return 0;
+ }
+
+- DASSERT(ri)
++ DASSERT(ri);
+ if (!ri->sect[0].addr)
+ {
+ for ( dol_sect_info_t *ptr = ri->sect; ptr->section >= 0; ptr++ )
--
2.34.1