commit:     a8221568f966e789f8f1f83fe528a7a2da90f779
Author:     NRK <nrk <AT> disroot <DOT> org>
AuthorDate: Fri Feb 28 12:04:28 2025 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat Mar  1 09:37:47 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8221568

dev-lang/uasm: add v2.57

Signed-off-by: NRK <nrk <AT> disroot.org>
Closes: https://github.com/gentoo/gentoo/pull/40810
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 dev-lang/uasm/Manifest                          |  1 +
 dev-lang/uasm/files/makefile-dep-fix-2.57.patch | 22 +++++++++++++
 dev-lang/uasm/uasm-2.57.ebuild                  | 43 +++++++++++++++++++++++++
 3 files changed, 66 insertions(+)

diff --git a/dev-lang/uasm/Manifest b/dev-lang/uasm/Manifest
index bb9b666ccfbf..0cc3a0bf02b1 100644
--- a/dev-lang/uasm/Manifest
+++ b/dev-lang/uasm/Manifest
@@ -1 +1,2 @@
 DIST uasm-2.56.2.tar.gz 1243830 BLAKE2B 
dcc0948d92cdd5972a6698e721a6ccc6a54926ef94778438cf9a88a6e41ebc652d5230003f689d4278bd1e48959dd04595c602427287a48c551d7b847be665f0
 SHA512 
1f6c1037909d012f3293985c4e0516f4b61497de23cac6bbb58db735efb512599c0bba5d60d8ce999e6afc57e44484a094bf10f0ee185a51afd826f5541c9337
+DIST uasm-2.57.tar.gz 1240492 BLAKE2B 
65f3eda6519ecbf2b03c258751f131a48ba55fe558988bc24cddfe2f033cac5a0d79375a74813b825345474a8f0f5f7dd90c7d2fb1cb8b85c6ad23c70ec4f96e
 SHA512 
588c158b34e0fc538f08a859822549fbd2e1f8548102bbbdea7099281ffaaf41b6d56f4f07f7333a7d714acbd6271b504dde2b24ad2e9790e93e78e6e516caa0

diff --git a/dev-lang/uasm/files/makefile-dep-fix-2.57.patch 
b/dev-lang/uasm/files/makefile-dep-fix-2.57.patch
new file mode 100644
index 000000000000..03cb9c0b3800
--- /dev/null
+++ b/dev-lang/uasm/files/makefile-dep-fix-2.57.patch
@@ -0,0 +1,22 @@
+Bug: https://bugs.gentoo.org/933867
+
+diff --git a/Makefile-Linux-GCC-64.mak b/Makefile-Linux-GCC-64.mak
+index 9d4431a..e4fb10f 100644
+--- a/Makefile-Linux-GCC-64.mak
++++ b/Makefile-Linux-GCC-64.mak
+@@ -31,13 +31,13 @@ include gccmod.inc
+ 
+ #.c.o:
+ #     $(CC) -c $(inc_dirs) $(c_flags) -o $(OUTD)/$*.o $<
+-$(OUTD)/%.o: %.c
++$(OUTD)/%.o: %.c | $(OUTD)
+       $(CC) -D __UNIX__ -c $(inc_dirs) $(c_flags) $(CFLAGS) $(CPPFLAGS) -o 
$(OUTD)/$*.o $<
+ 
+ all:  $(OUTD) $(OUTD)/$(TARGET1)
+ 
+ $(OUTD):
+-      mkdir $(OUTD)
++      mkdir -p $(OUTD)
+ 
+ $(OUTD)/$(TARGET1) : $(OUTD)/main.o $(proj_obj)
+ ifeq ($(DEBUG),0)

diff --git a/dev-lang/uasm/uasm-2.57.ebuild b/dev-lang/uasm/uasm-2.57.ebuild
new file mode 100644
index 000000000000..bb8e70dfc0ff
--- /dev/null
+++ b/dev-lang/uasm/uasm-2.57.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="UASM is a free MASM-compatible assembler"
+HOMEPAGE="https://www.terraspace.co.uk/uasm.html";
+TAG="${PV}r"  # the tag has a 'r' suffix (2.57r) for some reason
+SRC_URI="https://github.com/Terraspace/UASM/archive/v${TAG}.tar.gz -> 
${P}.tar.gz"
+S="${WORKDIR}/UASM-${TAG}"
+
+LICENSE="Watcom-1.0"
+SLOT="0"
+KEYWORDS="~amd64"
+PATCHES=(
+       "${FILESDIR}/build-fix.patch"
+       "${FILESDIR}/makefile-dep-fix-2.57.patch"
+)
+
+src_prepare() {
+       default
+       # don't strip binary
+       sed -i Makefile-Linux-GCC-64.mak -e 's/ -s / /g' || die
+}
+
+src_compile() {
+       # BUG: https://github.com/Terraspace/UASM/issues/143
+       append-cflags -fcommon
+       # BUG: https://github.com/Terraspace/UASM/issues/197
+       append-cflags -Wno-error=incompatible-pointer-types
+
+       emake -f Makefile-Linux-GCC-64.mak \
+               CC="$(tc-getCC)" \
+               CFLAGS="${CFLAGS}" \
+               LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+       dobin GccUnixR/uasm
+       dodoc *.txt Doc/*.txt
+}

Reply via email to