summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2015-05-02 11:14:31 +0000
committerJeroen Roovers <jer@gentoo.org>2015-05-02 11:14:31 +0000
commit315560477f449d55c61d87cd9c12c665f489269f (patch)
tree3712ca5c676871c22a187cd22e946b4df54ed7cd /sys-fs
parentRemove older buggy versions. (diff)
downloadgentoo-2-315560477f449d55c61d87cd9c12c665f489269f.tar.gz
gentoo-2-315560477f449d55c61d87cd9c12c665f489269f.tar.bz2
gentoo-2-315560477f449d55c61d87cd9c12c665f489269f.zip
EAPI bump. Use bumped Debian patch level in PV. Clean up patches.
(Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key A792A613)
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/mac-fdisk/ChangeLog12
-rw-r--r--sys-fs/mac-fdisk/files/big_pt.patch4
-rw-r--r--sys-fs/mac-fdisk/files/largerthan2gb.patch4
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-0.1-headers.patch28
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-0.1-r6-ppc64.patch50
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-0.1_p16-ppc64.patch455
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-amd64.patch15
-rw-r--r--sys-fs/mac-fdisk/mac-fdisk-0.1-r6.ebuild50
-rw-r--r--sys-fs/mac-fdisk/mac-fdisk-0.1_p16.ebuild53
9 files changed, 562 insertions, 109 deletions
diff --git a/sys-fs/mac-fdisk/ChangeLog b/sys-fs/mac-fdisk/ChangeLog
index 7f85acfa5433..d89727110ce6 100644
--- a/sys-fs/mac-fdisk/ChangeLog
+++ b/sys-fs/mac-fdisk/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-fs/mac-fdisk
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/mac-fdisk/ChangeLog,v 1.25 2012/05/15 19:52:34 halcy0n Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/mac-fdisk/ChangeLog,v 1.26 2015/05/02 11:14:31 jer Exp $
+
+*mac-fdisk-0.1_p16 (02 May 2015)
+
+ 02 May 2015; Jeroen Roovers <jer@gentoo.org> -mac-fdisk-0.1-r6.ebuild,
+ +mac-fdisk-0.1_p16.ebuild, files/mac-fdisk-0.1-headers.patch,
+ files/mac-fdisk-0.1-r6-ppc64.patch, +files/mac-fdisk-0.1_p16-ppc64.patch,
+ files/big_pt.patch, files/largerthan2gb.patch, files/mac-fdisk-amd64.patch:
+ EAPI bump. Use bumped Debian patch level in PV. Clean up patches.
15 May 2012; Mark Loeser <halcy0n@gentoo.org> mac-fdisk-0.1-r7.ebuild:
Stable for ppc/ppc64; bug #397231
diff --git a/sys-fs/mac-fdisk/files/big_pt.patch b/sys-fs/mac-fdisk/files/big_pt.patch
index f8951412516b..fe9e78ec73de 100644
--- a/sys-fs/mac-fdisk/files/big_pt.patch
+++ b/sys-fs/mac-fdisk/files/big_pt.patch
@@ -1,5 +1,5 @@
---- partition_map.c 2009-07-22 15:06:58.739072858 +0000
-+++ /home/jjezak/partition_map.c 2009-07-22 15:10:01.069051603 +0000
+--- a/partition_map.c
++++ b/partition_map.c
@@ -25,6 +25,11 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
diff --git a/sys-fs/mac-fdisk/files/largerthan2gb.patch b/sys-fs/mac-fdisk/files/largerthan2gb.patch
index 4a7e2e83e3bd..b33487ca9e97 100644
--- a/sys-fs/mac-fdisk/files/largerthan2gb.patch
+++ b/sys-fs/mac-fdisk/files/largerthan2gb.patch
@@ -1,5 +1,5 @@
---- fdisk.h-orig 1997-01-14 21:34:13.000000000 +0100
-+++ fdisk.h 2004-12-13 15:36:42.575004576 +0100
+--- a/fdisk.h
++++ b/fdisk.h
@@ -2,6 +2,11 @@
fdisk.h
*/
diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1-headers.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1-headers.patch
index 5ca1f6e42fb7..2ac7eaf41538 100644
--- a/sys-fs/mac-fdisk/files/mac-fdisk-0.1-headers.patch
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1-headers.patch
@@ -1,7 +1,7 @@
Include a lot more headers and remove a bunch of braindead __linux__ checks
---- mac-fdisk-0.1/dump.c
-+++ mac-fdisk-0.1/dump.c
+--- a/dump.c
++++ b/dump.c
@@ -30,10 +30,8 @@
*/
@@ -13,8 +13,8 @@ Include a lot more headers and remove a bunch of braindead __linux__ checks
#include <string.h>
#include <errno.h>
#include <fcntl.h>
---- mac-fdisk-0.1/errors.c
-+++ mac-fdisk-0.1/errors.c
+--- a/errors.c
++++ b/errors.c
@@ -26,9 +26,7 @@
*/
@@ -47,8 +47,8 @@ Include a lot more headers and remove a bunch of braindead __linux__ checks
} else {
fprintf(stderr, "\n");
}
---- mac-fdisk-0.1/fdisk.c
-+++ mac-fdisk-0.1/fdisk.c
+--- a/fdisk.c
++++ b/fdisk.c
@@ -62,6 +62,7 @@
#include <unistd.h>
#include <stdio.h>
@@ -57,8 +57,8 @@ Include a lot more headers and remove a bunch of braindead __linux__ checks
#include <fcntl.h>
#include <ctype.h>
#include <setjmp.h>
---- mac-fdisk-0.1/fdisklabel.c
-+++ mac-fdisk-0.1/fdisklabel.c
+--- a/fdisklabel.c
++++ b/fdisklabel.c
@@ -38,6 +38,7 @@
#include <unistd.h>
#include <stdio.h>
@@ -67,8 +67,8 @@ Include a lot more headers and remove a bunch of braindead __linux__ checks
#include <fcntl.h>
#include <ctype.h>
#include <setjmp.h>
---- mac-fdisk-0.1/io.c
-+++ mac-fdisk-0.1/io.c
+--- a/io.c
++++ b/io.c
@@ -26,9 +26,9 @@
*/
@@ -80,8 +80,8 @@ Include a lot more headers and remove a bunch of braindead __linux__ checks
#include <SCSI.h>
#else
#ifdef __GLIBC__
---- mac-fdisk-0.1/partition_map.c
-+++ mac-fdisk-0.1/partition_map.c
+--- a/partition_map.c
++++ b/partition_map.c
@@ -26,10 +26,9 @@
*/
@@ -94,8 +94,8 @@ Include a lot more headers and remove a bunch of braindead __linux__ checks
#include <errno.h>
#include <fcntl.h>
---- mac-fdisk-0.1/pdisk.c
-+++ mac-fdisk-0.1/pdisk.c
+--- a/pdisk.c
++++ b/pdisk.c
@@ -32,10 +32,11 @@
#include <getopt.h>
#include <stddef.h>
diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1-r6-ppc64.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1-r6-ppc64.patch
index d4655f77e360..4fb1617eec8e 100644
--- a/sys-fs/mac-fdisk/files/mac-fdisk-0.1-r6-ppc64.patch
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1-r6-ppc64.patch
@@ -1,6 +1,5 @@
-diff -Nur mac-fdisk-0.1.orig/bitfield.c mac-fdisk-0.1/bitfield.c
---- mac-fdisk-0.1.orig/bitfield.c 1997-01-10 07:30:51.000000000 +0900
-+++ mac-fdisk-0.1/bitfield.c 2006-09-02 22:22:06.301788000 +0900
+--- a/bitfield.c
++++ b/bitfield.c
@@ -67,13 +67,12 @@
//
// Routines
@@ -35,9 +34,8 @@ diff -Nur mac-fdisk-0.1.orig/bitfield.c mac-fdisk-0.1/bitfield.c
// compute shift & mask
// return the correct number of bits (shifted to low end)
-diff -Nur mac-fdisk-0.1.orig/bitfield.h mac-fdisk-0.1/bitfield.h
---- mac-fdisk-0.1.orig/bitfield.h 1996-12-18 09:44:16.000000000 +0900
-+++ mac-fdisk-0.1/bitfield.h 2006-09-02 22:22:06.301788000 +0900
+--- a/bitfield.h
++++ b/bitfield.h
@@ -63,5 +63,5 @@
//
// Forward declarations
@@ -46,9 +44,8 @@ diff -Nur mac-fdisk-0.1.orig/bitfield.h mac-fdisk-0.1/bitfield.h
-unsigned long bitfield_get(unsigned long bf, int base, int length);
+unsigned int bitfield_set(unsigned int *bf, int base, int length, unsigned int value);
+unsigned int bitfield_get(unsigned int bf, int base, int length);
-diff -Nur mac-fdisk-0.1.orig/dpme.h mac-fdisk-0.1/dpme.h
---- mac-fdisk-0.1.orig/dpme.h 2006-09-02 22:18:56.014216000 +0900
-+++ mac-fdisk-0.1/dpme.h 2006-09-02 22:22:06.305788000 +0900
+--- a/dpme.h
++++ b/dpme.h
@@ -61,7 +61,7 @@
//
typedef unsigned char u8;
@@ -73,9 +70,8 @@ diff -Nur mac-fdisk-0.1.orig/dpme.h mac-fdisk-0.1/dpme.h
u32 dpme_checksum ;
char dpme_process_id[16] ;
u32 dpme_boot_args[32] ;
-diff -Nur mac-fdisk-0.1.orig/dump.c mac-fdisk-0.1/dump.c
---- mac-fdisk-0.1.orig/dump.c 2006-09-02 22:18:56.138216000 +0900
-+++ mac-fdisk-0.1/dump.c 2006-09-02 22:22:06.305788000 +0900
+--- a/dump.c
++++ b/dump.c
@@ -61,16 +61,16 @@
// Global Constants
//
@@ -185,9 +181,8 @@ diff -Nur mac-fdisk-0.1.orig/dump.c mac-fdisk-0.1/dump.c
bp = (BZB *) (p->dpme_bzb);
j = -1;
-diff -Nur mac-fdisk-0.1.orig/errors.c mac-fdisk-0.1/errors.c
---- mac-fdisk-0.1.orig/errors.c 2006-09-02 22:18:56.138216000 +0900
-+++ mac-fdisk-0.1/errors.c 2006-09-02 22:22:06.305788000 +0900
+--- a/errors.c
++++ b/errors.c
@@ -30,6 +30,7 @@
#include <string.h>
#include <stdarg.h>
@@ -214,9 +209,8 @@ diff -Nur mac-fdisk-0.1.orig/errors.c mac-fdisk-0.1/errors.c
fprintf(stderr, " (%s)\n", strerror(value));
} else {
fprintf(stderr, "\n");
-diff -Nur mac-fdisk-0.1.orig/fdisk.c mac-fdisk-0.1/fdisk.c
---- mac-fdisk-0.1.orig/fdisk.c 2006-09-02 22:18:56.142216000 +0900
-+++ mac-fdisk-0.1/fdisk.c 2006-09-02 22:22:06.305788000 +0900
+--- a/fdisk.c
++++ b/fdisk.c
@@ -71,12 +71,65 @@
#include <sys/ioctl.h>
@@ -294,9 +288,8 @@ diff -Nur mac-fdisk-0.1.orig/fdisk.c mac-fdisk-0.1/fdisk.c
{
if (argc > 3)
fatal(usage);
-diff -Nur mac-fdisk-0.1.orig/fdisklabel.c mac-fdisk-0.1/fdisklabel.c
---- mac-fdisk-0.1.orig/fdisklabel.c 2006-09-02 22:18:56.142216000 +0900
-+++ mac-fdisk-0.1/fdisklabel.c 2006-09-02 22:22:06.309788000 +0900
+--- a/fdisklabel.c
++++ b/fdisklabel.c
@@ -35,6 +35,7 @@
SUCH DAMAGE.
*/
@@ -410,9 +403,8 @@ diff -Nur mac-fdisk-0.1.orig/fdisklabel.c mac-fdisk-0.1/fdisklabel.c
#endif
if (pp->p_size % lp->d_secpercyl)
putc('*', f);
-diff -Nur mac-fdisk-0.1.orig/io.c mac-fdisk-0.1/io.c
---- mac-fdisk-0.1.orig/io.c 2006-09-02 22:18:56.142216000 +0900
-+++ mac-fdisk-0.1/io.c 2006-09-02 22:22:06.309788000 +0900
+--- a/io.c
++++ b/io.c
@@ -33,8 +33,10 @@
#else
#ifdef __GLIBC__
@@ -433,9 +425,8 @@ diff -Nur mac-fdisk-0.1.orig/io.c mac-fdisk-0.1/io.c
return 0;
}
#ifndef __linux__
-diff -Nur mac-fdisk-0.1.orig/partition_map.c mac-fdisk-0.1/partition_map.c
---- mac-fdisk-0.1.orig/partition_map.c 2006-09-02 22:18:56.142216000 +0900
-+++ mac-fdisk-0.1/partition_map.c 2006-09-02 22:22:06.309788000 +0900
+--- a/partition_map.c
++++ b/partition_map.c
@@ -105,7 +105,6 @@
int fd;
partition_map_header * map;
@@ -470,9 +461,8 @@ diff -Nur mac-fdisk-0.1.orig/partition_map.c mac-fdisk-0.1/partition_map.c
map->media_size = number;
#ifdef __linux__
-diff -Nur mac-fdisk-0.1.orig/pdisk.c mac-fdisk-0.1/pdisk.c
---- mac-fdisk-0.1.orig/pdisk.c 2006-09-02 22:18:56.142216000 +0900
-+++ mac-fdisk-0.1/pdisk.c 2006-09-02 22:22:06.309788000 +0900
+--- a/pdisk.c
++++ b/pdisk.c
@@ -437,7 +437,6 @@
{
long base;
diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p16-ppc64.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p16-ppc64.patch
new file mode 100644
index 000000000000..616adc5b811f
--- /dev/null
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p16-ppc64.patch
@@ -0,0 +1,455 @@
+--- a/bitfield.c
++++ b/bitfield.c
+@@ -67,13 +67,12 @@
+ //
+ // Routines
+ //
+-unsigned long
+-bitfield_set(unsigned long *bf, int base, int length, unsigned long value)
++unsigned int
++bitfield_set(unsigned int *bf, int base, int length, unsigned int value)
+ {
+- unsigned long t;
+- unsigned long m;
++ unsigned int t;
++ unsigned int m;
+ int s;
+- int i;
+
+ // compute shift & mask, coerce value to correct number of bits,
+ // zap the old bits and stuff the new value
+@@ -86,12 +85,11 @@
+ }
+
+
+-unsigned long
+-bitfield_get(unsigned long bf, int base, int length)
++unsigned int
++bitfield_get(unsigned int bf, int base, int length)
+ {
+- unsigned long m;
++ unsigned int m;
+ int s;
+- int i;
+
+ // compute shift & mask
+ // return the correct number of bits (shifted to low end)
+--- a/bitfield.h
++++ b/bitfield.h
+@@ -63,5 +63,5 @@
+ //
+ // Forward declarations
+ //
+-unsigned long bitfield_set(unsigned long *bf, int base, int length, unsigned long value);
+-unsigned long bitfield_get(unsigned long bf, int base, int length);
++unsigned int bitfield_set(unsigned int *bf, int base, int length, unsigned int value);
++unsigned int bitfield_get(unsigned int bf, int base, int length);
+--- a/dump.c
++++ b/dump.c
+@@ -61,16 +61,16 @@
+ // Global Constants
+ //
+ NAMES plist[] = {
+- "Drvr", "Apple_Driver",
+- "Dr43", "Apple_Driver43",
+- "Free", "Apple_Free",
+- " HFS", "Apple_HFS",
+- " MFS", "Apple_MFS",
+- "PDOS", "Apple_PRODOS",
+- "junk", "Apple_Scratch",
+- "unix", "Apple_UNIX_SVR2",
+- " map", "Apple_partition_map",
+- 0, 0
++ {"Drvr"}, {"Apple_Driver"},
++ {"Dr43"}, {"Apple_Driver43"},
++ {"Free"}, {"Apple_Free"},
++ {" HFS"}, {"Apple_HFS"},
++ {" MFS"}, {"Apple_MFS"},
++ {"PDOS"}, {"Apple_PRODOS"},
++ {"junk"}, {"Apple_Scratch"},
++ {"unix"}, {"Apple_UNIX_SVR2"},
++ {" map"}, {"Apple_partition_map"},
++ {0}, {0}
+ };
+
+ const char * kStringEmpty = "";
+@@ -162,10 +162,10 @@
+ }
+ #ifdef __mc68000__
+ printf("%*s type name "
+- "%*s %-*s ( size ) system\n", strlen(map->name)+1, "#", j, "length", j, "base");
++ "%*s %-*s ( size ) system\n", (int)strlen(map->name)+1, "#", j, "length", j, "base");
+ #else
+ printf("%*s type name "
+- "%*s %-*s ( size ) system\n", strlen(map->name)+1, "#", j, "length", j, "base");
++ "%*s %-*s ( size ) system\n", (int)strlen(map->name)+1, "#", j, "length", j, "base");
+ #endif
+
+ /* Grok devfs names. (courtesy Colin Walters)*/
+@@ -199,7 +199,6 @@
+ partition_map_header *map;
+ int j;
+ DPME *p;
+- BZB *bp;
+ char *s;
+ #ifdef __mc68000__
+ int aflag = 1;
+@@ -222,13 +221,13 @@
+ }
+ }
+ #ifdef __mc68000__
+- printf("%s%-2d %.4s %-12.12s ", dev, entry->disk_address, s, p->dpme_name);
++ printf("%s%-2d %.4s %-12.12s ", dev, (int)entry->disk_address, s, p->dpme_name);
+ #else
+- printf("%s%-4d %.4s %-18.32s ", dev, entry->disk_address, s, p->dpme_name);
++ printf("%s%-4d %.4s %-18.32s ", dev, (int)entry->disk_address, s, p->dpme_name);
+ #endif
+ } else {
+ printf("%s%-4d %20.32s %-18.32s ", dev,
+- entry->disk_address, p->dpme_type, p->dpme_name);
++ (int)entry->disk_address, p->dpme_type, p->dpme_name);
+ }
+
+ if (pflag) {
+@@ -312,7 +311,6 @@
+ int i;
+ int fd;
+ DPME * data;
+- long t;
+
+ data = (DPME *) malloc(PBLOCK_SIZE);
+ if (data == NULL) {
+@@ -380,7 +378,7 @@
+ printf("Header:\n");
+ printf("fd=%d (%s)\n", map->fd, (map->regular_file)?"file":"device");
+ printf("map %d blocks out of %d, media %u blocks\n",
+- map->blocks_in_map, map->maximum_in_map, map->media_size);
++ map->blocks_in_map, map->maximum_in_map, (unsigned int)map->media_size);
+ printf("Map is%s writeable", (map->writeable)?kStringEmpty:kStringNot);
+ printf(", but%s changed\n", (map->changed)?kStringEmpty:kStringNot);
+ printf("\n");
+@@ -424,7 +422,7 @@
+ for (entry = map->disk_order; entry != NULL; entry = entry->next_on_disk) {
+ p = entry->data;
+ printf("%2d: %20.32s ",
+- entry->disk_address, p->dpme_type);
++ (int)entry->disk_address, p->dpme_type);
+ printf("%7u @ %-7u ", p->dpme_pblocks, p->dpme_pblock_start);
+ printf("%c%c%c%c%c%c%c%c%c%c ",
+ (dpme_valid_get(p))?'V':'v',
+@@ -447,7 +445,7 @@
+ "goto_address checksum processor\n");
+ for (entry = map->disk_order; entry != NULL; entry = entry->next_on_disk) {
+ p = entry->data;
+- printf("%2d: ", entry->disk_address);
++ printf("%2d: ", (int)entry->disk_address);
+ printf("%7u ", p->dpme_boot_block);
+ printf("%7u ", p->dpme_boot_bytes);
+ printf("%8x ", p->dpme_load_addr);
+@@ -464,7 +462,7 @@
+ */
+ for (entry = map->disk_order; entry != NULL; entry = entry->next_on_disk) {
+ p = entry->data;
+- printf("%2d: ", entry->disk_address);
++ printf("%2d: ", (int)entry->disk_address);
+
+ bp = (BZB *) (p->dpme_bzb);
+ j = -1;
+--- a/errors.c
++++ b/errors.c
+@@ -30,6 +30,7 @@
+ #include <string.h>
+ #include <stdarg.h>
+
++#include <errno.h>
+ #include "errors.h"
+ #include "pdisk.h"
+
+@@ -113,7 +114,7 @@
+ va_end(ap);
+
+ #ifdef __linux__
+- if (value > 0) {
++ if (value > 0 && value < errno) {
+ fprintf(stderr, " (%s)\n", strerror(value));
+ } else {
+ fprintf(stderr, "\n");
+@@ -142,7 +143,7 @@
+ va_end(ap);
+
+ #ifdef __linux__
+- if (value > 0) {
++ if (value > 0 && value < errno) {
+ fprintf(stderr, " (%s)\n", strerror(value));
+ } else {
+ fprintf(stderr, "\n");
+--- a/fdisk.c
++++ b/fdisk.c
+@@ -71,12 +71,65 @@
+
+ #include <sys/ioctl.h>
+
+-typedef unsigned short kdev_t; /* BAD hack; kdev_t is not exported */
+-
+ #include "kernel-defs.h"
+
+ #include "fdisk.h"
+
++/* ----------- */
++#define _PPC64_TYPES_H
++#define BITS_PER_LONG 64
++
++typedef __signed__ char __s8;
++typedef signed char s8;
++typedef unsigned char u8;
++typedef unsigned char __u8;
++
++typedef __signed__ short __s16;
++typedef signed short s16;
++/*typedef unsigned short __u16;*/
++typedef unsigned short u16;
++
++typedef __signed__ int __s32;
++typedef signed int s32;
++/*typedef unsigned int __u32;*/
++typedef unsigned int u32;
++
++typedef __signed__ long __s64;
++typedef signed long s64;
++typedef unsigned long __u64;
++typedef unsigned long u64;
++
++typedef struct {
++ __u32 u[4];
++} __attribute((aligned(16))) __vector128;
++
++typedef __vector128 vector128;
++
++typedef u32 dma_addr_t;
++typedef u64 dma64_addr_t;
++
++typedef struct {
++ unsigned long entry;
++ unsigned long toc;
++ unsigned long env;
++} func_descr_t;
++
++typedef unsigned int umode_t;
++
++#define BITS_TO_LONGS(bits) \
++ (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG)
++#define DECLARE_BITMAP(name,bits) \
++ unsigned long name[BITS_TO_LONGS(bits)]
++#define CLEAR_BITMAP(name,bits) \
++ memset(name, 0, BITS_TO_LONGS(bits)*sizeof(unsigned long))
++
++/* hd/ide ctl's that pass (arg) ptrs to user space are numbered 0x030n/0x031n */
++#define HDIO_GETGEO 0x0301 /* get device geometry */
++
++#define BLKRRPART _IO(0x12,95) /* re-read partition table */
++
++/* ---------- */
++
+ #define hex_val(c) ({ \
+ char _c = (c); \
+ isdigit(_c) ? _c - '0' : \
+@@ -1416,7 +1469,7 @@
+ }
+ }
+
+-void main(int argc, char **argv)
++int main(int argc, char **argv)
+ {
+ if (argc > 3)
+ fatal(usage);
+--- a/fdisklabel.c
++++ b/fdisklabel.c
+@@ -35,6 +35,7 @@
+ SUCH DAMAGE.
+ */
+
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -47,6 +48,8 @@
+ #include <sys/ioctl.h>
+ #include <sys/param.h>
+
++#include <asm/types.h>
++
+ #include "kernel-defs.h"
+
+ #include "fdisk.h"
+@@ -263,8 +266,8 @@
+ fprintf(f, "type: %s\n", bsd_dktypenames[lp->d_type]);
+ else
+ fprintf(f, "type: %d\n", lp->d_type);
+- fprintf(f, "disk: %.*s\n", sizeof(lp->d_typename), lp->d_typename);
+- fprintf(f, "label: %.*s\n", sizeof(lp->d_packname), lp->d_packname);
++ fprintf(f, "disk: %.*s\n", (int)sizeof(lp->d_typename), lp->d_typename);
++ fprintf(f, "label: %.*s\n", (int)sizeof(lp->d_packname), lp->d_packname);
+ fprintf(f, "flags:");
+ if (lp->d_flags & BSD_D_REMOVABLE)
+ fprintf(f, " removable");
+@@ -273,17 +276,17 @@
+ if (lp->d_flags & BSD_D_BADSECT)
+ fprintf(f, " badsect");
+ fprintf(f, "\n");
+- fprintf(f, "bytes/sector: %d\n", lp->d_secsize);
+- fprintf(f, "sectors/track: %d\n", lp->d_nsectors);
+- fprintf(f, "tracks/cylinder: %d\n", lp->d_ntracks);
+- fprintf(f, "sectors/cylinder: %d\n", lp->d_secpercyl);
+- fprintf(f, "cylinders: %d\n", lp->d_ncylinders);
++ fprintf(f, "bytes/sector: %d\n", (int)lp->d_secsize);
++ fprintf(f, "sectors/track: %d\n", (int)lp->d_nsectors);
++ fprintf(f, "tracks/cylinder: %d\n", (int)lp->d_ntracks);
++ fprintf(f, "sectors/cylinder: %d\n", (int)lp->d_secpercyl);
++ fprintf(f, "cylinders: %d\n", (int)lp->d_ncylinders);
+ fprintf(f, "rpm: %d\n", lp->d_rpm);
+ fprintf(f, "interleave: %d\n", lp->d_interleave);
+ fprintf(f, "trackskew: %d\n", lp->d_trackskew);
+ fprintf(f, "cylinderskew: %d\n", lp->d_cylskew);
+- fprintf(f, "headswitch: %d\t\t# milliseconds\n", lp->d_headswitch);
+- fprintf(f, "track-to-track seek: %d\t# milliseconds\n", lp->d_trkseek);
++ fprintf(f, "headswitch: %d\t\t# milliseconds\n", (int)lp->d_headswitch);
++ fprintf(f, "track-to-track seek: %d\t# milliseconds\n", (int)lp->d_trkseek);
+ fprintf(f, "drivedata: ");
+ for (i = NDDATA - 1; i >= 0; i--)
+ if (lp->d_drivedata[i])
+@@ -291,7 +294,7 @@
+ if (i < 0)
+ i = 0;
+ for (j = 0; j <= i; j++)
+- fprintf(f, "%d ", lp->d_drivedata[j]);
++ fprintf(f, "%d ", (int)lp->d_drivedata[j]);
+ }
+ fprintf (f, "\n%d partitions:\n", lp->d_npartitions);
+ fprintf (f, "# size offset fstype [fsize bsize cpg]\n");
+@@ -299,7 +302,7 @@
+ for (i = 0; i < lp->d_npartitions; i++, pp++) {
+ if (pp->p_size) {
+ fprintf(f, " %c: %8d %8d ", 'a' + i,
+- pp->p_size, pp->p_offset);
++ (int)pp->p_size, (int)pp->p_offset);
+ if ((unsigned) pp->p_fstype < BSD_FSMAXTYPES)
+ fprintf(f, "%8.8s", bsd_fstypes[pp->p_fstype].name);
+ else
+@@ -308,12 +311,12 @@
+ {
+ case BSD_FS_UNUSED:
+ fprintf(f, " %5d %5d %5.5s ",
+- pp->p_fsize, pp->p_fsize * pp->p_frag, "");
++ (int)pp->p_fsize, (int)pp->p_fsize * pp->p_frag, "");
+ break;
+
+ case BSD_FS_BSDFFS:
+ fprintf(f, " %5d %5d %5d ",
+- pp->p_fsize, pp->p_fsize * pp->p_frag,
++ (int)pp->p_fsize, (int)pp->p_fsize * pp->p_frag,
+ pp->p_cpg);
+ break;
+
+@@ -323,21 +326,21 @@
+ }
+ fprintf(f, "\t# (Cyl. %4d",
+ #if 0
+- pp->p_offset / lp->d_secpercyl); /* differs from Linux fdisk */
++ (int)(pp->p_offset / lp->d_secpercyl)); /* differs from Linux fdisk */
+ #else
+- pp->p_offset / lp->d_secpercyl + 1);
++ (int)(pp->p_offset / lp->d_secpercyl + 1));
+ #endif
+ if (pp->p_offset % lp->d_secpercyl)
+ putc('*', f);
+ else
+ putc(' ', f);
+ fprintf(f, "- %d",
+- (pp->p_offset +
++ (int)((pp->p_offset +
+ pp->p_size + lp->d_secpercyl - 1) /
+ #if 0
+- lp->d_secpercyl - 1); /* differs from Linux fdisk */
++ lp->d_secpercyl - 1)); /* differs from Linux fdisk */
+ #else
+- lp->d_secpercyl);
++ lp->d_secpercyl));
+ #endif
+ if (pp->p_size % lp->d_secpercyl)
+ putc('*', f);
+--- a/io.c
++++ b/io.c
+@@ -33,8 +33,10 @@
+ #else
+ #ifdef __GLIBC__
+ #include <sys/types.h>
++#include <sys/stat.h>
+ #endif
+ #endif
++#include <linux/unistd.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <stdarg.h>
+@@ -466,7 +468,7 @@
+ long t;
+
+ if (rflag) {
+- printf("Can't write block %u to file", num);
++ printf("Can't write block %u to file", (unsigned int)num);
+ return 0;
+ }
+ #ifndef __linux__
+--- a/partition_map.c
++++ b/partition_map.c
+@@ -105,7 +105,6 @@
+ int fd;
+ partition_map_header * map;
+ int writeable;
+- unsigned long length;
+ #ifdef __linux__
+ struct stat info;
+ #endif
+@@ -402,9 +401,7 @@
+ {
+ int fd;
+ partition_map_header * map;
+- unsigned long length;
+ DPME *data;
+- int ok;
+ unsigned long number;
+ #ifdef __linux__
+ struct stat info;
+@@ -433,13 +430,13 @@
+ map->maximum_in_map = -1;
+
+ number = compute_device_size(fd);
+- printf("size of 'device' is %u blocks: ", number);
++ printf("size of 'device' is %u blocks: ", (unsigned int)number);
+ flush_to_newline(0);
+ get_number_argument("what should be the size? ", (long *)&number, number);
+ if (number < 4) {
+ number = 4;
+ }
+- printf("new size of 'device' is %u blocks\n", number);
++ printf("new size of 'device' is %u blocks\n", (unsigned int)number);
+ map->media_size = number;
+
+ #ifdef __linux__
+--- a/pdisk.c
++++ b/pdisk.c
+@@ -437,7 +437,6 @@
+ {
+ long base;
+ long length;
+- long mult;
+ char *name;
+ char *type_name;
+
+@@ -599,7 +598,6 @@
+ void
+ do_reorder(partition_map_header *map)
+ {
+- partition_map * cur;
+ long old_index;
+ long index;
+
diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-amd64.patch b/sys-fs/mac-fdisk/files/mac-fdisk-amd64.patch
index ecc37a19a68e..8658ba9a60d5 100644
--- a/sys-fs/mac-fdisk/files/mac-fdisk-amd64.patch
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-amd64.patch
@@ -1,6 +1,5 @@
-diff -Naur mac-fdisk-0.1.bak/fdisklabel.c mac-fdisk-0.1/fdisklabel.c
---- mac-fdisk-0.1.bak/fdisklabel.c 2007-03-16 10:56:26.000000000 -0400
-+++ mac-fdisk-0.1/fdisklabel.c 2007-03-16 10:56:13.000000000 -0400
+--- a/fdisklabel.c
++++ b/fdisklabel.c
@@ -72,7 +72,7 @@
static int bsd_readlabel (struct partition *p, struct disklabel *d);
static int bsd_writelabel (struct partition *p, struct disklabel *d);
@@ -161,9 +160,8 @@ diff -Naur mac-fdisk-0.1.bak/fdisklabel.c mac-fdisk-0.1/fdisklabel.c
static int
bsd_translate_fstype (int linux_type)
{
-diff -Naur mac-fdisk-0.1.bak/fdisklabel.h mac-fdisk-0.1/fdisklabel.h
---- mac-fdisk-0.1.bak/fdisklabel.h 2007-03-16 10:56:26.000000000 -0400
-+++ mac-fdisk-0.1/fdisklabel.h 2007-03-16 10:56:13.000000000 -0400
+--- a/fdisklabel.h
++++ b/fdisklabel.h
@@ -35,7 +35,7 @@
#define BSD_MAXPARTITIONS 8
#define BSD_LINUX_BOOTDIR "/usr/ucb/mdec"
@@ -173,9 +171,8 @@ diff -Naur mac-fdisk-0.1.bak/fdisklabel.h mac-fdisk-0.1/fdisklabel.h
#define BSD_LABELSECTOR 1
#define BSD_LABELOFFSET 0
#define BSD_BBSIZE 8192 /* size of boot area, with label */
-diff -Naur mac-fdisk-0.1.bak/kernel-defs.h mac-fdisk-0.1/kernel-defs.h
---- mac-fdisk-0.1.bak/kernel-defs.h 2007-03-16 10:56:26.000000000 -0400
-+++ mac-fdisk-0.1/kernel-defs.h 2007-03-16 10:56:13.000000000 -0400
+--- a/kernel-defs.h
++++ b/kernel-defs.h
@@ -15,8 +15,14 @@
/* from asm/ioctl.h */
#define _IOC_NRBITS 8
diff --git a/sys-fs/mac-fdisk/mac-fdisk-0.1-r6.ebuild b/sys-fs/mac-fdisk/mac-fdisk-0.1-r6.ebuild
deleted file mode 100644
index 7b95d4c68bde..000000000000
--- a/sys-fs/mac-fdisk/mac-fdisk-0.1-r6.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/mac-fdisk/mac-fdisk-0.1-r6.ebuild,v 1.10 2009/07/22 15:18:55 josejx Exp $
-
-inherit eutils toolchain-funcs
-
-DEBRV=13
-DESCRIPTION="Mac/PowerMac disk partitioning utility"
-HOMEPAGE="ftp://ftp.mklinux.apple.com/pub/Other_Tools/"
-SRC_URI="mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV}.orig.tar.gz
- mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV}-${DEBRV}.diff.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_unpack() {
- unpack mac-fdisk_${PV}.orig.tar.gz
- mv mac-fdisk-${PV}.orig ${P}
- cd "${S}"
- epatch "${DISTDIR}"/${PN}_${PV}-${DEBRV}.diff.gz
-
- epatch "${FILESDIR}"/largerthan2gb.patch
- epatch "${FILESDIR}"/${P}-headers.patch
-
- ### Patch for bug #142737
- epatch "${FILESDIR}"/${PN}-0.1-r6-ppc64.patch
-
- ### Patch for building on amd64
- epatch "${FILESDIR}"/${PN}-amd64.patch
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" || die "emake failed!"
-}
-
-src_install() {
- into /
- newsbin pdisk mac-fdisk || die
- newsbin fdisk pmac-fdisk || die
-
- into /usr
- newman mac-fdisk.8.in mac-fdisk.8
- newman pmac-fdisk.8.in pmac-fdisk.8
- dodoc README HISTORY
-}
diff --git a/sys-fs/mac-fdisk/mac-fdisk-0.1_p16.ebuild b/sys-fs/mac-fdisk/mac-fdisk-0.1_p16.ebuild
new file mode 100644
index 000000000000..37e17b01146b
--- /dev/null
+++ b/sys-fs/mac-fdisk/mac-fdisk-0.1_p16.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/mac-fdisk/mac-fdisk-0.1_p16.ebuild,v 1.1 2015/05/02 11:14:31 jer Exp $
+
+EAPI=5
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Mac/PowerMac disk partitioning utility"
+HOMEPAGE="ftp://ftp.mklinux.apple.com/pub/Other_Tools/"
+SRC_URI="
+ mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV/_p*}.orig.tar.gz
+ mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV/_p*}-${PV/*_p}.diff.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+S=${WORKDIR}/${P/_p*}.orig
+
+src_prepare() {
+ epatch "${WORKDIR}"/${PN}_${PV/_p*}-${PV/*_p}.diff
+
+ epatch "${FILESDIR}"/largerthan2gb.patch
+
+ epatch "${FILESDIR}"/${PN}-0.1-headers.patch
+
+ ### Patch for bug #142737
+ epatch "${FILESDIR}"/${PN}-0.1_p16-ppc64.patch
+
+ ### Patch for building on amd64
+ epatch "${FILESDIR}"/${PN}-amd64.patch
+
+ ### Patch for large (>550GB disks)
+ ### Note that >=2TB disks may not work due to limitations of the Mac
+ ### Partition Table structure, this needs to be investigated
+ epatch "${FILESDIR}"/big_pt.patch
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ into /
+ newsbin pdisk mac-fdisk
+ newsbin fdisk pmac-fdisk
+
+ into /usr
+ newman mac-fdisk.8.in mac-fdisk.8
+ newman pmac-fdisk.8.in pmac-fdisk.8
+ dodoc README HISTORY
+}