[gentoo-commits] repo/gentoo:master commit in: app-emulation/dosemu/files/, app-emulation/dosemu/
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/
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/
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/
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/
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/
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 +