public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/uasm/, dev-lang/uasm/files/
@ 2024-04-05 14:26 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2024-04-05 14:26 UTC (permalink / raw
  To: gentoo-commits

commit:     8f41575bbccd2c54a97ce911322aab0237ab27cd
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr  5 14:03:54 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Apr  5 14:25:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f41575b

dev-lang/uasm: new package, add 2.56.2

Imported from ::guru as of commit ea612f548c48f74fce1abc60d5ad205c521c7492.

Adding arthur and myself as well as NRK as discussed in #gentoo-guru. Dep of
to-be-shortly-added app-arch/7zip for AES HW acceleration.

Bug: https://bugs.gentoo.org/664664
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/uasm/Manifest              |   1 +
 dev-lang/uasm/files/build-fix.patch | 179 ++++++++++++++++++++++++++++++++++++
 dev-lang/uasm/metadata.xml          |  18 ++++
 dev-lang/uasm/uasm-2.56.2.ebuild    |  36 ++++++++
 4 files changed, 234 insertions(+)

diff --git a/dev-lang/uasm/Manifest b/dev-lang/uasm/Manifest
new file mode 100644
index 000000000000..bb9b666ccfbf
--- /dev/null
+++ b/dev-lang/uasm/Manifest
@@ -0,0 +1 @@
+DIST uasm-2.56.2.tar.gz 1243830 BLAKE2B dcc0948d92cdd5972a6698e721a6ccc6a54926ef94778438cf9a88a6e41ebc652d5230003f689d4278bd1e48959dd04595c602427287a48c551d7b847be665f0 SHA512 1f6c1037909d012f3293985c4e0516f4b61497de23cac6bbb58db735efb512599c0bba5d60d8ce999e6afc57e44484a094bf10f0ee185a51afd826f5541c9337

diff --git a/dev-lang/uasm/files/build-fix.patch b/dev-lang/uasm/files/build-fix.patch
new file mode 100644
index 000000000000..6870528ef87f
--- /dev/null
+++ b/dev-lang/uasm/files/build-fix.patch
@@ -0,0 +1,179 @@
+Fixes various build issues with newer clang
+https://bugs.gentoo.org/927802
+
+From b6457542bd56507cb2b659d50772f87cc66d6ea3 Mon Sep 17 00:00:00 2001
+From: NRK <nrk@disroot.org>
+Date: Mon, 1 Apr 2024 15:29:47 +0000
+Subject: [PATCH 1/4] Add missing includes
+
+---
+ assemble.c  | 2 +-
+ codegenv2.c | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/assemble.c b/assemble.c
+index 2ce0e14..a9f2899 100644
+--- a/assemble.c
++++ b/assemble.c
+@@ -43,7 +43,7 @@
+ #include "lqueue.h"
+ #include "orgfixup.h"
+ #include "macrolib.h"
+-//#include "simd.h"
++#include "simd.h"
+ 
+ #if DLLIMPORT
+ #include "mangle.h"
+diff --git a/codegenv2.c b/codegenv2.c
+index 6bcc08d..7063c27 100644
+--- a/codegenv2.c
++++ b/codegenv2.c
+@@ -1,6 +1,7 @@
+ 
+ #include "codegenv2.h"
+ 
++#include <ctype.h>
+ #include <time.h>
+ #include "globals.h"
+ #include "parser.h"
+@@ -12,6 +13,7 @@
+ #include "types.h"
+ #include "macro.h"
+ #include "listing.h"
++#include "input.h"
+ 
+ #define OutputCodeByte( x ) OutputByte( x )
+ 
+-- 
+2.42.0
+
+
+From bc4ffb4ac77f97b42f7d83cae0f0ea7a59c5b6be Mon Sep 17 00:00:00 2001
+From: NRK <nrk@disroot.org>
+Date: Mon, 1 Apr 2024 15:36:14 +0000
+Subject: [PATCH 2/4] Add missing prototypes
+
+ref: https://github.com/Terraspace/UASM/pull/186
+---
+ H/globals.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/H/globals.h b/H/globals.h
+index e202c50..7320cb9 100644
+--- a/H/globals.h
++++ b/H/globals.h
+@@ -49,6 +49,7 @@
+ #endif
+ #define _ltoa   ltoa
+ #define _strupr strupr
++extern char *strupr(char *);
+ 
+ #elif defined(__POCC__)
+ 
+@@ -946,4 +947,11 @@ extern char             *num2hex64(uint_64 value, char *buffer);
+ extern char             *ConvertSectionName( const struct asym *, enum seg_type *pst, char *buffer );
+ extern void             RewindToWin64(void);
+ 
++extern void CreateMacroLibCases64(void);
++extern void CreateMacroLibCases32(void);
++extern void OutputInterleavedBytes(const unsigned char *pbytes, int len, struct fixup *fixup);
++extern void SymSimd(struct dsym *sym);
++extern void RunLineQueue( void );
++extern ret_code BackPatch( struct asym *sym );
++
+ #endif
+-- 
+2.42.0
+
+
+From d4d625d009dfc7ab91136516aafb4fc706d0c1ab Mon Sep 17 00:00:00 2001
+From: NRK <nrk@disroot.org>
+Date: Mon, 1 Apr 2024 15:40:30 +0000
+Subject: [PATCH 3/4] Fix incompatible assignment of `void *` to `uint32_t`
+
+---
+ macho64.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/macho64.c b/macho64.c
+index 8e74842..8b81d5e 100644
+--- a/macho64.c
++++ b/macho64.c
+@@ -725,7 +725,7 @@ static ret_code macho_write_module( struct module_info *modinfo )
+ 		mm.header.cputype = CPU_TYPE_X86_64;
+ 		mm.header.cpusubtype = CPU_SUBTYPE_LITTLE_ENDIAN | CPU_SUBTYPE_X86_64_ALL;
+ 		mm.header.filetype = MH_OBJECT;
+-		mm.header.flags = NULL;
++		mm.header.flags = 0;
+ 		
+ 		macho_build_structures(modinfo, mm);	
+ 	}
+-- 
+2.42.0
+
+
+From 0108e8754737c9ceac0314c8f70da8c9f4bd2095 Mon Sep 17 00:00:00 2001
+From: NRK <nrk@disroot.org>
+Date: Mon, 1 Apr 2024 15:54:02 +0000
+Subject: [PATCH 4/4] Fix incompatible function pointer
+
+---
+ proc.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/proc.c b/proc.c
+index fdd8b49..80e8674 100644
+--- a/proc.c
++++ b/proc.c
+@@ -162,10 +162,12 @@ struct delphicall_conv {
+ 
+ 
+ static  int ms32_pcheck(struct dsym *, struct dsym *, int *);
++static  int ms32_syspcheck(struct dsym *, struct dsym *, int *, int *);
+ static void ms32_return(struct dsym *, char *);
+ 
+ #if OWFC_SUPPORT
+ static  int watc_pcheck(struct dsym *, struct dsym *, int *);
++static  int watc_syspcheck(struct dsym *, struct dsym *, int *, int *);
+ static void watc_return(struct dsym *, char *);
+ #endif
+ 
+@@ -212,9 +214,9 @@ static const struct vectorcall_conv vectorcall_tab[] = {
+ };
+ 
+ static const struct sysvcall_conv sysvcall_tab[] = {
+-	{ ms32_pcheck, ms32_return },  /* FCT_MSC */
++	{ ms32_syspcheck, ms32_return },  /* FCT_MSC */
+ #if OWFC_SUPPORT		
+-	{ watc_pcheck, watc_return },  /* FCT_WATCOMC */
++	{ watc_syspcheck, watc_return },  /* FCT_WATCOMC */
+ #endif		
+ #if SYSV_SUPPORT		
+ 	{ sysv_pcheck, sysv_return }   /* FCT_WIN64 / SYSTEMV */
+@@ -380,6 +382,11 @@ static int watc_pcheck(struct dsym *proc, struct dsym *paranode, int *used)
+ 	return(1);
+ }
+ 
++static int watc_syspcheck(struct dsym *proc, struct dsym *paranode, int *used, int *vecused)
++{
++	return watc_pcheck(proc, paranode, used);
++}
++
+ static void watc_return(struct dsym *proc, char *buffer)
+ /********************************************************/
+ {
+@@ -433,6 +440,11 @@ static int ms32_pcheck(struct dsym *proc, struct dsym *paranode, int *used)
+ 	return(1);
+ }
+ 
++static int ms32_syspcheck(struct dsym *proc, struct dsym *paranode, int *used, int *vecused)
++{
++	return ms32_pcheck(proc, paranode, used);
++}
++
+ static void ms32_return(struct dsym *proc, char *buffer)
+ /********************************************************/
+ {
+-- 
+2.42.0
+

diff --git a/dev-lang/uasm/metadata.xml b/dev-lang/uasm/metadata.xml
new file mode 100644
index 000000000000..33becdeb8c4e
--- /dev/null
+++ b/dev-lang/uasm/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person" proxied="yes">
+		<email>nrk@disroot.org</email>
+	</maintainer>
+	<maintainer type="person">
+		<email>arthurzam@gentoo.org</email>
+		<name>Arthur Zamarin</name>
+	</maintainer>
+	<maintainer type="person">
+		<email>sam@gentoo.org</email>
+		<name>Sam James</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="github">Terraspace/UASM</remote-id>
+	</upstream>
+</pkgmetadata>

diff --git a/dev-lang/uasm/uasm-2.56.2.ebuild b/dev-lang/uasm/uasm-2.56.2.ebuild
new file mode 100644
index 000000000000..1a4c8c42f2cd
--- /dev/null
+++ b/dev-lang/uasm/uasm-2.56.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2024 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"
+SRC_URI="https://github.com/Terraspace/UASM/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Watcom-1.0"
+
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}/UASM-${PV}"
+PATCHES=(
+	"${FILESDIR}/build-fix.patch"
+)
+
+src_prepare() {
+	default
+	# don't strip binary
+	sed -i gccLinux64.mak -e 's/ -s / /g' || die
+}
+
+src_compile() {
+	append-cflags -fcommon  # Bug: https://github.com/Terraspace/UASM/issues/143
+	emake -f gccLinux64.mak CC="$(tc-getCC)" \
+		CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+	dobin GccUnixR/uasm
+	dodoc *.txt Doc/*.txt
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/uasm/, dev-lang/uasm/files/
@ 2025-03-01  9:39 Arthur Zamarin
  0 siblings, 0 replies; 2+ messages in thread
From: Arthur Zamarin @ 2025-03-01  9:39 UTC (permalink / raw
  To: gentoo-commits

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
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-03-01  9:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-01  9:39 [gentoo-commits] repo/gentoo:master commit in: dev-lang/uasm/, dev-lang/uasm/files/ Arthur Zamarin
  -- strict thread matches above, loose matches on Subject: below --
2024-04-05 14:26 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox