summaryrefslogtreecommitdiff
path: root/media-sound/sexypsf
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/sexypsf')
-rw-r--r--media-sound/sexypsf/Manifest8
-rw-r--r--media-sound/sexypsf/files/sexypsf-0.4.7-misc.patch297
-rw-r--r--media-sound/sexypsf/metadata.xml8
-rw-r--r--media-sound/sexypsf/sexypsf-0.4.7.ebuild43
-rw-r--r--media-sound/sexypsf/sexypsf-0.4.8.ebuild29
5 files changed, 385 insertions, 0 deletions
diff --git a/media-sound/sexypsf/Manifest b/media-sound/sexypsf/Manifest
new file mode 100644
index 000000000000..b5087ed28c95
--- /dev/null
+++ b/media-sound/sexypsf/Manifest
@@ -0,0 +1,8 @@
+AUX sexypsf-0.4.7-misc.patch 7770 SHA256 c06b86ff01762168d375d20e00b3bda2a88879abd1adfb37faae82e21cdf2c39 SHA512 7568573f143195faaad0aef8224d538c6628653c9bbfa43b1cf18195ac5fc675514200709419030f02a365279cabd81e5239faf3e12d1adcabe4b150549d6c47 WHIRLPOOL ced2bfc73e31efe5fcc4b12d6cb439608fbafc928ce511c411ae2ea316e3ff6aebbeb1bcc613ca61c445e6eb8d9e61fb48d804f4e71510452ed34ab7b2a05230
+DIST sexypsf-0.4.7.tar.bz2 83001 SHA256 6a6b4abb8b1cb919eb2d4cd23ae72cc2ec1360590831c131e58fcf99fe2b31aa SHA512 5b4fe7662769e668e15bea0db8785c5355a803dfe39f86eeba6dfce5df573f342525e10bc5317e1cd2b1ef70730ee4cf766c9d02cc9f404b0e39defbb30c364c WHIRLPOOL c10fe48d55cc17e6aafec63242b51e76a6345556e89d6547e6b7fe1551ac317550db40ad950e522cf7f457f0b3e7bbc925a2e503a9d8c80491677a6d9cefc25c
+DIST sexypsf-0.4.8.tar.bz2 82954 SHA256 72418cfbefd91018c60f9935e6ee07649fcba9a18e2c03082b41353fcab003a0 SHA512 bb95cdb40cf7172fdf815d6a2083adc4f684973534625d76c4fdb04752888acecfdd5ba329f9e2eed64311f30eb4400c8913ace13e4fa371c89c774905dc35d0 WHIRLPOOL da830f9d38c04aa26926125cfb4ab2991e45f40bce58193d38ac60f6402d695733e0d9347d90cddd550a11a5cf31d0a0cafc2f7c6df08aafd8a410299857c31c
+EBUILD sexypsf-0.4.7.ebuild 1021 SHA256 e8badfe308703fd3b91ef20af9357ff577ce57e867cd4e88778fd23fcfeebcc2 SHA512 e296e6e79025147f13bed66a271230e04e5fcc24fa19c6456aebfe54543bd89b4ddbb3714aee8bce0780c252013b93adc123525f811dab4bdeb5e37c25dfd2f5 WHIRLPOOL e8c0c89e3deeffc522c0b5bafbe01cef52f4bb4ebd39575984c68d20e7ec7f66d032c4f343700d0905def1b224f135ec2a225c56fc7a87a7b6f76d522e493331
+EBUILD sexypsf-0.4.8.ebuild 523 SHA256 dfccca56106b8102caa1050a903a02b18f3f5a6a2e2537641ff7483ff2ad934f SHA512 0deb8a5d513a7217d729b16259140f2f0ff248f05c3b32eef6a4b407359e827a00e9dc2d57498ddbdbfa8aacb755748363fc95af2daf23fa9ea115395cb8a3ac WHIRLPOOL 455523ec2be762825d7e93cc7e794839fe0aa22af9dfca9156c01d7a37799738db5a6d23bdbc63a8b7e99be08d61679a9d0036cef175649e954f9d174c83d53c
+MISC ChangeLog 2622 SHA256 a0c963240d21a39a7e6e771e290b359aafea99ad8a5c384271e165148e3f1189 SHA512 9510838ce647eb63b6e635189764511453b96732b76b8ac8514f059ab39966da655ae89d76f41e3c9508a1bda8687973e4316fae3c8969e5067c20f68c97ab32 WHIRLPOOL 6a575e622500bc4bc233be0540a288c133cca5a35c22063f087ee6d7b194f0a627b7385d88333be672a5d34fe6441ae25cc468640474aace38bafa79c0830694
+MISC ChangeLog-2015 3281 SHA256 47d57a81578160624ac540ab4bd15286b80b852482e824ea090d60c4bbb30ab5 SHA512 1d3451c5d4b765c9a73af4e882d727225df76d6a05e5b45b086622f31425257ba8854fdf93b5f4359f63f22fadfb958d56e1e93851c2075fd73afaa9ab7520e6 WHIRLPOOL 6c25189d4af2efee86831517f5f642a7fad74c39d1ac8c8132c72752c9caadbfdc058f6cce8f68d13b137aeaed41092398e10c2d1979e847f21312406856c1d5
+MISC metadata.xml 249 SHA256 a591aa91a9c413e7f7e24fd25b924ce2dfef686da8b4ce38bebb088ebfdba9db SHA512 9a100fb26586365eda99724330a03a512f4d0be18d39c3a195ba02c2fc841edeee99d22512acf5a058a3b978d3a74f4d963a5aff9aa343b6cb4086cdfefe6343 WHIRLPOOL ae5b0c583f3a07ed1ccf651b5b9c8d6c8c637fba2d505fc4b028ea60239fc0a84e37a169b5114f879712ae74f7f41960a2cc6b59e67cacc7f964b105b5fb8723
diff --git a/media-sound/sexypsf/files/sexypsf-0.4.7-misc.patch b/media-sound/sexypsf/files/sexypsf-0.4.7-misc.patch
new file mode 100644
index 000000000000..bd1c21ce503b
--- /dev/null
+++ b/media-sound/sexypsf/files/sexypsf-0.4.7-misc.patch
@@ -0,0 +1,297 @@
+--- sexypsf/driver.h
++++ sexypsf/driver.h
+@@ -23,4 +23,4 @@
+ PSFINFO *sexy_getpsfinfo(char *path);
+ void sexy_freepsfinfo(PSFINFO *info);
+
+-void sexyd_update(char*,long);
++void sexyd_update(unsigned char*,long);
+--- sexypsf/Linux/LnxMain.c
++++ sexypsf/Linux/LnxMain.c
+@@ -26,6 +26,7 @@
+ #include <time.h>
+
+ #include "driver.h"
++#include "oss.h"
+ #include "Linux.h"
+
+ int main(int argc, char *argv[]) {
+--- sexypsf/Linux/Makefile
++++ sexypsf/Linux/Makefile
+@@ -4,12 +4,10 @@
+
+ all: sexypsf
+
+-CC = gcc
+ RM = rm -f
+ STRIP = strip
+
+-OPTIMIZE = -O2 -fomit-frame-pointer -finline-functions -ffast-math
+-FLAGS = -g -D__LINUX__ -DPSS_STYLE=1
++FLAGS = -D__LINUX__ -DPSS_STYLE=1
+ #-DTIMEO
+ LIBS = -lz
+
+@@ -20,11 +18,11 @@
+
+ OBJS+= LnxMain.o
+
+-CFLAGS = -Wall -Winline ${OPTIMIZE} -I. -I.. ${FLAGS}
++CFLAGS += -Wall -Winline -Wno-nonnull -I. -I.. ${FLAGS}
+ #CFLAGS+= $(shell pkg-config gtk+-2.0 --cflags)
+
+ sexypsf: ${OBJS}
+- ${CC} ${CFLAGS} ${OBJS} -o sexypsf ${LIBS}
++ ${CC} ${LDFLAGS} ${CFLAGS} ${OBJS} -o sexypsf ${LIBS}
+
+ .PHONY: clean sexypsf
+
+--- sexypsf/Linux/oss.c
++++ sexypsf/Linux/oss.c
+@@ -54,6 +54,9 @@
+
+ #define OSS_MEM_DEF
+ #include "oss.h"
++
++#include "driver.h"
++
+ static int oss_audio_fd = -1;
+ extern int errno;
+
+@@ -66,8 +69,6 @@
+ int pspeed=44100;
+ int pstereo;
+ int format;
+- int fragsize = 0;
+- int myfrag;
+ int oss_speed, oss_stereo;
+
+ pstereo=OSS_MODE_STEREO;
+--- sexypsf/Linux/oss.h
++++ sexypsf/Linux/oss.h
+@@ -32,4 +32,6 @@
+
+ #define OSS_SPEED_44100 44100
+
++void SetupSound(void);
++
+ #endif // _OSS_SOUND_H
+--- sexypsf/Makefile
++++ sexypsf/Makefile
+@@ -12,18 +12,13 @@
+ RM = rm -f
+
+ LIBS = -shared -lz
+-OPTIMIZE = -O2 -finline-functions -ffast-math
+-FLAGS = -DPSS_STYLE=1 -DSPSFVERSION="\"${VERSION}\""
++FLAGS = -DPSS_STYLE=1 -DSPSFVERSION="\"${VERSION}\"" -fPIC
+
+ OBJS = PsxBios.o PsxCounters.o PsxDma.o Spu.o PsxHw.o PsxMem.o Misc.o \
+ R3000A.o PsxInterpreter.o PsxHLE.o spu/spu.o
+
+ OBJS+= xmms/xmms.o
+-FLAGS+= `gtk-config --cflags`
++FLAGS+= `xmms-config --cflags`
+-
+-ifeq (${CPU}, ix86)
+- OPTIMIZE += -fomit-frame-pointer -mcpu=i686 -fno-exceptions
+-endif
+
+ ifeq (${CPU}, ppc)
+ FLAGS+=-DMSB_FIRST
+@@ -33,10 +28,10 @@
+ FLAGS+=-DMSB_FIRST
+ endif
+
+-CFLAGS = -Wall ${OPTIMIZE} -I. ${FLAGS}
++CFLAGS += -Wall -Wno-nonnull -I. ${FLAGS}
+
+ sexypsf: ${OBJS}
+- ${CC} ${CFLAGS} ${OBJS} -o libsexypsf.so ${LIBS}
++ ${CC} ${LDFLAGS} ${OBJS} -o libsexypsf.so ${LIBS}
+
+ install: sexypsf
+ mv libsexypsf.so ${HOME}/.xmms/Plugins
+--- sexypsf/Misc.c
++++ sexypsf/Misc.c
+@@ -226,7 +226,7 @@
+ {
+ FILE *fp;
+ EXE_HEADER tmpHead;
+- char *in,*out=0;
++ unsigned char *in,*out=0;
+ u8 head[4];
+ u32 reserved;
+ u32 complen;
+--- sexypsf/PsxInterpreter.c
++++ sexypsf/PsxInterpreter.c
+@@ -417,7 +417,7 @@
+ * Load higher 16 bits of the first word in GPR with imm *
+ * Format: OP rt, immediate *
+ *********************************************************/
+-static void psxLUI() { if (!_Rt_) return; _u32(_rRt_) = psxRegs.code << 16; } // Upper halfword of Rt = Im
++static void psxLUI() { if (!_Rt_) return; _rRt_ = psxRegs.code << 16; } // Upper halfword of Rt = Im
+
+ /*********************************************************
+ * Move from HI/LO to GPR *
+@@ -491,7 +491,7 @@
+
+ static void psxLBU() {
+ if (_Rt_) {
+- _u32(_rRt_) = psxMemRead8(_oB_);
++ _rRt_ = psxMemRead8(_oB_);
+ } else {
+ psxMemRead8(_oB_);
+ }
+@@ -507,7 +507,7 @@
+
+ static void psxLHU() {
+ if (_Rt_) {
+- _u32(_rRt_) = psxMemRead16(_oB_);
++ _rRt_ = psxMemRead16(_oB_);
+ } else {
+ psxMemRead16(_oB_);
+ }
+@@ -515,7 +515,7 @@
+
+ static void psxLW() {
+ if (_Rt_) {
+- _u32(_rRt_) = psxMemRead32(_oB_);
++ _rRt_ = psxMemRead32(_oB_);
+ } else {
+ psxMemRead32(_oB_);
+ }
+@@ -530,7 +530,7 @@
+ u32 mem = psxMemRead32(addr & ~3);
+
+ if (!_Rt_) return;
+- _u32(_rRt_) = ( _u32(_rRt_) & LWL_MASK[shift]) |
++ _rRt_ = ( _u32(_rRt_) & LWL_MASK[shift]) |
+ ( mem << LWL_SHIFT[shift]);
+
+ /*
+@@ -552,7 +552,7 @@
+ u32 mem = psxMemRead32(addr & ~3);
+
+ if (!_Rt_) return;
+- _u32(_rRt_) = ( _u32(_rRt_) & LWR_MASK[shift]) |
++ _rRt_ = ( _u32(_rRt_) & LWR_MASK[shift]) |
+ ( mem >> LWR_SHIFT[shift]);
+
+ /*
+--- sexypsf/PsxMem.c
++++ sexypsf/PsxMem.c
+@@ -21,7 +21,7 @@
+
+ #include "PsxCommon.h"
+
+-void LoadPSXMem(u32 address, s32 length, char *data)
++void LoadPSXMem(u32 address, s32 length, unsigned char *data)
+ {
+ //printf("%08x %08x\n",address,length);
+ while(length>0)
+@@ -56,8 +56,8 @@
+
+ writeok=1;
+
+- psxMemLUT = (u32*)malloc(0x10000 * 4);
++ psxMemLUT = malloc(0x10000 * sizeof *psxMemLUT);
+- memset(psxMemLUT, 0, 0x10000 * 4);
++ memset(psxMemLUT, 0, 0x10000 * sizeof *psxMemLUT);
+
+ psxM = (char*)malloc(0x00200000);
+ psxP = (char*)malloc(0x00010000);
+@@ -67,16 +67,16 @@
+ printf("Error allocating memory"); return -1;
+ }
+
+- for (i=0; i<0x80; i++) psxMemLUT[i + 0x0000] = (u32)&psxM[(i & 0x1f) << 16];
++ for (i=0; i<0x80; i++) psxMemLUT[i + 0x0000] = &psxM[(i & 0x1f) << 16];
+
+- memcpy(psxMemLUT + 0x8000, psxMemLUT, 0x80 * 4);
++ memcpy(psxMemLUT + 0x8000, psxMemLUT, 0x80 * sizeof *psxMemLUT);
+- memcpy(psxMemLUT + 0xa000, psxMemLUT, 0x80 * 4);
++ memcpy(psxMemLUT + 0xa000, psxMemLUT, 0x80 * sizeof *psxMemLUT);
+
+- for (i=0; i<0x01; i++) psxMemLUT[i + 0x1f00] = (u32)&psxP[i << 16];
++ for (i=0; i<0x01; i++) psxMemLUT[i + 0x1f00] = &psxP[i << 16];
+
+- for (i=0; i<0x01; i++) psxMemLUT[i + 0x1f80] = (u32)&psxH[i << 16];
++ for (i=0; i<0x01; i++) psxMemLUT[i + 0x1f80] = &psxH[i << 16];
+
+- for (i=0; i<0x08; i++) psxMemLUT[i + 0xbfc0] = (u32)&psxR[i << 16];
++ for (i=0; i<0x08; i++) psxMemLUT[i + 0xbfc0] = &psxR[i << 16];
+
+ return 0;
+ }
+@@ -215,16 +215,16 @@
+ case 0x800: case 0x804:
+ if (writeok == 0) break;
+ writeok = 0;
+- memset(psxMemLUT + 0x0000, 0, 0x80 * 4);
++ memset(psxMemLUT + 0x0000, 0, 0x80 * sizeof *psxMemLUT);
+- memset(psxMemLUT + 0x8000, 0, 0x80 * 4);
++ memset(psxMemLUT + 0x8000, 0, 0x80 * sizeof *psxMemLUT);
+- memset(psxMemLUT + 0xa000, 0, 0x80 * 4);
++ memset(psxMemLUT + 0xa000, 0, 0x80 * sizeof *psxMemLUT);
+ break;
+ case 0x1e988:
+ if (writeok == 1) break;
+ writeok = 1;
+- for (i=0; i<0x80; i++) psxMemLUT[i + 0x0000] = (u32)&psxM[(i & 0x1f) << 16];
++ for (i=0; i<0x80; i++) psxMemLUT[i + 0x0000] = &psxM[(i & 0x1f) << 16];
+- memcpy(psxMemLUT + 0x8000, psxMemLUT, 0x80 * 4);
++ memcpy(psxMemLUT + 0x8000, psxMemLUT, 0x80 * sizeof *psxMemLUT);
+- memcpy(psxMemLUT + 0xa000, psxMemLUT, 0x80 * 4);
++ memcpy(psxMemLUT + 0xa000, psxMemLUT, 0x80 * sizeof *psxMemLUT);
+ break;
+ default:
+ break;
+--- sexypsf/PsxMem.h
++++ sexypsf/PsxMem.h
+@@ -41,21 +41,21 @@
+ }
+ #endif
+
+-s8 *psxM;
++char *psxM;
+ #define psxMu32(mem) (*(u32*)&psxM[(mem) & 0x1fffff])
+
+-s8 *psxP;
++char *psxP;
+-s8 *psxR;
++char *psxR;
+ #define psxRu32(mem) (*(u32*)&psxR[(mem) & 0x7ffff])
+
+-s8 *psxH;
++char *psxH;
+
+ #define psxHu8(mem) (*(u8*) &psxH[(mem) & 0xffff])
+
+ #define psxHu16(mem) (*(u16*)&psxH[(mem) & 0xffff])
+ #define psxHu32(mem) (*(u32*)&psxH[(mem) & 0xffff])
+
+-u32 *psxMemLUT;
++char **psxMemLUT;
+
+ #define PSXM(mem) (psxMemLUT[(mem) >> 16] == 0 ? NULL : (void*)(psxMemLUT[(mem) >> 16] + ((mem) & 0xffff)))
+
+@@ -76,6 +76,6 @@
+ void psxMemWrite16(u32 mem, u16 value);
+ void psxMemWrite32(u32 mem, u32 value);
+
+-void LoadPSXMem(u32 address, s32 length, char *data);
++void LoadPSXMem(u32 address, s32 length, unsigned char *data);
+
+ #endif /* __PSXMEMORY_H__ */
+--- sexypsf/xmms/xmms.c
++++ sexypsf/xmms/xmms.c
+@@ -101,7 +101,7 @@
+ }
+
+ static pthread_t dethread;
+-void sexyd_update(char *Buffer, long count)
++void sexyd_update(unsigned char *Buffer, long count)
+ {
+ int mask = ~((((16 / 8) * 2)) - 1);
+ if(count)
diff --git a/media-sound/sexypsf/metadata.xml b/media-sound/sexypsf/metadata.xml
new file mode 100644
index 000000000000..c870d0eef0ab
--- /dev/null
+++ b/media-sound/sexypsf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/media-sound/sexypsf/sexypsf-0.4.7.ebuild b/media-sound/sexypsf/sexypsf-0.4.7.ebuild
new file mode 100644
index 000000000000..9be3043804fc
--- /dev/null
+++ b/media-sound/sexypsf/sexypsf-0.4.7.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="sexyPSF is an open-source PSF1 (Playstation music) file player"
+HOMEPAGE="http://projects.raphnet.net/#sexypsf"
+SRC_URI="http://projects.raphnet.net/sexypsf/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+#-sparc: 0.4.5: Couldn't load minispf
+KEYWORDS="amd64 ppc -sparc x86"
+IUSE=""
+
+DEPEND="sys-libs/zlib"
+
+S=${WORKDIR}/${PN}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-misc.patch
+
+ # ppc and sparc are big-endian while all other keywords are
+ # little-endian (as far as I know)
+ use ppc64 || use ppc || use sparc &&
+ sed -i -e "s:-D__LINUX__:& -DMSB_FIRST:" "${S}"/Linux/Makefile
+ # what about using the correct macro and avoid to cause severe damages to
+ # innocent ears?
+ sed -i -e "s:AFMT_S16_LE:AFMT_S16_NE:" "${S}"/Linux/oss.c
+}
+
+src_compile() {
+ cd "${S}"/Linux
+ emake || die "emake failed"
+}
+
+src_install() {
+ dobin Linux/sexypsf
+ dodoc Docs/*
+}
diff --git a/media-sound/sexypsf/sexypsf-0.4.8.ebuild b/media-sound/sexypsf/sexypsf-0.4.8.ebuild
new file mode 100644
index 000000000000..4e6f81968a1e
--- /dev/null
+++ b/media-sound/sexypsf/sexypsf-0.4.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="sexyPSF is an open-source PSF1 (Playstation music) file player"
+HOMEPAGE="http://projects.raphnet.net/#sexypsf"
+SRC_URI="http://projects.raphnet.net/sexypsf/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="sys-libs/zlib"
+
+src_compile() {
+ tc-export CC
+ cd "${S}"/Linux
+ emake
+}
+
+src_install() {
+ dobin Linux/sexypsf
+ dodoc Docs/*
+}