From 9323524b4d44f4ec3dc923bd8e9ea04bdde8a067 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 6 Apr 2024 00:30:33 +0100 Subject: gentoo auto-resync : 06:04:2024 - 00:30:33 --- dev-lang/uasm/Manifest | 4 + dev-lang/uasm/files/build-fix.patch | 179 ++++++++++++++++++++++++++++++++++++ dev-lang/uasm/metadata.xml | 18 ++++ dev-lang/uasm/uasm-2.56.2.ebuild | 41 +++++++++ 4 files changed, 242 insertions(+) create mode 100644 dev-lang/uasm/Manifest create mode 100644 dev-lang/uasm/files/build-fix.patch create mode 100644 dev-lang/uasm/metadata.xml create mode 100644 dev-lang/uasm/uasm-2.56.2.ebuild (limited to 'dev-lang/uasm') diff --git a/dev-lang/uasm/Manifest b/dev-lang/uasm/Manifest new file mode 100644 index 000000000000..c046f36b5e72 --- /dev/null +++ b/dev-lang/uasm/Manifest @@ -0,0 +1,4 @@ +AUX build-fix.patch 4867 BLAKE2B 5f2058888b7014bae9fa014307aabcf07d6e802e215c996cc21e6575ae6b557b2a42f381b41b9f64abdaeab29caee9a3dc61b378b183f095b668da9e43010d39 SHA512 e5e22c4f0582a34f2528227cc757507b9348f641da73798f4d6488714edd83686242d4469b35ab706894a11c7765b392a518150106007b32bb4cffdb05cd1b22 +DIST uasm-2.56.2.tar.gz 1243830 BLAKE2B dcc0948d92cdd5972a6698e721a6ccc6a54926ef94778438cf9a88a6e41ebc652d5230003f689d4278bd1e48959dd04595c602427287a48c551d7b847be665f0 SHA512 1f6c1037909d012f3293985c4e0516f4b61497de23cac6bbb58db735efb512599c0bba5d60d8ce999e6afc57e44484a094bf10f0ee185a51afd826f5541c9337 +EBUILD uasm-2.56.2.ebuild 904 BLAKE2B 5f3a7539018071942fffb46077ec83dbb9b8b8f317f1d9c8067f7b89419c1ac480f7522f2028104a4e6dce145f4f446f4d510a3208eed1eed6da640fcb5945f3 SHA512 574eb6f27be9ea4c856f135bd9cd1284d90c9ccbb2d673b4478f74e7fe42237f905a6644f843d90fbebeadb2e9096e52e96d94288003fd5007c825b4e5c409c3 +MISC metadata.xml 521 BLAKE2B c50616e7b6f6df5a3af6d3d0c72dd2d4dc4bbaa87eb525a0ec9af8b46ef913e710c97d3db01cacc42549175e6e8d20bbd557c24b789bf820f210b5c22e087d2f SHA512 213adb4bef7d55ec9369e7c09f83413d8b076d68524abb5cf52338a15ad99da534b97797128d5a5ac6d2460a03cf3c2f070baf27cfdb4cf70358f458141a8fd0 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 +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 + #include + #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 +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 +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 +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 @@ + + + + + nrk@disroot.org + + + arthurzam@gentoo.org + Arthur Zamarin + + + sam@gentoo.org + Sam James + + + Terraspace/UASM + + 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..8210588c135e --- /dev/null +++ b/dev-lang/uasm/uasm-2.56.2.ebuild @@ -0,0 +1,41 @@ +# 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" +S="${WORKDIR}/UASM-${PV}" + +LICENSE="Watcom-1.0" +SLOT="0" +KEYWORDS="~amd64" +PATCHES=( + "${FILESDIR}/build-fix.patch" +) + +src_prepare() { + default + # don't strip binary + sed -i gccLinux64.mak -e 's/ -s / /g' || die +} + +src_compile() { + # Bug: https://github.com/Terraspace/UASM/issues/143 + append-cflags -fcommon + # https://github.com/Terraspace/UASM/issues/197 + append-cflags -Wno-error=incompatible-pointer-types + + emake -f gccLinux64.mak \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" +} + +src_install() { + dobin GccUnixR/uasm + dodoc *.txt Doc/*.txt +} -- cgit v1.2.3