summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/uasm/Manifest1
-rw-r--r--dev-lang/uasm/files/151.patch23
-rw-r--r--dev-lang/uasm/files/dbgcv.patch59
-rw-r--r--dev-lang/uasm/uasm-2.52_p20210104.ebuild35
4 files changed, 118 insertions, 0 deletions
diff --git a/dev-lang/uasm/Manifest b/dev-lang/uasm/Manifest
new file mode 100644
index 0000000..a97e5fb
--- /dev/null
+++ b/dev-lang/uasm/Manifest
@@ -0,0 +1 @@
+DIST uasm-c612f83d97.tar.gz 2086138 BLAKE2B a96cf8b53917cadc8f88e7f66d1c1c7c14831b1626e21c9f2cf50dcd6a0fb1f957fa7f11550ed787ae8bc195dac125a2ebb1ef523a14d16eaa252690eaa9d79b SHA512 3f740fd33408f80e13310741524181bdfb9e963c4785115cd1387f4a6a0e732f02adab9a4cbe666209bf49c39d74873d970ddeaeb51679fe464eab31fe1f2a32
diff --git a/dev-lang/uasm/files/151.patch b/dev-lang/uasm/files/151.patch
new file mode 100644
index 0000000..1b0befb
--- /dev/null
+++ b/dev-lang/uasm/files/151.patch
@@ -0,0 +1,23 @@
+From c090c3472677bd57bbfc27e74ebf05fdc5116320 Mon Sep 17 00:00:00 2001
+From: Dan <justdan96@gmail.com>
+Date: Thu, 10 Jun 2021 11:04:19 +0100
+Subject: [PATCH] fix types.h guard
+
+Typo in the types.h define guard
+---
+ H/types.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/H/types.h b/H/types.h
+index 7db8cc10..f7b076b8 100644
+--- a/H/types.h
++++ b/H/types.h
+@@ -1,7 +1,7 @@
+
+ /* prototypes of TYPES.C */
+
+-#ifndef _TYPES_H_INCLUDED
++#ifndef _TYPES_H_INCLUDED_
+ #define _TYPES_H_INCLUDED_
+
+ /* qualified_type us used for parsing a qualified type. */
diff --git a/dev-lang/uasm/files/dbgcv.patch b/dev-lang/uasm/files/dbgcv.patch
new file mode 100644
index 0000000..c523cd6
--- /dev/null
+++ b/dev-lang/uasm/files/dbgcv.patch
@@ -0,0 +1,59 @@
+diff '--color=auto' -Naur UASM-c612f83d97a0cb192dfd983676743dabf662ed51~/dbgcv.c UASM-c612f83d97a0cb192dfd983676743dabf662ed51/dbgcv.c
+--- UASM-c612f83d97a0cb192dfd983676743dabf662ed51~/dbgcv.c 2021-04-02 17:57:14.000000000 +0200
++++ UASM-c612f83d97a0cb192dfd983676743dabf662ed51/dbgcv.c 2021-07-20 14:31:39.634571179 +0200
+@@ -17,7 +17,24 @@
+ #include <fixup.h>
+ #include <dbgcv.h>
+ #include <linnum.h>
++#ifdef _WIN32
+ #include <direct.h>
++#endif
++#ifdef __UNIX__
++#include <stdio.h>
++#include <unistd.h>
++#include <limits.h>
++#endif
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
++#define _MAX_PATH PATH_MAX
++#ifndef _getcwd
++#define _getcwd getcwd
++#endif
++#ifndef _pgmptr
++#define _pgmptr "uasm"
++#endif
+ #include <picohash.h>
+
+ #define SIZE_CV_SEGBUF ( MAX_LINE_LEN * 4 )
+@@ -1252,7 +1269,9 @@
+ #define USEMD5
+
+ #ifdef USEMD5
++#ifndef BUFSIZ
+ #define BUFSIZ 1024*4
++#endif
+ #define MD5_LENGTH ( sizeof( uint_32 ) + sizeof( uint_16 ) + 16 + sizeof( uint_16 ) )
+
+ static int calc_md5(const char* filename, unsigned char* sum)
+@@ -1575,12 +1594,20 @@
+ len = strlen(p) + 1;
+ s = strcpy(s, p) + len;
+ *s++ = '\0';
++ #ifdef _WIN32
+ EnvBlock->reclen = (unsigned short)(s - cv.ps - 2);
++ #else
++ EnvBlock->reclen = (unsigned short)(s - (char*)cv.ps - 2);
++ #endif
+ cv.ps = s;
+
+ /* length needs to be added for each symbol */
+
++ #ifdef _WIN32
+ cv.section->length += (s - start);
++ #else
++ cv.section->length += (s - (char*)start);
++ #endif
+
+ }
+ else {
diff --git a/dev-lang/uasm/uasm-2.52_p20210104.ebuild b/dev-lang/uasm/uasm-2.52_p20210104.ebuild
new file mode 100644
index 0000000..a71c663
--- /dev/null
+++ b/dev-lang/uasm/uasm-2.52_p20210104.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+COMMIT=c612f83d97a0cb192dfd983676743dabf662ed51
+
+DESCRIPTION="free MASM-compatible assembler based on JWasm"
+HOMEPAGE="http://www.terraspace.co.uk/uasm.html"
+SRC_URI="https://github.com/Terraspace/UASM/archive/${COMMIT}.tar.gz -> uasm-${COMMIT:0:10}.tar.gz"
+
+LICENSE="Watcom-1.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug"
+
+S=${WORKDIR}/UASM-${COMMIT}
+
+PATCHES=(
+ "${FILESDIR}/dbgcv.patch"
+ "${FILESDIR}/151.patch"
+)
+
+src_compile() {
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} \
+ -D__UNIX__ -IH $(usex debug -DDEBUG_OUT -DNDEBUG) -fcommon \
+ main.c $(sed -n -e '/\.o/{s#\$(OUTD)/##;s#\.o.*$#.c#;p}' gccmod.inc) \
+ -o uasm || die
+}
+
+src_install() {
+ dobin uasm
+}