diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /dev-lang/uasm | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip | |
Adding metadata
Diffstat (limited to 'dev-lang/uasm')
| -rw-r--r-- | dev-lang/uasm/Manifest | 1 | ||||
| -rw-r--r-- | dev-lang/uasm/files/bool-fix.diff | 18 | ||||
| -rw-r--r-- | dev-lang/uasm/files/build-fix.patch | 179 | ||||
| -rw-r--r-- | dev-lang/uasm/files/makefile-dep-fix-2.57.patch | 22 | ||||
| -rw-r--r-- | dev-lang/uasm/metadata.xml | 16 | ||||
| -rw-r--r-- | dev-lang/uasm/uasm-2.57.ebuild | 46 |
6 files changed, 282 insertions, 0 deletions
diff --git a/dev-lang/uasm/Manifest b/dev-lang/uasm/Manifest new file mode 100644 index 000000000000..a59a97533344 --- /dev/null +++ b/dev-lang/uasm/Manifest @@ -0,0 +1 @@ +DIST uasm-2.57.tar.gz 1240492 BLAKE2B 65f3eda6519ecbf2b03c258751f131a48ba55fe558988bc24cddfe2f033cac5a0d79375a74813b825345474a8f0f5f7dd90c7d2fb1cb8b85c6ad23c70ec4f96e SHA512 588c158b34e0fc538f08a859822549fbd2e1f8548102bbbdea7099281ffaaf41b6d56f4f07f7333a7d714acbd6271b504dde2b24ad2e9790e93e78e6e516caa0 diff --git a/dev-lang/uasm/files/bool-fix.diff b/dev-lang/uasm/files/bool-fix.diff new file mode 100644 index 000000000000..6071a0d42ba9 --- /dev/null +++ b/dev-lang/uasm/files/bool-fix.diff @@ -0,0 +1,18 @@ +https://bugs.gentoo.org/944192 + +diff --git a/H/bool.h b/H/bool.h +index fbf55c8..ddb7396 100644 +--- a/H/bool.h ++++ b/H/bool.h +@@ -30,10 +30,7 @@ + ****************************************************************************/ + + +-#if !defined( BOOL_DEFINED ) && !defined( bool ) && !(__WATCOMC__ >= 1070 && defined(__cplusplus)) +- #define BOOL_DEFINED +- typedef unsigned char bool; +-#endif ++#include <stdbool.h> + #ifndef TRUE + #define TRUE 1 + #endif 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/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/metadata.xml b/dev-lang/uasm/metadata.xml new file mode 100644 index 000000000000..b8bc36613afc --- /dev/null +++ b/dev-lang/uasm/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/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> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/dev-lang/uasm/uasm-2.57.ebuild b/dev-lang/uasm/uasm-2.57.ebuild new file mode 100644 index 000000000000..e69ad77dc713 --- /dev/null +++ b/dev-lang/uasm/uasm-2.57.ebuild @@ -0,0 +1,46 @@ +# 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" + "${FILESDIR}/bool-fix.diff" +) + +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 + # BUG: 951108 + append-cflags -std=gnu17 + + emake -f Makefile-Linux-GCC-64.mak \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" +} + +src_install() { + dobin GccUnixR/uasm + dodoc *.txt Doc/*.txt +} |
