summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-11-04 10:16:08 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2017-11-04 10:19:20 +0000
commit26a7caea7e40a8bcda903705376cc9209dced9fa (patch)
treeae0f49d5c6750a8841ab75a30cf4ad67e3b01aa2 /app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild
parentsys-process/vixie-cron: stable 4.1-r15 for hppa/sparc, bug #635868 (thanks to... (diff)
downloadgentoo-26a7caea7e40a8bcda903705376cc9209dced9fa.tar.gz
gentoo-26a7caea7e40a8bcda903705376cc9209dced9fa.tar.bz2
gentoo-26a7caea7e40a8bcda903705376cc9209dced9fa.zip
app-emulation/dosemu: unbreak misaligned .sys files, bug #631190
In bug #618366 I've added -no-pie LDFLAGS propagation to 16-bit targets but did not notice dosemu has different varying base addresses for different .com files (and I've overlooked 0-based .sys rules). Specifying wrong base address caused incorrect jump offsets into the final binary. That caused crash and hangup of cdrom.sys driver. This change restores original base addresses. Reported-by: Tom Reported-by: Robert Gill Bug: https://bugs.gentoo.org/631190 Package-Manager: Portage-2.3.13, Repoman-2.3.4 RepoMan-Options: --force
Diffstat (limited to 'app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild')
-rw-r--r--app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild103
1 files changed, 0 insertions, 103 deletions
diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild
deleted file mode 100644
index 8b5fcdc0a693..000000000000
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eutils flag-o-matic pax-utils toolchain-funcs
-
-P_FD="dosemu-freedos-1.0-bin"
-COMMIT="15cfb41ff20a052769d753c3262c57ecb050ad71"
-
-DESCRIPTION="DOS Emulator"
-HOMEPAGE="http://www.dosemu.org/"
-SRC_URI="mirror://sourceforge/dosemu/${P_FD}.tgz
- https://sourceforge.net/code-snapshots/git/d/do/dosemu/code.git/dosemu-code-${COMMIT}.zip -> ${P}.zip"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE="X svga gpm debug alsa sndfile fluidsynth"
-
-RDEPEND="X? ( x11-libs/libX11
- x11-libs/libXxf86vm
- x11-libs/libXau
- x11-libs/libXext
- x11-libs/libXdmcp
- x11-apps/xset
- x11-apps/xlsfonts
- x11-apps/bdftopcf
- x11-apps/mkfontdir )
- svga? ( media-libs/svgalib )
- gpm? ( sys-libs/gpm )
- alsa? ( media-libs/alsa-lib )
- sndfile? ( media-libs/libsndfile )
- fluidsynth? ( media-sound/fluidsynth
- media-sound/fluid-soundfont )
- media-libs/libsdl
- >=sys-libs/slang-1.4"
-
-DEPEND="${RDEPEND}
- X? ( x11-proto/xf86dgaproto )
- >=sys-devel/autoconf-2.57"
-
-S="${WORKDIR}/${PN}-code-${COMMIT}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fortify.patch
- "${FILESDIR}"/${PN}-1.4.1_pre20091009-dash.patch
- "${FILESDIR}"/${P}-no-glibc.patch
- "${FILESDIR}"/${P}-flex-2.6.3.patch
- "${FILESDIR}"/${P}-ia16-ldflags.patch
- "${FILESDIR}"/${P}-fix-inline.patch
-)
-
-src_prepare() {
- default
-
- # Has problems with -O3 on some systems
- replace-flags -O[3-9] -O2
-
- # 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() {
- # workaround binutils ld.gold bug #618366
- local nopie_flag=
- if tc-enables-pie; then
- if gcc-specs-pie; then
- # before gcc got upstream support for '-no-pie'
- nopie_flag=-nopie
- else
- nopie_flag=-no-pie
- fi
- fi
-
- econf $(use_with X x) \
- $(use_with svga svgalib) \
- $(use_enable debug) \
- $(use_with gpm) \
- $(use_with alsa) \
- $(use_with sndfile) \
- $(use_with fluidsynth) \
- --with-fdtarball="${DISTDIR}"/${P_FD}.tgz \
- --sysconfdir="${EPREFIX}"/etc/dosemu/ \
- --with-docdir="${EPREFIX}"/usr/share/doc/${PF} \
- IA16_LDFLAGS_EXTRA=${nopie_flag}
-}
-
-src_compile() {
- emake AR=$(tc-getAR)
-}
-
-src_install() {
- default
-
- # r - randmmap: dosemu tries to get address mapping
- # exactly where asked, loops otherwise.
- # m - allow RWX mapping: as it's an emulator / code loader
- pax-mark -mr "${ED}/usr/bin/dosemu.bin"
-}