aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskreuzer <skreuzer@FreeBSD.org>2013-07-10 22:42:21 +0800
committerskreuzer <skreuzer@FreeBSD.org>2013-07-10 22:42:21 +0800
commit15f8d17a1a4f991b5663a025a5892db3c8d8e56a (patch)
tree27fa50dbb44c121aac296bf6d842e62efff687af
parent47565f394dd60dee987b9be3bbcee5a4bae8c3d0 (diff)
downloadfreebsd-ports-gnome-15f8d17a1a4f991b5663a025a5892db3c8d8e56a.tar.gz
freebsd-ports-gnome-15f8d17a1a4f991b5663a025a5892db3c8d8e56a.tar.zst
freebsd-ports-gnome-15f8d17a1a4f991b5663a025a5892db3c8d8e56a.zip
uCON64 is the video game backup tool and emulator Swiss Army knife program.
It supports almost every system (Consoles, Handheld, and Arcade) with very verbose ROM information, ROM and SRAM convertion to various backup tool formats, IPS/APS/BSL/PPF patching, bad dump detection via RomCenter DAT files, and more. WWW: http://ucon64.sourceforge.net/ PR: ports/177042 Submitted by: Nicole Reid <nicole@cooltrainer.org>
-rw-r--r--emulators/Makefile1
-rw-r--r--emulators/ucon64/Makefile28
-rw-r--r--emulators/ucon64/distinfo2
-rw-r--r--emulators/ucon64/files/patch-Makefile.in11
-rw-r--r--emulators/ucon64/files/patch-backup-lynxit.c20
-rw-r--r--emulators/ucon64/files/patch-libdiscimage-misc_z.c10
-rw-r--r--emulators/ucon64/files/patch-libdiscimage-unzip.h13
-rw-r--r--emulators/ucon64/files/patch-misc-archive.c10
-rw-r--r--emulators/ucon64/files/patch-misc-unzip.h13
-rw-r--r--emulators/ucon64/files/patch-ucon64.c21
-rw-r--r--emulators/ucon64/files/patch-ucon64_misc.c11
-rw-r--r--emulators/ucon64/pkg-descr7
12 files changed, 147 insertions, 0 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index 83359c49539c..b32cb92d8818 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -156,6 +156,7 @@
SUBDIR += tpm-emulator
SUBDIR += tuxnes
SUBDIR += uae
+ SUBDIR += ucon64
SUBDIR += vMac
SUBDIR += vba
SUBDIR += vboxtool
diff --git a/emulators/ucon64/Makefile b/emulators/ucon64/Makefile
new file mode 100644
index 000000000000..7b41cb290803
--- /dev/null
+++ b/emulators/ucon64/Makefile
@@ -0,0 +1,28 @@
+# $FreeBSD$
+
+PORTNAME= ucon64
+PORTVERSION= 2.0.0
+CATEGORIES= emulators
+MASTER_SITES= SF/${PORTNAME:L}/${PORTNAME:L}/${PORTNAME:L}-${PORTVERSION}
+DISTNAME= ${PORTNAME}-${PORTVERSION}-src
+
+MAINTAINER= root@cooltrainer.org
+COMMENT= Multipurpose video game ROM image and backup utility
+
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+USE_LDCONFIG= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-src/src
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/ucon64.c
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/ucon64_misc.c
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/${PORTNAME}
+ ${INSTALL_PROGRAM} ${WRKSRC}/libdiscmage/discmage.so ${PREFIX}/lib/libdiscmage.so
+
+PLIST_FILES= bin/ucon64 \
+ lib/libdiscmage.so
+
+.include <bsd.port.mk>
diff --git a/emulators/ucon64/distinfo b/emulators/ucon64/distinfo
new file mode 100644
index 000000000000..9b8497001056
--- /dev/null
+++ b/emulators/ucon64/distinfo
@@ -0,0 +1,2 @@
+SHA256 (ucon64-2.0.0-src.tar.gz) = 62064324a1912387f84ac9d4c521c5d5e7b80f2567e9f61bf0ab3e1d976c0127
+SIZE (ucon64-2.0.0-src.tar.gz) = 1188488
diff --git a/emulators/ucon64/files/patch-Makefile.in b/emulators/ucon64/files/patch-Makefile.in
new file mode 100644
index 000000000000..724b968cfcdb
--- /dev/null
+++ b/emulators/ucon64/files/patch-Makefile.in
@@ -0,0 +1,11 @@
+--- Makefile.in.orig 2013-02-24 19:04:22.959942880 -0800
++++ Makefile.in 2013-02-24 19:04:55.927943650 -0800
+@@ -68,7 +68,7 @@
+ ifneq ($(OSTYPE),beos)
+ ifeq ($(findstring freebsd,$(OSTYPE)),) # false if OSTYPE contains "freebsd"
+ ifeq ($(findstring openbsd,$(OSTYPE)),) # false if OSTYPE contains "openbsd"
+-LDFLAGS+=-ldl
++#LDFLAGS+=-ldl
+ endif
+ endif
+ endif
diff --git a/emulators/ucon64/files/patch-backup-lynxit.c b/emulators/ucon64/files/patch-backup-lynxit.c
new file mode 100644
index 000000000000..e436023df313
--- /dev/null
+++ b/emulators/ucon64/files/patch-backup-lynxit.c
@@ -0,0 +1,20 @@
+--- backup/lynxit.c.orig 2013-02-24 18:40:11.525942823 -0800
++++ backup/lynxit.c 2013-02-24 18:46:25.101942911 -0800
+@@ -561,7 +561,7 @@
+ return FALSE;
+ }
+
+- if (strcmp (header.magic, "LYNX") != 0)
++ if (memcmp (header.magic, "LYNX", sizeof(header.magic)) != 0)
+ {
+ MESSAGE (("ERROR : %s is not a lynx image\n", filename));
+ fclose (fp);
+@@ -682,7 +682,7 @@
+ #endif
+
+ memset (&header, 0, sizeof (st_lnx_header_t));
+- strcpy (header.magic, MAGIC_STRING);
++ memcpy (header.magic, MAGIC_STRING, sizeof(header.magic));
+ strcpy (header.cartname, cartname);
+ strcpy (header.manufname, manufname);
+ header.page_size_bank0 = cart_analyse (BANK0);
diff --git a/emulators/ucon64/files/patch-libdiscimage-misc_z.c b/emulators/ucon64/files/patch-libdiscimage-misc_z.c
new file mode 100644
index 000000000000..b7e80e85ac12
--- /dev/null
+++ b/emulators/ucon64/files/patch-libdiscimage-misc_z.c
@@ -0,0 +1,10 @@
+--- libdiscmage/misc_z.c.orig 2013-02-24 18:50:29.788944291 -0800
++++ libdiscmage/misc_z.c 2013-02-24 18:51:00.403942771 -0800
+@@ -27,6 +27,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <sys/stat.h>
++#define Z_SOLO
+ #include <zlib.h>
+ #include "misc_z.h"
+ #include "misc.h"
diff --git a/emulators/ucon64/files/patch-libdiscimage-unzip.h b/emulators/ucon64/files/patch-libdiscimage-unzip.h
new file mode 100644
index 000000000000..81d26859cd89
--- /dev/null
+++ b/emulators/ucon64/files/patch-libdiscimage-unzip.h
@@ -0,0 +1,13 @@
+--- libdiscmage/unzip.h.orig 2013-02-24 18:48:58.073946338 -0800
++++ libdiscmage/unzip.h 2013-02-24 18:50:15.451943149 -0800
+@@ -49,6 +49,10 @@
+ #include "zlib.h"
+ #endif
+
++#ifndef OF
++#define OF(x) x
++#endif
++
+ #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
+ /* like the STRICT of WIN32, we define a pointer that cannot be converted
+ from (void*) without cast */
diff --git a/emulators/ucon64/files/patch-misc-archive.c b/emulators/ucon64/files/patch-misc-archive.c
new file mode 100644
index 000000000000..a9c5776aae9d
--- /dev/null
+++ b/emulators/ucon64/files/patch-misc-archive.c
@@ -0,0 +1,10 @@
+--- misc/archive.c.orig 2013-02-24 18:51:23.157943222 -0800
++++ misc/archive.c 2013-02-24 18:55:00.666943043 -0800
+@@ -27,6 +27,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <sys/stat.h>
++#define Z_SOLO
+ #include <zlib.h>
+ #ifdef HAVE_BYTESWAP_H
+ #include <byteswap.h>
diff --git a/emulators/ucon64/files/patch-misc-unzip.h b/emulators/ucon64/files/patch-misc-unzip.h
new file mode 100644
index 000000000000..cc99ae29d53e
--- /dev/null
+++ b/emulators/ucon64/files/patch-misc-unzip.h
@@ -0,0 +1,13 @@
+--- misc/unzip.h.orig 2013-02-24 18:47:37.112077049 -0800
++++ misc/unzip.h 2013-02-24 18:48:46.040942781 -0800
+@@ -49,6 +49,10 @@
+ #include "zlib.h"
+ #endif
+
++#ifndef OF
++#define OF(x) x
++#endif
++
+ #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
+ /* like the STRICT of WIN32, we define a pointer that cannot be converted
+ from (void*) without cast */
diff --git a/emulators/ucon64/files/patch-ucon64.c b/emulators/ucon64/files/patch-ucon64.c
new file mode 100644
index 000000000000..12b0fa6c12a9
--- /dev/null
+++ b/emulators/ucon64/files/patch-ucon64.c
@@ -0,0 +1,21 @@
+--- ucon64.c.orig 2005-01-06 15:43:44.000000000 -0800
++++ ucon64.c 2013-02-24 23:25:47.094966291 -0800
+@@ -1394,17 +1394,7 @@
+ #ifdef DLOPEN
+ ucon64.discmage_path;
+ #else
+-#if defined __MSDOS__
+- "discmage.dxe";
+-#elif defined __CYGWIN__ || defined _WIN32
+- "discmage.dll";
+-#elif defined __APPLE__ // Mac OS X actually
+- "libdiscmage.dylib";
+-#elif defined __unix__ || defined __BEOS__
+- "libdiscmage.so";
+-#else
+- "unknown";
+-#endif
++ "%%PREFIX%%/lib/libdiscmage.so";
+ #endif
+
+ if (!ucon64.discmage_enabled)
diff --git a/emulators/ucon64/files/patch-ucon64_misc.c b/emulators/ucon64/files/patch-ucon64_misc.c
new file mode 100644
index 000000000000..32b4418ea19c
--- /dev/null
+++ b/emulators/ucon64/files/patch-ucon64_misc.c
@@ -0,0 +1,11 @@
+--- ucon64_misc.c.orig 2013-02-24 22:48:15.577943937 -0800
++++ ucon64_misc.c 2013-02-24 22:51:28.521008805 -0800
+@@ -1698,7 +1698,7 @@
+ #elif defined __APPLE__ // Mac OS X actually
+ "~/.ucon64/discmage.dylib",
+ #elif defined __unix__ || defined __BEOS__
+- "~/.ucon64/discmage.so",
++ "%%PREFIX%%/lib/libdiscmage.so",
+ #else
+ "",
+ #endif
diff --git a/emulators/ucon64/pkg-descr b/emulators/ucon64/pkg-descr
new file mode 100644
index 000000000000..fef216467b58
--- /dev/null
+++ b/emulators/ucon64/pkg-descr
@@ -0,0 +1,7 @@
+uCON64 is the video game backup tool and emulator Swiss Army knife program.
+It supports almost every system (Consoles, Handheld, and Arcade) with very
+verbose ROM information, ROM and SRAM convertion to various backup tool
+formats, IPS/APS/BSL/PPF patching, bad dump detection via RomCenter DAT files,
+and more.
+
+WWW: http://ucon64.sourceforge.net/