Received: from sebsite.pw (sebsite.pw [71.19.150.50])
	by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id CE7F7781139
	for <~alpine/aports@lists.alpinelinux.org>; Fri,  7 Jan 2022 01:44:20 +0000 (UTC)
Received: from localhost.localdomain (unknown [8.9.88.219])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by sebsite.pw (Postfix) with ESMTPSA id 1A19D380142;
	Fri,  7 Jan 2022 01:37:16 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=sebsite.pw;
	s=sebsite; t=1641519436;
	bh=68soRcpvY+O4g3b7vO6J2tSI//cw7EkBU085wp0JmvA=;
	h=From:To:Cc:Subject:Date;
	b=gvZkB2yb6fVOXWzoh0D7lOj64BlTeAQ72ZXNIsQl1UOKu15Y3FjybKagg+6vV4BRA
	 LuRItMC7J/izpR5evXb4pA6OJGUzljyGdFNra1nb5utHcoXmVeMdAk3U5tSobr6niY
	 Ur1iRlUPm0oYIkXwV5ioJC/kxgXS+AWh8kbDYqqU57tHS+OsX/+Ax63uu1UdXeaKW6
	 5f458VEXDO4XZZ12tm2jBZ5+8TkEWi+BpbOR8nKHWGRUbu0HBJWPWwv3KIksbcvRJF
	 a2WI6fwAjXb94qKRv/+I5ICFJASyqL3fzDaVgQYeJE14TqBodcizyaJYnBLwCu2Sxf
	 /bcxDWCcySY1A==
From: Sebastian <sebastian@sebsite.pw>
To: ~alpine/aports@lists.alpinelinux.org
Cc: Sebastian <sebastian@sebsite.pw>
Subject: [PATCH v4] testing/wiimms-szs-tools: new aport
Date: Thu,  6 Jan 2022 20:35:42 -0500
Message-Id: <20220107013542.6218-1-sebastian@sebsite.pw>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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