From a960513f2164073d5d895162ff02fd28bca73c18 Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Sat, 4 Sep 2021 22:57:29 +0100 Subject: sys-fs/atari-fdisk: Patch to fix common global issue Closes: https://bugs.gentoo.org/725988 Package-Manager: Portage-3.0.22, Repoman-3.0.3 Signed-off-by: James Le Cuirot --- sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild | 48 ++++++++++++++++++++++ .../files/atari-fdisk-0.7.1.5.4-globals.patch | 30 ++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild create mode 100644 sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch diff --git a/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild b/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild new file mode 100644 index 000000000000..f78d8d437895 --- /dev/null +++ b/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +MY_PV=$(ver_cut 1-3) +DEB_PV=$(ver_cut 4-5) +DESCRIPTION="Create and edit the partition table of a disk partitioned in Atari format" +HOMEPAGE="https://packages.qa.debian.org/a/atari-fdisk.html" +SRC_URI="mirror://debian/pool/main/a/${PN}/${PN}_${MY_PV}-${DEB_PV}.tar.gz" +S="${WORKDIR}"/${PN}-${MY_PV} + +LICENSE="GPL-2" +SLOT="0" +# Note: The code assumes sizeof(long) == 4 everywhere. If you try to +# use this on 64bit systems (where sizeof(long) == 8), then misbehavior +# and memory corruption will ensue. +KEYWORDS="-* ~m68k ~x86" + +PATCHES=( + "${FILESDIR}"/${PN}-0.7.1.5.4-prompt-logic.patch + "${FILESDIR}"/${PN}-0.7.1.5.4-gcc-5-inline.patch + "${FILESDIR}"/${PN}-0.7.1.5.4-globals.patch +) + +src_compile() { + emake \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + CC="$(tc-getCC)" \ + COMPILE_ARCH=m68k +} + +src_install() { + dodoc NEWS README TODO debian/changelog + doman debian/atari-fdisk.8 + + into / + if [[ $(tc-arch) == "m68k" ]] ; then + dosbin fdisk + dosym fdisk /sbin/atari-fdisk + dosym atari-fdisk.8 /usr/share/man/man8/fdisk.8 + else + dosbin atari-fdisk + fi +} diff --git a/sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch b/sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch new file mode 100644 index 000000000000..a3b5b2aaecbe --- /dev/null +++ b/sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch @@ -0,0 +1,30 @@ +diff --color -Naur --ignore-all-space a/atari-fdisk.c b/atari-fdisk.c +--- a/atari-fdisk.c 1998-09-19 02:29:27.000000000 +0100 ++++ b/atari-fdisk.c 2021-09-04 22:41:35.286593292 +0100 +@@ -182,6 +182,7 @@ + #endif + + jmp_buf listingbuf; ++enum xpart_fmts xpart_fmt; + + + +diff --color -Naur --ignore-all-space a/fdisk.h b/fdisk.h +--- a/fdisk.h 2021-09-04 22:24:42.258462148 +0100 ++++ b/fdisk.h 2021-09-04 22:41:31.398481485 +0100 +@@ -86,11 +86,13 @@ + char *name; + }; + +-enum { ++enum xpart_fmts { + xfmt_unknown, + xfmt_AHDI, + xfmt_ICD +-} xpart_fmt; /* which format used for >4 part.s */ ++}; /* which format used for >4 part.s */ ++ ++extern enum xpart_fmts xpart_fmt; + + #define MAX_PRIMARY_AHDI 4 + #define MAX_PRIMARY_ICD 12 -- cgit v1.2.3-65-gdbad