summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Rothe <corsair@gentoo.org>2004-11-03 15:58:06 +0000
committerMarkus Rothe <corsair@gentoo.org>2004-11-03 15:58:06 +0000
commitd13c69e8addfd0b0f9af3185ac1724100487c3db (patch)
treee172a583fdb9222584ba976555a45d1736493b66 /sys-fs/mac-fdisk
parentadded a patch from James Couzens that fixes building tar 1.14.90 with newer g... (diff)
downloadhistorical-d13c69e8addfd0b0f9af3185ac1724100487c3db.tar.gz
historical-d13c69e8addfd0b0f9af3185ac1724100487c3db.tar.bz2
historical-d13c69e8addfd0b0f9af3185ac1724100487c3db.zip
version bump
Diffstat (limited to 'sys-fs/mac-fdisk')
-rw-r--r--sys-fs/mac-fdisk/ChangeLog9
-rw-r--r--sys-fs/mac-fdisk/Manifest15
-rw-r--r--sys-fs/mac-fdisk/files/digest-mac-fdisk-0.1-r32
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-0.1-r3-ppc64.patch570
-rw-r--r--sys-fs/mac-fdisk/mac-fdisk-0.1-r3.ebuild50
5 files changed, 634 insertions, 12 deletions
diff --git a/sys-fs/mac-fdisk/ChangeLog b/sys-fs/mac-fdisk/ChangeLog
index dcd04636aa5e..3d772e7a398b 100644
--- a/sys-fs/mac-fdisk/ChangeLog
+++ b/sys-fs/mac-fdisk/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-fs/mac-fdisk
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/mac-fdisk/ChangeLog,v 1.7 2004/09/05 08:25:01 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/mac-fdisk/ChangeLog,v 1.8 2004/11/03 15:58:06 corsair Exp $
+
+*mac-fdisk-0.1-r3 (03 Nov 2004)
+
+ 03 Nov 2004; Markus Rothe <corsair@gentoo.org>
+ +files/mac-fdisk-0.1-r3-ppc64.patch, +mac-fdisk-0.1-r3.ebuild:
+ Version bump to latest Debian Patchset (v11). Marked ~ppc64; untested on ppc.
+ Bug #61493
05 Sep 2004; Sven Wegener <swegener@gentoo.org> :
Fixed ChangeLog header.
diff --git a/sys-fs/mac-fdisk/Manifest b/sys-fs/mac-fdisk/Manifest
index 7d7a89bbe0e5..42bd8f651292 100644
--- a/sys-fs/mac-fdisk/Manifest
+++ b/sys-fs/mac-fdisk/Manifest
@@ -1,19 +1,12 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 c0f8a1e731ece71782f475e31815b25a ChangeLog 1841
MD5 84b22298b96cf1a5eea391b0a0c743d9 mac-fdisk-0.1-r2.ebuild 1490
MD5 740e63521b7dddcf17ac4429a364040b mac-fdisk-0.1.ebuild 1139
MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
+MD5 c2c3da77bd71b8634c4bc7aad857c8a0 mac-fdisk-0.1-r3.ebuild 1220
+MD5 ec41f390d697678f7dcdc6472627beb3 ChangeLog 2081
MD5 3e9a3be2ca26ae1f824c97f1f4111805 files/digest-mac-fdisk-0.1 136
MD5 1e4edeb8702972aefac52a5b367e9af7 files/digest-mac-fdisk-0.1-r2 137
MD5 30a3c81f6200c4ce07ef243b12a48ed4 files/mac-fdisk-ppc.patch 3383
MD5 70dc7bfd1ffda2901ffdf59b6ebacc58 files/mac-fdisk-ppc64-1.patch 14817
MD5 d5ac7220533aeb36ef5ba7128dd2e29d files/mac-fdisk-ppc64.patch 3412
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.6 (GNU/Linux)
-
-iD8DBQFBOs1jI1lqEGTUzyQRAokyAJ95tSIZrom7Z7dTbnshYjgdGJbRjACg0zXW
-MyyHq/IBAIyjYC5dNcwYVCo=
-=HyAA
------END PGP SIGNATURE-----
+MD5 0ea575013202e57b17c15883efd4bfea files/mac-fdisk-0.1-r3-ppc64.patch 16623
+MD5 0d93e85327577ef34c67c6b98380a4ed files/digest-mac-fdisk-0.1-r3 137
diff --git a/sys-fs/mac-fdisk/files/digest-mac-fdisk-0.1-r3 b/sys-fs/mac-fdisk/files/digest-mac-fdisk-0.1-r3
new file mode 100644
index 000000000000..e918fcc9ebcf
--- /dev/null
+++ b/sys-fs/mac-fdisk/files/digest-mac-fdisk-0.1-r3
@@ -0,0 +1,2 @@
+MD5 24476329fe86ef6ccf222e233e2a99f1 mac-fdisk_0.1.orig.tar.gz 55817
+MD5 1e056ff026ba7acf3ea05baa0c1d5216 mac-fdisk_0.1-11.diff.gz 19529
diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1-r3-ppc64.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1-r3-ppc64.patch
new file mode 100644
index 000000000000..150fc4620e33
--- /dev/null
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1-r3-ppc64.patch
@@ -0,0 +1,570 @@
+diff -uNr mac-fdisk-0.1.orig/bitfield.c mac-fdisk-0.1/bitfield.c
+--- mac-fdisk-0.1.orig/bitfield.c 1997-01-09 23:30:51.000000000 +0100
++++ mac-fdisk-0.1/bitfield.c 2004-08-31 13:56:41.768080104 +0200
+@@ -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)
+diff -uNr mac-fdisk-0.1.orig/bitfield.h mac-fdisk-0.1/bitfield.h
+--- mac-fdisk-0.1.orig/bitfield.h 1996-12-18 01:44:16.000000000 +0100
++++ mac-fdisk-0.1/bitfield.h 2004-08-31 13:56:41.768080104 +0200
+@@ -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);
+diff -uNr mac-fdisk-0.1.orig/dpme.h mac-fdisk-0.1/dpme.h
+--- mac-fdisk-0.1.orig/dpme.h 2004-08-31 14:40:23.002061952 +0200
++++ mac-fdisk-0.1/dpme.h 2004-08-31 13:56:41.768080104 +0200
+@@ -61,7 +61,7 @@
+ //
+ typedef unsigned char u8;
+ typedef unsigned short u16;
+-typedef unsigned long u32;
++typedef unsigned int u32;
+
+
+ // Physical block zero of the disk has this format
+@@ -113,10 +113,10 @@
+ #endif
+ u32 dpme_boot_block ;
+ u32 dpme_boot_bytes ;
+- u8 *dpme_load_addr ;
+- u8 *dpme_load_addr_2 ;
+- u8 *dpme_goto_addr ;
+- u8 *dpme_goto_addr_2 ;
++ u32 dpme_load_addr ;
++ u32 dpme_load_addr_2 ;
++ u32 dpme_goto_addr ;
++ u32 dpme_goto_addr_2 ;
+ u32 dpme_checksum ;
+ char dpme_process_id[16] ;
+ u32 dpme_boot_args[32] ;
+diff -uNr mac-fdisk-0.1.orig/dump.c mac-fdisk-0.1/dump.c
+--- mac-fdisk-0.1.orig/dump.c 2004-08-31 14:40:23.003061800 +0200
++++ mac-fdisk-0.1/dump.c 2004-08-31 13:56:41.769079952 +0200
+@@ -30,8 +30,8 @@
+ */
+
+ #include <stdio.h>
+-#ifndef __linux__
+ #include <stdlib.h>
++#ifndef __linux__
+ #include <unistd.h>
+ #endif
+ #include <string.h>
+@@ -63,16 +63,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 = "";
+@@ -164,10 +164,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)*/
+@@ -201,7 +201,6 @@
+ partition_map_header *map;
+ int j;
+ DPME *p;
+- BZB *bp;
+ char *s;
+ #ifdef __mc68000__
+ int aflag = 1;
+@@ -224,13 +223,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) {
+@@ -314,7 +313,6 @@
+ int i;
+ int fd;
+ DPME * data;
+- long t;
+
+ data = (DPME *) malloc(PBLOCK_SIZE);
+ if (data == NULL) {
+@@ -382,7 +380,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");
+@@ -426,7 +424,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',
+@@ -449,7 +447,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);
+@@ -466,7 +464,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;
+diff -uNr mac-fdisk-0.1.orig/errors.c mac-fdisk-0.1/errors.c
+--- mac-fdisk-0.1.orig/errors.c 1997-01-14 21:29:39.000000000 +0100
++++ mac-fdisk-0.1/errors.c 2004-08-31 13:56:41.769079952 +0200
+@@ -26,12 +26,11 @@
+ */
+
+ #include <stdio.h>
+-#ifndef __linux__
+ #include <stdlib.h>
+-#endif
+ #include <string.h>
+ #include <stdarg.h>
+
++#include <errno.h>
+ #include "errors.h"
+ #include "pdisk.h"
+
+@@ -115,8 +114,8 @@
+ va_end(ap);
+
+ #ifdef __linux__
+- if (value > 0 && value < sys_nerr) {
+- fprintf(stderr, " (%s)\n", sys_errlist[value]);
++ if (value > 0 && value < errno) {
++ fprintf(stderr, " (%s)\n", strerror(value));
+ } else {
+ fprintf(stderr, "\n");
+ }
+@@ -144,8 +143,8 @@
+ va_end(ap);
+
+ #ifdef __linux__
+- if (value > 0 && value < sys_nerr) {
+- fprintf(stderr, " (%s)\n", sys_errlist[value]);
++ if (value > 0 && value < errno) {
++ fprintf(stderr, " (%s)\n", strerror(value));
+ } else {
+ fprintf(stderr, "\n");
+ }
+diff -uNr mac-fdisk-0.1.orig/fdisk.c mac-fdisk-0.1/fdisk.c
+--- mac-fdisk-0.1.orig/fdisk.c 2004-08-31 14:40:23.007061192 +0200
++++ mac-fdisk-0.1/fdisk.c 2004-08-31 14:42:28.604138560 +0200
+@@ -58,24 +58,76 @@
+ *
+ */
+
+-
+ #include <unistd.h>
+ #include <stdio.h>
+-#include <stdlib.h>
++#include <stdlib.h>
+ #include <fcntl.h>
+ #include <ctype.h>
+ #include <setjmp.h>
+ #include <errno.h>
+ #include <endian.h>
+-
++#include <string.h>
+ #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' : \
+@@ -1415,7 +1467,7 @@
+ }
+ }
+
+-void main(int argc, char **argv)
++int main(int argc, char **argv)
+ {
+ if (argc > 3)
+ fatal(usage);
+diff -uNr mac-fdisk-0.1.orig/fdisklabel.c mac-fdisk-0.1/fdisklabel.c
+--- mac-fdisk-0.1.orig/fdisklabel.c 2004-08-31 14:40:23.008061040 +0200
++++ mac-fdisk-0.1/fdisklabel.c 2004-08-31 14:00:11.698117192 +0200
+@@ -35,6 +35,7 @@
+ SUCH DAMAGE.
+ */
+
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -42,10 +43,13 @@
+ #include <ctype.h>
+ #include <setjmp.h>
+ #include <errno.h>
++#include <string.h>
+
+ #include <sys/ioctl.h>
+ #include <sys/param.h>
+
++#include <asm/types.h>
++
+ #include "kernel-defs.h"
+
+ #include "fdisk.h"
+@@ -262,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");
+@@ -272,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])
+@@ -290,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");
+@@ -298,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
+@@ -307,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;
+
+@@ -322,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);
+diff -uNr mac-fdisk-0.1.orig/io.c mac-fdisk-0.1/io.c
+--- mac-fdisk-0.1.orig/io.c 2004-08-31 14:40:23.004061648 +0200
++++ mac-fdisk-0.1/io.c 2004-08-31 13:56:41.772079496 +0200
+@@ -26,15 +26,18 @@
+ */
+
+ #include <stdio.h>
+-#ifndef __linux__
+ #include <stdlib.h>
++#ifndef __linux__
+ #include <fcntl.h>
+ #include <SCSI.h>
+ #else
+ #ifdef __GLIBC__
++#include <fcntl.h>
+ #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 +469,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__
+diff -uNr mac-fdisk-0.1.orig/partition_map.c mac-fdisk-0.1/partition_map.c
+--- mac-fdisk-0.1.orig/partition_map.c 2004-08-31 14:40:23.005061496 +0200
++++ mac-fdisk-0.1/partition_map.c 2004-08-31 13:56:41.773079344 +0200
+@@ -26,12 +26,10 @@
+ */
+
+ #include <stdio.h>
+-#ifndef __linux__
+ #include <stdlib.h>
+ #include <unistd.h>
+-#endif
+ #include <errno.h>
+-
++#include <string.h>
+ #include <fcntl.h>
+ #ifdef __linux__
+ #include <sys/ioctl.h>
+@@ -106,7 +104,6 @@
+ int fd;
+ partition_map_header * map;
+ int writeable;
+- unsigned long length;
+ #ifdef __linux__
+ struct stat info;
+ #endif
+@@ -403,9 +400,7 @@
+ {
+ int fd;
+ partition_map_header * map;
+- unsigned long length;
+ DPME *data;
+- int ok;
+ unsigned long number;
+ #ifdef __linux__
+ struct stat info;
+@@ -434,13 +429,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__
+diff -uNr mac-fdisk-0.1.orig/pdisk.c mac-fdisk-0.1/pdisk.c
+--- mac-fdisk-0.1.orig/pdisk.c 2004-08-31 14:40:23.006061344 +0200
++++ mac-fdisk-0.1/pdisk.c 2004-08-31 13:56:41.774079192 +0200
+@@ -28,12 +28,14 @@
+ */
+
+ #include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
++#include <string.h>
++
+ #ifdef __linux__
+ #include <getopt.h>
+ #include <stddef.h>
+ #else
+-#include <stdlib.h>
+-#include <unistd.h>
+ #include <SIOUX.h>
+ #endif
+ #include <errno.h>
+@@ -436,7 +438,6 @@
+ {
+ long base;
+ long length;
+- long mult;
+ char *name;
+ char *type_name;
+
+@@ -598,7 +599,6 @@
+ void
+ do_reorder(partition_map_header *map)
+ {
+- partition_map * cur;
+ long old_index;
+ long index;
+
diff --git a/sys-fs/mac-fdisk/mac-fdisk-0.1-r3.ebuild b/sys-fs/mac-fdisk/mac-fdisk-0.1-r3.ebuild
new file mode 100644
index 000000000000..136fc9629531
--- /dev/null
+++ b/sys-fs/mac-fdisk/mac-fdisk-0.1-r3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2004 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-r3.ebuild,v 1.1 2004/11/03 15:58:06 corsair Exp $
+
+inherit eutils
+
+DEBRV=11
+DESCRIPTION="Mac/PowerMac disk partitioning utility"
+HOMEPAGE="ftp://ftp.mklinux.apple.com/pub/Other_Tools/"
+SRC_URI="http://http.us.debian.org/debian/pool/main/m/mac-fdisk/${PN}_${PV}.orig.tar.gz
+ http://http.us.debian.org/debian/pool/main/m/mac-fdisk/${PN}_${PV}-${DEBRV}.diff.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~ppc64"
+IUSE=""
+
+DEPEND="virtual/libc"
+
+src_unpack() {
+ unpack mac-fdisk_${PV}.orig.tar.gz
+ mv mac-fdisk-${PV}.orig ${P}
+ cd ${S}
+ cat ${DISTDIR}/mac-fdisk_${PV}-${DEBRV}.diff.gz | gzip -dc | patch -p1 || die
+
+ use ppc64 && epatch ${FILESDIR}/mac-fdisk-0.1-r3-ppc64.patch
+
+ cd ${WORKDIR}
+ chown -R 0:0 *
+ chmod -R a+r-w+X,u+w *
+}
+
+src_compile() {
+ emake || die
+}
+
+src_install() {
+ mv pdisk.8 pdisk.8.in
+ ln mac-fdisk.8.in mac-fdisk.8 || die
+ ln pmac-fdisk.8.in pmac-fdisk.8 || die
+ ln pdisk mac-fdisk || die
+ ln fdisk pmac-fdisk || die
+
+ into /
+ dosbin mac-fdisk pmac-fdisk || die
+
+ into /usr
+ doman mac-fdisk.8 pmac-fdisk.8
+ dodoc README HISTORY
+}