diff --git a/app-emulation/uade/patches/uade-2.13.patchset b/app-emulation/uade/patches/uade-2.13.patchset new file mode 100644 index 000000000..ffd8b762e --- /dev/null +++ b/app-emulation/uade/patches/uade-2.13.patchset @@ -0,0 +1,115 @@ +From 2b493536b50604fc0dda47518ee2997f1c5613f4 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Mon, 8 Jun 2015 05:18:18 +0200 +Subject: Haiku fixes. + + +diff --git a/src/Makefile.in b/src/Makefile.in +index d8b5de4..0018fcd 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -11,7 +11,7 @@ DEBUGFLAGS = {DEBUGFLAGS} + COMMONGCCOPTS = -Wall -Wno-unused -Wno-format -Wmissing-prototypes -Wstrict-prototypes -fno-exceptions -O2 + + TARGETCFLAGS = -fomit-frame-pointer $(COMMONGCCOPTS) $(DEBUGFLAGS) $(ARCHFLAGS) +-LIBRARIES = -lm $(AUDIOLIBS) $(ARCHLIBS) ++LIBRARIES = $(AUDIOLIBS) $(ARCHLIBS) + + # Native flags are used to build tools that generate new code that is then + # compiled with the target compiler. +diff --git a/src/frontends/common/support.h b/src/frontends/common/support.h +index 1b32fe9..3445b79 100644 +--- a/src/frontends/common/support.h ++++ b/src/frontends/common/support.h +@@ -7,8 +7,13 @@ + + #define uadeerror(fmt, args...) do { fprintf(stderr, "uade: " fmt, ## args); exit(1); } while (0) + ++#ifndef MAX + #define MAX(x, y) ((x) >= (y) ? (x) : (y)) ++#endif ++ ++#ifndef MIN + #define MIN(x, y) ((x) < (y) ? (x) : (y)) ++#endif + + + char *xbasename(const char *path); +diff --git a/src/frontends/uade123/Makefile.in b/src/frontends/uade123/Makefile.in +index e897d3c..818a4da 100644 +--- a/src/frontends/uade123/Makefile.in ++++ b/src/frontends/uade123/Makefile.in +@@ -3,7 +3,7 @@ UADE123NAME = {UADE123NAME} + + CC = {CC} + CFLAGS = -Wall -O2 -I../../include -I../common {AOFLAGS} {DEBUGFLAGS} {ARCHFLAGS} +-CLIBS = {AOLIBS} {ARCHLIBS} -lm ++CLIBS = {AOLIBS} {ARCHLIBS} + + all: uade123 + +-- +2.2.2 + + +From 25e43f6a5768f46ac655af6fee3ece0351376a1a Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Mon, 8 Jun 2015 05:18:30 +0200 +Subject: gcc2 workarounds + + +diff --git a/src/frontends/common/eagleplayer.c b/src/frontends/common/eagleplayer.c +index 7c8dfce..5fb6074 100644 +--- a/src/frontends/common/eagleplayer.c ++++ b/src/frontends/common/eagleplayer.c +@@ -36,7 +36,7 @@ + + #define MAX_SUFFIX_LENGTH 16 + +-#define eperror(fmt, args...) do { uadeerror("Eagleplayer.conf error on line %zd: " fmt, lineno, ## args); } while (0) ++#define eperror(fmt, args...) do { uadeerror("Eagleplayer.conf error: " fmt, ## args); } while (0) + + + /* Table for associating eagleplayer.conf, song.conf and uade.conf options +diff --git a/src/frontends/common/songdb.c b/src/frontends/common/songdb.c +index b7d7916..b0ed193 100644 +--- a/src/frontends/common/songdb.c ++++ b/src/frontends/common/songdb.c +@@ -22,7 +22,7 @@ + #define NORM_ID "n=" + #define NORM_ID_LENGTH 2 + +-#define eserror(fmt, args...) do { fprintf(stderr, "song.conf error on line %zd: " fmt "\n", lineno, ## args); exit(-1); } while (0) ++#define eserror(fmt, args...) do { fprintf(stderr, "song.conf error: " fmt "\n", ## args); exit(-1); } while (0) + + + struct eaglesong { +diff --git a/src/include/uadeutils.h b/src/include/uadeutils.h +index fcd2423..3806bc7 100644 +--- a/src/include/uadeutils.h ++++ b/src/include/uadeutils.h +@@ -4,7 +4,7 @@ + #include + + #define uade_error(fmt, args...) do { \ +- fprintf(stderr, "%s:%d: %s: " fmt, __FILE__, __LINE__, __func__, ## args); \ ++ fprintf(stderr, fmt, ## args); \ + abort(); \ + } while (0) + +diff --git a/src/include/unixsupport.h b/src/include/unixsupport.h +index dc7d545..1d4ae1d 100644 +--- a/src/include/unixsupport.h ++++ b/src/include/unixsupport.h +@@ -12,7 +12,7 @@ + + #define die(fmt, args...) do { fprintf(stderr, "uade: " fmt, ## args); exit(1); } while(0) + +-#define dieerror(fmt, args...) do { fprintf(stderr, "uade: " fmt ": %s\n", ## args, strerror(errno)); exit(1); } while(0) ++#define dieerror(fmt, args...) do { fprintf(stderr, "uade: " fmt , ## args); exit(1); } while(0) + + + char *uade_dirname(char *dst, char *src, size_t maxlen); +-- +2.2.2 + diff --git a/app-emulation/uade/uade-2.13.recipe b/app-emulation/uade/uade-2.13.recipe new file mode 100644 index 000000000..9d68d86c8 --- /dev/null +++ b/app-emulation/uade/uade-2.13.recipe @@ -0,0 +1,69 @@ +SUMMARY="Amiga music file player for UNIX" +DESCRIPTION="UADE plays old Amiga tunes through UAE emulation and cloned \ +m68k-assembler Eagleplayer API. + +UADE is Open Source compatible with Free Software definition. UADE is \ +licensed with GNU GPL. This software would not have been possible for us to \ +produce without the great Free Software model which allowed us to make use of \ +years of hard work of the UAE team. Most of the thanks goes to their \ +pioneering work to build the necessary infrastructure, especially Bernd \ +Schmidt, the initiator of UAE project. + +The player infrastructure of UADE is built on the ground work of Eagleplayer \ +and Delitracker projects. We want to mention few people from both projects. \ +Jan Blumenthal and Henryk Richter from the Eagleplayer project; Peter Kunath, \ +Frank Riffel and Florian Vorberger from Delitracker project; Those projects \ +formed an infrastructure on which many different people produced reusable \ +external players, thanks to them too. UADE makes these external players \ +reusable on certain UNIX and other platforms. + +UADE contains a free (as in freedom) implementation of Eagleplayer and \ +Delitracker API for UNIX variants such as GNU/Linux (Alpha, AMD64 (x86-64), \ +PA-RISC, PPC, Playstation2 and x86), Free/OpenBSD (x86), Solaris (sparc), \ +Digital Alpha UNIX, IRIX (mips), Mac OS X (ppc), and for other OS variants \ +such as AmigaOS/MorphOS. It is designed to be run as an XMMS, with \ +Cjukebox/Musicus, or a Audacious media player input plugin A built-in cmdline \ +interface also exists." +HOMEPAGE="http://zakalwe.fi/uade/" +REVISION="1" +LICENSE="GNU GPL v2" +COPYRIGHT="2002-2009 UADE Team" +ARCHITECTURES="x86_gcc2" + +SRC_URI="http://zakalwe.fi/uade/uade2/uade-2.13.tar.bz2" +CHECKSUM_SHA256="3b194e5aebbfa99d3708d5a0b5e6bd7dc5d1caaecf4ae9b52f8ff87e222dd612" +PATCHES="uade-2.13.patchset" + +PROVIDES=" + uade = $portVersion + cmd:mod2ogg2.sh + cmd:uade123 +" + +REQUIRES=" + haiku + lib:libao +" + +BUILD_REQUIRES=" + haiku_devel + devel:libao +" + +BUILD_PREREQUIRES=" + cmd:gcc + cmd:make + cmd:pkg_config + cmd:which +" + +BUILD() +{ + LDFLAGS="-lnetwork" runConfigure ./configure --sharedir=$dataDir --with-uade123 + make $jobArgs +} + +INSTALL() +{ + make install +}