summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2021-09-04 22:57:29 +0100
committerJames Le Cuirot <chewi@gentoo.org>2021-09-04 23:35:49 +0100
commita960513f2164073d5d895162ff02fd28bca73c18 (patch)
tree70b5753a5ba4c9e0c7db223799b02a495f9ca6a2 /sys-fs/atari-fdisk
parentapp-misc/notary: remove old (diff)
downloadgentoo-a960513f2164073d5d895162ff02fd28bca73c18.tar.gz
gentoo-a960513f2164073d5d895162ff02fd28bca73c18.tar.bz2
gentoo-a960513f2164073d5d895162ff02fd28bca73c18.zip
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 <chewi@gentoo.org>
Diffstat (limited to 'sys-fs/atari-fdisk')
-rw-r--r--sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild48
-rw-r--r--sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch30
2 files changed, 78 insertions, 0 deletions
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