[gentoo-commits] repo/gentoo:master commit in: app-emulation/dosemu/files/, app-emulation/dosemu/

2024-11-12 Thread Sam James
commit: d282fda7e459da30a48f0b2f57888fb4b98271e0
Author: Sam James  gentoo  org>
AuthorDate: Tue Nov 12 19:53:12 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Nov 12 19:54:01 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d282fda7

app-emulation/dosemu: fix crash w/ >=gcc-10, require bison

Closes: https://bugs.gentoo.org/886119
Closes: https://bugs.gentoo.org/890302
Thanks-to: Matthew Ogilvie  zoho.com>
Signed-off-by: Sam James  gentoo.org>

 ...5.ebuild => dosemu-1.4.1_pre20130107-r6.ebuild} |  4 ++
 .../dosemu-1.4.1_pre20130107-gcc10-const.patch | 64 ++
 2 files changed, 68 insertions(+)

diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild 
b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r6.ebuild
similarity index 97%
rename from app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
rename to app-emulation/dosemu/dosemu-1.4.1_pre20130107-r6.ebuild
index bb6904b66047..96d4eda00252 100644
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
+++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r6.ebuild
@@ -21,6 +21,7 @@ KEYWORDS="-* amd64 x86"
 IUSE="X alsa debug fluidsynth gpm svga"
 
 BDEPEND="app-arch/unzip
+   sys-devel/bison
X? (
x11-apps/bdftopcf
>=x11-apps/mkfontscale-1.2.0
@@ -58,6 +59,7 @@ PATCHES=(
"${FILESDIR}"/${P}-as.patch
"${FILESDIR}"/${P}-nm.patch

"${FILESDIR}"/${P}-pcm_write_interleaved-incompatiible-pointer-type.patch
+   "${FILESDIR}"/${P}-gcc10-const.patch
 )
 
 pkg_pretend() {
@@ -80,6 +82,8 @@ src_prepare() {
 }
 
 src_configure() {
+   unset YACC
+
# workaround binutils ld.gold bug #618366
local nopie_flag=
if tc-enables-pie; then

diff --git 
a/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-gcc10-const.patch 
b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-gcc10-const.patch
new file mode 100644
index ..01cf146c603c
--- /dev/null
+++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-gcc10-const.patch
@@ -0,0 +1,64 @@
+https://bugs.gentoo.org/890302
+https://bugzilla.redhat.com/1866474
+https://sourceforge.net/p/dosemu/patches/129/
+
+commit b3320c3a67c0bb050b40e76831ec95a4d156890a
+Author: Matthew Ogilvie 
+Date:   Thu Jun 15 21:55:30 2023 -0600
+
+mem_base: avoid undefined behavior writing to const global with casts
+
+Fix crash under gcc 10 or later.
+
+--- a/src/arch/linux/mapping/mapping.c
 b/src/arch/linux/mapping/mapping.c
+@@ -47,8 +47,8 @@ static int kmem_mappings = 0;
+ static struct mem_map_struct kmem_map[MAX_KMEM_MAPPINGS];
+ 
+ static int init_done = 0;
+-unsigned char * const mem_base;
+-char * const lowmem_base;
++unsigned char * mem_base;
++char * lowmem_base;
+ 
+ static struct mappingdrivers *mappingdrv[] = {
+ #ifdef HAVE_SHM_OPEN
+@@ -205,7 +205,7 @@ void *alias_mapping(int cap, unsigned targ, size_t 
mapsize, int protect, void *s
+   addr = mappingdriver.alias(cap, target, mapsize, protect, source);
+   update_aliasmap(target, mapsize, (cap & MAPPING_VGAEMU) ? target : source);
+   if (cap & MAPPING_INIT_LOWRAM) {
+-*(unsigned char **)&mem_base = addr;
++mem_base = addr;
+   }
+   return addr;
+ }
+@@ -416,7 +416,7 @@ void *alloc_mapping(int cap, size_t mapsize, off_t target)
+ 
+   if (cap & MAPPING_INIT_LOWRAM) {
+ Q__printf("MAPPING: LOWRAM_INIT, cap=%s, base=%p\n", cap, addr);
+-*(char **)(&lowmem_base) = addr;
++lowmem_base = addr;
+   }
+   return addr;
+ }
+--- a/src/include/memory.h
 b/src/include/memory.h
+@@ -209,7 +209,7 @@ void *lowmemp(const void *ptr);
+restrictions it can be non-zero. Non-zero values block vm86 but at least
+give NULL pointer protection.
+ */
+-extern unsigned char * const mem_base;
++extern unsigned char * mem_base;
+ 
+ /* lowmem_base points to a shared memory image of the area 0--1MB+64K.
+It does not have any holes or mapping for video RAM etc.
+@@ -221,7 +221,7 @@ extern unsigned char * const mem_base;
+It is set "const" to help GCC optimize accesses. In reality it is set only
+once, at startup
+ */
+-extern char * const lowmem_base;
++extern char * lowmem_base;
+ 
+ #define UNIX_READ_BYTE(addr)  (*(Bit8u *) (addr))
+ #define UNIX_WRITE_BYTE(addr, val)(*(Bit8u *) (addr) = (val) )
+



[gentoo-commits] repo/gentoo:master commit in: app-emulation/dosemu/files/, app-emulation/dosemu/

2024-06-05 Thread Mark Wright
commit: 80650c5da099a7519597392dcc8b06fdd5eab413
Author: Mark Wright  gentoo  org>
AuthorDate: Thu Jun  6 04:06:57 2024 +
Commit: Mark Wright  gentoo  org>
CommitDate: Thu Jun  6 04:10:10 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80650c5d

app-emulation/dosemu: Patch (by me) c99 error

Thanks to toralf for reporting. Fix compiler error:
mid_o_tmdty.c:80:35: error: passing argument 1 of pcm_write_interleaved
from incompatible pointer type [-Wincompatible-pointer-types]

Closes: https://bugs.gentoo.org/919387
Signed-off-by: Mark Wright  gentoo.org>

 app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild   |  1 +
 ...107-pcm_write_interleaved-incompatiible-pointer-type.patch | 11 +++
 2 files changed, 12 insertions(+)

diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild 
b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
index 33bcb2602637..bb6904b66047 100644
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
+++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
@@ -57,6 +57,7 @@ PATCHES=(
"${FILESDIR}"/${P}-lto.patch
"${FILESDIR}"/${P}-as.patch
"${FILESDIR}"/${P}-nm.patch
+   
"${FILESDIR}"/${P}-pcm_write_interleaved-incompatiible-pointer-type.patch
 )
 
 pkg_pretend() {

diff --git 
a/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-pcm_write_interleaved-incompatiible-pointer-type.patch
 
b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-pcm_write_interleaved-incompatiible-pointer-type.patch
new file mode 100644
index ..15e2ac0fcf4d
--- /dev/null
+++ 
b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-pcm_write_interleaved-incompatiible-pointer-type.patch
@@ -0,0 +1,11 @@
+--- 
dosemu-code-15cfb41ff20a052769d753c3262c57ecb050ad71-orig/src/plugin/midimisc/mid_o_tmdty.c
2013-01-07 10:44:22.0 +1100
 
dosemu-code-15cfb41ff20a052769d753c3262c57ecb050ad71/src/plugin/midimisc/mid_o_tmdty.c
 2024-06-06 12:57:40.055442661 +1000
+@@ -77,7 +77,7 @@
+   if (n > 0) {
+   int frames = n / (pcm_format_size(fmt) * TMDTY_CHANS);
+   pcm_running = 1;
+-  pcm_write_interleaved(buf, frames, TMDTY_FREQ, fmt,
++  pcm_write_interleaved((sndbuf_t(*)[SNDBUF_CHANS])buf, frames, 
TMDTY_FREQ, fmt,
+ TMDTY_CHANS, pcm_stream);
+   } else {
+   break;



[gentoo-commits] repo/gentoo:master commit in: app-emulation/dosemu/files/, app-emulation/dosemu/

2019-11-15 Thread Sergei Trofimovich
commit: 328509762ae5fa834d72e58858252200ed52f6a8
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Fri Nov 15 12:30:08 2019 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Fri Nov 15 12:31:00 2019 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32850976

app-emulation/dosemu: fix LTO build, bug #700126

Reported-by: Robert Gill
Closes: https://bugs.gentoo.org/700126
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Sergei Trofimovich  gentoo.org>

 .../dosemu/dosemu-1.4.1_pre20130107-r5.ebuild  |  1 +
 .../files/dosemu-1.4.1_pre20130107-lto.patch   | 27 ++
 2 files changed, 28 insertions(+)

diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild 
b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
index d6de58d0a4b..f2516914456 100644
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
+++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
@@ -54,6 +54,7 @@ PATCHES=(
"${FILESDIR}"/${P}-flex-2.6.3.patch
"${FILESDIR}"/${P}-ia16-ldflags.patch
"${FILESDIR}"/${P}-fix-inline.patch
+   "${FILESDIR}"/${P}-lto.patch
 )
 
 src_prepare() {

diff --git a/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-lto.patch 
b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-lto.patch
new file mode 100644
index 000..730ad4e5d5f
--- /dev/null
+++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-lto.patch
@@ -0,0 +1,27 @@
+'asmlinkage' macros are supposed to make symbol available
+for calling from inline (or not) assembly.
+
+'static' keyword is not compatible to it and breaks -flto
+when gcc's LTO partitioner separates assembly definitions
+from C definitions. This causes symbol resolution failures:
+
+  ld: /tmp/dosemu.bin.h8Y59G.ltrans0.ltrans.o: in function `stub_rep__':
+  :(.text+0xe): undefined reference to `rep_movs_stos'
+
+The changes turns 'asmlinkage' into exported symbol.
+
+https://bugs.gentoo.org/700126
+--- a/src/emu-i386/simx86/cpatch.c
 b/src/emu-i386/simx86/cpatch.c
+@@ -37,9 +37,9 @@
+ #include "codegen-arch.h"
+ 
+ #ifdef __i386__
+-#define asmlinkage static __attribute__((used)) __attribute__((cdecl))
++#define asmlinkage __attribute__((used)) __attribute__((cdecl))
+ #else
+-#define asmlinkage static __attribute__((used))
++#define asmlinkage __attribute__((used))
+ #endif
+ 
+ int s_munprotect(unsigned int addr)



[gentoo-commits] repo/gentoo:master commit in: app-emulation/dosemu/files/, app-emulation/dosemu/

2017-01-04 Thread Sergei Trofimovich
commit: bff8d740d09de0bbb40af7bf3aeff479cfea55d3
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Wed Jan  4 11:28:38 2017 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Wed Jan  4 11:28:52 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bff8d740

app-emulation/dosemu: fix build failure against flex-2.6.3, bug #604610

Reported-by: Toralf Förster
Bug: https://bugs.gentoo.org/604610

Package-Manager: Portage-2.3.3_p17, Repoman-2.3.1_p10

 app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild   |  3 ++-
 .../files/dosemu-1.4.1_pre20130107-flex-2.6.3.patch   | 15 +++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild 
b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild
index 8a0011c..8bb8861 100644
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild
+++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -47,6 +47,7 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-fortify.patch
epatch "${FILESDIR}"/${PN}-1.4.1_pre20091009-dash.patch
epatch "${FILESDIR}"/${P}-no-glibc.patch
+   epatch "${FILESDIR}"/${P}-flex-2.6.3.patch
 
epatch_user
 

diff --git 
a/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-flex-2.6.3.patch 
b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-flex-2.6.3.patch
new file mode 100644
index ..de5b00b
--- /dev/null
+++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-flex-2.6.3.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/604610
+
+New flex seems to define yywrap even for non-yywrap lexers.
+diff --git a/src/base/init/lexer.l.in b/src/base/init/lexer.l.in
+index aeaa2e2..9e42ddf 100644
+--- a/src/base/init/lexer.l.in
 b/src/base/init/lexer.l.in
+@@ -810,7 +810,2 @@ static void enter_includefile(char * fname)
+ 
+-
+-#ifdef yywrap
+-  error "yywrap defined elsewere, need our own one"
+-#endif
+-
+ int yywrap(void)/* this gets called at EOF of a parsed file */



[gentoo-commits] repo/gentoo:master commit in: app-emulation/dosemu/files/, app-emulation/dosemu/

2016-11-05 Thread Sergei Trofimovich
commit: acdbbba5090fa388f6d4914e10b65ba600c620b8
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Sat Nov  5 22:24:06 2016 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Sat Nov  5 22:24:22 2016 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acdbbba5

app-emulation/dosemu: drop incomplete check for glibc

Package-Manager: portage-2.3.2

 .../dosemu/dosemu-1.4.1_pre20130107-r3.ebuild  |  7 ++-
 .../files/dosemu-1.4.1_pre20130107-no-glibc.patch  | 18 ++
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild 
b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild
index d6693d2..8a0011c 100644
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild
+++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild
@@ -4,7 +4,7 @@
 
 EAPI=5
 
-inherit eutils flag-o-matic pax-utils toolchain-funcs
+inherit autotools eutils flag-o-matic pax-utils toolchain-funcs
 
 P_FD="dosemu-freedos-1.0-bin"
 COMMIT="15cfb41ff20a052769d753c3262c57ecb050ad71"
@@ -46,6 +46,9 @@ S="${WORKDIR}/${PN}-code-${COMMIT}"
 src_prepare() {
epatch "${FILESDIR}"/${P}-fortify.patch
epatch "${FILESDIR}"/${PN}-1.4.1_pre20091009-dash.patch
+   epatch "${FILESDIR}"/${P}-no-glibc.patch
+
+   epatch_user
 
# Has problems with -O3 on some systems
replace-flags -O[3-9] -O2
@@ -53,6 +56,8 @@ src_prepare() {
# This one is from media-sound/fluid-soundfont (bug #479534)
sed 
"s,/usr/share/soundfonts/default.sf2,${EPREFIX}/usr/share/sounds/sf2/FluidR3_GM.sf2,"\
-i src/plugin/fluidsynth/mid_o_flus.c || die
+
+   eautoreconf
 }
 
 src_configure() {

diff --git a/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-no-glibc.patch 
b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-no-glibc.patch
new file mode 100644
index ..7c5b8a5
--- /dev/null
+++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20130107-no-glibc.patch
@@ -0,0 +1,18 @@
+The check has no AC_MGS_RESULT finish helper
+and gets called as
+set ``
+on gcc-6 which clutters ./configure output.
+
+One of fallouts of https://bugs.gentoo.org/598798
+diff --git a/configure.ac b/configure.ac
+index 34a7f71..0f06f57 100644
+--- a/configure.ac
 b/configure.ac
+@@ -574,7 +574,2 @@ if test "$GCC" = "yes" ; then
+ 
+-  AC_MSG_CHECKING(for glibc...)
+-  set `printf '%b\n' '#include \nXXAaZZ __GLIBC__'|${CC-cc} -E 
-|awk '/XXAaZZ/ {print $2}'`
+-  if test "$1" = "__GLIBC__"; then
+-AC_MSG_ERROR([Sorry, you need glibc.])
+-  fi
+ fi



[gentoo-commits] repo/gentoo:master commit in: app-emulation/dosemu/files/, app-emulation/dosemu/

2016-10-29 Thread Sergei Trofimovich
commit: 1782ca0aa847a7f2c537326c57839f198b138d0a
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Sat Oct 29 10:20:26 2016 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Sat Oct 29 10:34:39 2016 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1782ca0a

app-emulation/dosemu: backported glibc detection, bug #597880

Reported-by: gentoo  moin.fi
Bug: https://bugs.gentoo.org/597880

Package-Manager: portage-2.3.2

 .../dosemu/dosemu-1.4.1_pre20091009.ebuild |  5 +++-
 .../files/dosemu-1.4.1_pre20091009-fix-glibc.patch | 35 ++
 2 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20091009.ebuild 
b/app-emulation/dosemu/dosemu-1.4.1_pre20091009.ebuild
index 5a56b8d..39b9815 100644
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20091009.ebuild
+++ b/app-emulation/dosemu/dosemu-1.4.1_pre20091009.ebuild
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-inherit eutils flag-o-matic
+inherit autotools eutils flag-o-matic
 
 P_FD="dosemu-freedos-1.0-bin"
 DESCRIPTION="DOS Emulator"
@@ -36,6 +36,9 @@ S="${WORKDIR}/${PN}"
 src_compile() {
epatch "${FILESDIR}"/${P}-flex.patch #437074
epatch "${FILESDIR}"/${P}-dash.patch
+   epatch "${FILESDIR}"/${P}-fix-glibc.patch #597880
+
+   eautoreconf
 
# Has problems with -O3 on some systems
replace-flags -O[3-9] -O2

diff --git 
a/app-emulation/dosemu/files/dosemu-1.4.1_pre20091009-fix-glibc.patch 
b/app-emulation/dosemu/files/dosemu-1.4.1_pre20091009-fix-glibc.patch
new file mode 100644
index ..62a4319
--- /dev/null
+++ b/app-emulation/dosemu/files/dosemu-1.4.1_pre20091009-fix-glibc.patch
@@ -0,0 +1,35 @@
+The patch is a subset of
+
+commit b028d3fd33b004ac61583927884a64577e2d64c3
+Author: Bart Oldeman 
+Date:   Sun Dec 23 22:08:11 2012 -0500
+
+to fix glibc detection for
+Bug: https://bugs.gentoo.org/597880
+diff --git a/configure.ac b/configure.ac
+index 70bc154..b8da5e2 100644
+--- a/configure.ac
 b/configure.ac
+@@ -644,19 +640,9 @@ if test "$GCC" = "yes" ; then
+   fi
+ 
+   AC_MSG_CHECKING(for glibc...)
+-  set `printf '%b\n' '#include \nXXAaZZ __GLIBC__ XXBbZZ 
__GLIBC_MINOR__'|${CC-cc} -E -|awk '/XXAaZZ/ {print $2 " " $4}'`
+-  major=$1; minor=$2
+-  if test "$major" = "__GLIBC__"; then
+-AC_MSG_ERROR([Sorry, you need glibc-2.1.3 or newer.])
+-  else
+-if test "$minor" = "__GLIBC_MINOR__"; then
+-  minor=0;
+-fi
+-GLIBC_VERSION_CODE=$((($major * 1000) + $minor))
+-AC_MSG_RESULT([yes, version code $GLIBC_VERSION_CODE])
+-if test $GLIBC_VERSION_CODE -lt 2001; then
+-  AC_MSG_ERROR([Sorry, you need glibc-2.1.3 or newer.])
+-fi
++  set `printf '%b\n' '#include \nXXAaZZ __GLIBC__'|${CC-cc} -E 
-|awk '/XXAaZZ/ {print $2}'`
++  if test "$1" = "__GLIBC__"; then
++AC_MSG_ERROR([Sorry, you need glibc.])
+   fi
+ fi
+