1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-22 00:35:15 +00:00

Remove expired port:

2011-10-01 audio/orpheus: Contains problem with autotools, security CVE-2005-3863. Use audio/cmus instead
This commit is contained in:
Rene Ladan 2011-10-01 09:49:17 +00:00
parent 13946ca2db
commit 38bb68004e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=282729
15 changed files with 1 additions and 617 deletions

1
MOVED
View File

@ -2717,3 +2717,4 @@ www/zope-i18nlayer||2011-09-30|Depends on www/plone, which is FORBIDDEN
www/zope-plonelanguagetool||2011-09-30|Depends on www/plone, which is FORBIDDEN
www/zope-simpleblog||2011-09-30|Depends on www/plone, which is FORBIDDEN
dns/nsd2||2011-09-30|EOL since 2007, unsupported. Use dns/nsd instead.
audio/orpheus|audio/cmus|2011-10-01|Has expired: Contains problem with autotools, security CVE-2005-3863. Use audio/cmus instead

View File

@ -527,7 +527,6 @@
SUBDIR += opencore-amr
SUBDIR += openspc
SUBDIR += optimfrog
SUBDIR += orpheus
SUBDIR += osalp
SUBDIR += osdmixer
SUBDIR += oss

View File

@ -1,81 +0,0 @@
# New ports collection Makefile for: orpheus
# Date created: 9 December 2004
# Whom: Andrej Zverev
#
# $FreeBSD$
#
PORTNAME= orpheus
PORTVERSION= 1.5
PORTREVISION= 9
CATEGORIES= audio
MASTER_SITES= http://thekonst.net/download/
MAINTAINER= ports@FreeBSD.org
COMMENT= Light-weight console UI audio player application
RUN_DEPENDS= mpg321:${PORTSDIR}/audio/mpg321
DEPRECATED= Contains problem with autotools, security CVE-2005-3863. Use audio/cmus instead
EXPIRATION_DATE=2011-10-01
USE_BZIP2= yes
HAS_CONFIGURE= yes
USE_GMAKE= yes
USE_AUTOTOOLS= autoconf
LDFLAGS+= -L${LOCALBASE}/lib
OPTIONS= NLS "Native language support" on \
CDDB "CDDB audio CD' auto fetch track info support" on \
VORBIS "Vorbis playing and tags edit support" off
MAN1= orpheus.1
.include <bsd.port.pre.mk>
.if defined(WITH_CDDB)
LIB_DEPENDS+= ghttp:${PORTSDIR}/www/libghttp
CONFIGURE_ARGS+= --enable-ghttp
.endif
.if defined(WITH_VORBIS)
RUN_DEPENDS+= ogg123:${PORTSDIR}/audio/vorbis-tools
LIB_DEPENDS+= vorbis:${PORTSDIR}/audio/libvorbis
LIB_DEPENDS+= vorbisfile:${PORTSDIR}/audio/libvorbis
CONFIGURE_ARGS+= --enable-vorbis
CONFIGURE_ARGS+= --enable-vorbisfile
.endif
.if !defined(WITHOUT_NLS)
USE_GETTEXT= yes
PLIST_SUB+= NLS=""
.else
CONFIGURE_ARGS+= --disable-nls
PLIST_SUB+= NLS="@comment "
.endif
.if !defined(NOPORTDOCS)
PORTDOCS= FAQ README ChangeLog
.endif
pre-configure:
@cd ${WRKSRC}; ${AUTOCONF}
@cd ${WRKSRC}/kkconsui-0.1; ${AUTOCONF}
@cd ${WRKSRC}/kkstrtext-0.1; ${AUTOCONF}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/src/orpheus ${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/orpheus.1 ${MAN1PREFIX}/man/man1
post-install:
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${DOCSDIR}
.endif
.if !defined(WITHOUT_NLS)
${MKDIR} ${PREFIX}/share/locale/ru/LC_MESSAGES
@${INSTALL_DATA} ${WRKSRC}/po/ru.gmo ${PREFIX}/share/locale/ru/LC_MESSAGES/orpheus.mo
.endif
.include <bsd.port.post.mk>

View File

@ -1,2 +0,0 @@
SHA256 (orpheus-1.5.tar.bz2) = 45145ea27333be1552624065297b4d9d76feadf2a4a89fdf0ddafc830ced3a98
SIZE (orpheus-1.5.tar.bz2) = 256825

View File

@ -1,35 +0,0 @@
diff -Nru orpheus-1.5/configure.in orpheus-1.5.1/configure.in
--- configure.in Wed Mar 10 22:48:14 2004
+++ configure.in Mon Apr 4 11:43:05 2005
@@ -11,14 +11,24 @@
AC_CHECK_LIB(ncurses, main,, AC_CHECK_LIB(curses, main,, AC_MSG_ERROR(The ncurses terminal library is required in order to build the program)))
-AC_CHECK_LIB(ghttp, ghttp_request_new,,
- [AC_MSG_WARN(libghttp not found - the support for CDDB is be disabled)])
+AC_ARG_ENABLE(ghttp,
+ [ --enable-ghttp enable HTTP proxy support for CDDB],
+ [if test "$enableval" = yes; then
+ AC_CHECK_LIB(ghttp,ghttp_request_new,,AC_ERROR([cannot locate ghttp library]))
+ fi])
-AC_CHECK_LIB(vorbis, vorbis_synthesis_headerin,,
- AC_MSG_WARN(libvorbisfile not found - the support for OGG tags edit is disabled))
-
-AC_CHECK_LIB(vorbisfile, ov_open,,
- AC_MSG_WARN(libvorbis not found - the support for OGG files is disabled))
+AC_ARG_ENABLE(vorbis,
+ [ --enable-vorbis enable OGG tags edit support],
+ [if test "$enableval" = yes; then
+ AC_CHECK_LIB(vorbis, vorbis_synthesis_headerin,,AC_ERROR([cannot locate vorbis library]))
+ AC_CHECK_LIB(vorbisfile, ov_open,,AC_ERROR([cannot locate vorbisfile library]))
+ fi])
+
+AC_ARG_ENABLE(vorbis,
+ [ --enable-vorbisfile enable OGG files support],
+ [if test "$enableval" = yes; then
+ AC_CHECK_LIB(vorbisfile, ov_open,,AC_ERROR([cannot locate vorbisfile library]))
+ fi])
AM_ICONV_LINK

View File

@ -1,11 +0,0 @@
--- kkconsui-0.1/src/texteditor.cc 2003-09-09 23:51:33.000000000 +0200
+++ kkconsui-0.1/src/texteditor.cc 2006-08-28 11:56:10.082753610 +0200
@@ -1940,7 +1940,7 @@
}
int texteditor::findint(void *p1, void *p2) {
- return *(int *) p1 != (int) p2;
+ return *(long *) p1 != (long) p2;
}
int texteditor::findhighline(void *p1, void *p2) {

View File

@ -1,21 +0,0 @@
--- kkstrtext-0.1/kkstrtext.cc 2004-01-15 21:25:31.000000000 +0100
+++ kkstrtext-0.1/kkstrtext.cc 2006-08-28 11:48:36.926598598 +0200
@@ -431,7 +431,7 @@
}
int intcompare(void *s1, void *s2) {
- return (int) s1 != (int) s2;
+ return (long) s1 != (long) s2;
}
string i2str(int i) {
@@ -885,7 +885,7 @@
#ifdef HAVE_ICONV
iconv_t cd = iconv_open(tocs.c_str(), fromcs.c_str());
- if(((int) cd) != -1) {
+ if(((long) cd) != -1) {
string r, text(atext);
size_t inleft, outleft, soutleft;
char *inbuf, *outbuf, *sinbuf, *soutbuf;

View File

@ -1,10 +0,0 @@
--- src/abstract/track.h Sat Feb 14 15:51:46 2004
+++ src/abstract/track.h Tue Dec 14 01:03:50 2004
@@ -5,6 +5,7 @@
#include <vector>
#include <fstream>
+#include <sys/types.h>
class track {
public:

View File

@ -1,359 +0,0 @@
--- src/cdtrack.cc Sat Feb 14 20:11:05 2004
+++ src/cdtrack.cc Sun Dec 12 21:55:58 2004
@@ -42,6 +42,7 @@
int cdfd = -1, numtracks;
string cddbquery, cdid, cdtitle;
bool ejected = false;
+#define CDROM_LEADOUT 0xAA
struct istracknumber: public binary_function<int, const track*, bool> {
public: bool operator()(int n, const track *c) const {
@@ -58,51 +59,56 @@
// ----------------------------------------------------------------------------
void cdtrack::play() {
- struct cdrom_ti n;
- n.cdti_trk0 = number;
- n.cdti_trk1 = number;
+ struct ioc_play_track n;
+ memset (&n, 0, sizeof (struct ioc_play_track));
+ n.start_track = number;
+ n.end_track = number;
- if(!ioctl(cdfd, CDROMPLAYTRKIND, &n)) {
+ if(!ioctl(cdfd, CDIOCPLAYTRACKS, &n)) {
paused = false;
- }
+ }
}
void cdtrack::pause() {
if(paused) {
- ioctl(cdfd, CDROMRESUME);
+ ioctl(cdfd, CDIOCRESUME);
paused = false;
- } else if(ioctl(cdfd, CDROMPAUSE) != -1) {
+ } else if(ioctl(cdfd, CDIOCPAUSE) != -1) {
paused = true;
- }
+ }
}
void cdtrack::stop() {
- if(ioctl(cdfd, CDROMSTOP) != -1) {
- }
+ if(ioctl(cdfd, CDIOCSTOP) != -1) {
+ }
}
string cdtrack::getdescription() const {
- return (string) "(cd) " + i2str(number) + ". " + title;
+ return (string) "(cd) " + i2str(number) + ". " + title;
}
vector<string> cdtrack::getstatus() const {
vector<string> r;
- struct cdrom_subchnl subc;
+ struct ioc_read_subchannel subc;
+ struct cd_sub_channel_info data;
char buf[64];
OrpheusPlayList::iterator it;
string sb;
- subc.cdsc_format = CDROM_MSF;
+ subc.address_format = CD_MSF_FORMAT;
+ subc.data = &data;
+ subc.data_len = sizeof(data);
+
- if(ioctl(cdfd, CDROMSUBCHNL, &subc) != -1) {
+ if(ioctl(cdfd, CDIOCREADSUBCHANNEL, &subc) != -1) {
sprintf(buf, _("track %d [%02d:%02d]"), number,
- subc.cdsc_reladdr.msf.minute, subc.cdsc_reladdr.msf.second);
+ subc.data->what.position.reladdr.msf.minute, subc.data->what.position.reladdr.msf.second);
r.push_back("CD: " + cdtitle + "; " + buf);
- it = find_if(plist.begin(), plist.end(), bind1st(istracknumber(), subc.cdsc_trk));
+ it = find_if(plist.begin(), plist.end(), bind1st(istracknumber(), subc.data->what.position.track_number));
if(it != plist.end()) {
cdtrack *ct = static_cast<cdtrack *>(*it);
@@ -112,92 +118,100 @@
}
}
- return r;
+ return r;
}
bool cdtrack::terminated() const {
double nframes, lframe;
- struct cdrom_subchnl subc;
+ struct ioc_read_subchannel subc;
+ struct cd_sub_channel_info data;
int ptime;
- subc.cdsc_format = CDROM_MSF;
-
- if(ioctl(cdfd, CDROMSUBCHNL, &subc) != -1) {
- return
- subc.cdsc_audiostatus != CDROM_AUDIO_PLAY &&
- subc.cdsc_audiostatus != CDROM_AUDIO_PAUSED;
+ subc.address_format = CD_MSF_FORMAT;
+ subc.data_format = CD_CURRENT_POSITION;
+ subc.data = &data;
+ subc.data_len= sizeof(data);
+
+ if(ioctl(cdfd, CDIOCREADSUBCHANNEL, &subc) != -1) {
+ return
+ subc.data->header.audio_status != CD_AS_PLAY_IN_PROGRESS &&
+ subc.data->header.audio_status != CD_AS_PLAY_PAUSED;
}
return true;
}
void cdtrack::fwd(bool big) {
- playseconds(big ? 40 : 4);
+ playseconds(big ? 40 : 4);
}
void cdtrack::rwd(bool big) {
- playseconds(big ? -40 : -4);
+ playseconds(big ? -40 : -4);
}
void cdtrack::playseconds(int offset) {
- struct cdrom_msf msf;
- struct cdrom_subchnl subc;
-
- subc.cdsc_format = CDROM_MSF;
-
- if(ioctl(cdfd, CDROMSUBCHNL, &subc) != -1) {
- msf.cdmsf_sec0 = subc.cdsc_absaddr.msf.second+offset;
- msf.cdmsf_min0 = subc.cdsc_absaddr.msf.minute;
- msf.cdmsf_frame0 = subc.cdsc_absaddr.msf.frame;
- msf.cdmsf_min1 = toc.cdte_addr.msf.minute;
- msf.cdmsf_sec1 = toc.cdte_addr.msf.second;
- msf.cdmsf_frame1 = toc.cdte_addr.msf.frame;
-
- if(msf.cdmsf_sec0 > 60 && (offset < 0)) {
- msf.cdmsf_sec0 = 60-abs(offset);
- msf.cdmsf_min0--;
+ struct ioc_play_msf msf;
+ struct ioc_read_subchannel subc;
+ struct cd_sub_channel_info data;
+
+ subc.address_format = CD_MSF_FORMAT;
+ subc.data = &data;
+ subc.data_len = sizeof(data);
+
+
+ if(ioctl(cdfd, CDIOCREADSUBCHANNEL, &subc) != -1) {
+ msf.start_s = subc.data->what.position.absaddr.msf.second+offset;
+ msf.start_m = subc.data->what.position.absaddr.msf.minute;
+ msf.start_f = subc.data->what.position.absaddr.msf.frame;
+ msf.end_m = toc.entry.addr.msf.minute;
+ msf.end_s = toc.entry.addr.msf.second;
+ msf.end_f = toc.entry.addr.msf.frame;
+
+ if(msf.start_s > 60 && (offset < 0)) {
+ msf.start_s = 60-abs(offset);
+ msf.start_m--;
}
- if(ioctl(cdfd, CDROMPLAYMSF, &msf) != -1) {
+ if(ioctl(cdfd, CDIOCPLAYMSF, &msf) != -1) {
}
- }
+ }
}
void cdtrack::readlength() {
signed int start_sec, start_min, end_min, end_sec;
- struct cdrom_msf msf;
- struct cdrom_tochdr toch;
+ struct ioc_play_msf msf;
+ struct ioc_toc_header toch;
- toc.cdte_track = number;
- toc.cdte_format = CDROM_MSF;
+ toc.track = number;
+ toc.address_format = CD_MSF_FORMAT;
- if(ioctl(cdfd, CDROMREADTOCENTRY, &toc) != -1) {
- start_sec = toc.cdte_addr.msf.second;
- start_min = toc.cdte_addr.msf.minute;
-
- msf.cdmsf_min0 = toc.cdte_addr.msf.minute;
- msf.cdmsf_sec0 = toc.cdte_addr.msf.second;
- msf.cdmsf_frame0 = toc.cdte_addr.msf.frame;
-
- if(ioctl(cdfd, CDROMREADTOCHDR, &toch) != -1) {
- if(toch.cdth_trk1 == number) {
- toc.cdte_track = CDROM_LEADOUT;
+ if(ioctl(cdfd, CDIOREADTOCENTRY, &toc) != -1) {
+ start_sec = toc.entry.addr.msf.second;
+ start_min = toc.entry.addr.msf.minute;
+
+ msf.start_m = toc.entry.addr.msf.minute;
+ msf.start_s = toc.entry.addr.msf.second;
+ msf.start_f = toc.entry.addr.msf.frame;
+
+ if(ioctl(cdfd, CDIOREADTOCHEADER, &toch) != -1) {
+ if(toch.ending_track == number) {
+ toc.track = CDROM_LEADOUT;
} else {
- toc.cdte_track = number+1;
+ toc.track = number+1;
}
- if(ioctl(cdfd, CDROMREADTOCENTRY, &toc) != -1) {
- msf.cdmsf_min1 = toc.cdte_addr.msf.minute;
- msf.cdmsf_sec1 = toc.cdte_addr.msf.second;
- msf.cdmsf_frame1 = toc.cdte_addr.msf.frame;
+ if(ioctl(cdfd, CDIOREADTOCENTRY, &toc) != -1) {
+ msf.end_m = toc.entry.addr.msf.minute;
+ msf.end_s = toc.entry.addr.msf.second;
+ msf.end_f = toc.entry.addr.msf.frame;
- end_sec = toc.cdte_addr.msf.second;
- end_min = toc.cdte_addr.msf.minute;
+ end_sec = toc.entry.addr.msf.second;
+ end_min = toc.entry.addr.msf.minute;
length = (end_min*60+end_sec)-(start_min*60+start_sec);
}
}
- }
+ }
}
void cdtrack::toplaylist(ofstream &f) const {
@@ -208,7 +222,7 @@
static bool isourtrack(const track *t) {
const cdtrack *cd = dynamic_cast<const cdtrack *>(t);
- return (cd != 0);
+ return (cd != 0);
}
static int getdbsum(int val) {
@@ -218,7 +232,7 @@
for(i = 0; i < buf.size(); i++)
ret += buf[i]-'0';
- return ret;
+ return ret;
}
void cdtrack::cleartracks() {
@@ -227,15 +241,17 @@
while((it = find_if(plist.begin(), plist.end(), isourtrack)) != plist.end()) {
delete *it;
plist.erase(it);
- }
+ }
}
void cdtrack::readtracks() {
int st_track, lst_track, track, start_sec, start_min, end_sec, end_min;
int tracklen, tracksum, disklen, sframe;
unsigned int discid;
- struct cdrom_tocentry toc;
- struct cdrom_tochdr toch;
+ struct ioc_read_toc_single_entry toc;
+ struct ioc_toc_header toch;
+
+
cdtrack *ct;
char buf[64];
@@ -248,32 +264,32 @@
cddbquery = "";
- if(!ioctl(cdfd, CDROMSTART) && !ioctl(cdfd, CDROMREADTOCHDR, &toch)) {
- st_track = toch.cdth_trk0;
- lst_track = toch.cdth_trk1;
+ if(!ioctl(cdfd, CDIOCSTART) && !ioctl(cdfd, CDIOREADTOCHEADER, &toch)) {
+ st_track = toch.starting_track;
+ lst_track = toch.ending_track;
- toc.cdte_format = CDROM_MSF;
+ toc.address_format = CD_MSF_FORMAT;
tracksum = 0;
for(track = 1; track <= lst_track; track++) {
- toc.cdte_track = track;
+ toc.track = track;
- if(ioctl(cdfd, CDROMREADTOCENTRY, &toc) != -1) {
- start_sec = toc.cdte_addr.msf.second;
- start_min = toc.cdte_addr.msf.minute;
+ if(ioctl(cdfd, CDIOREADTOCENTRY, &toc) != -1) {
+ start_sec = toc.entry.addr.msf.second;
+ start_min = toc.entry.addr.msf.minute;
- if(toch.cdth_trk1 == track) {
- toc.cdte_track = CDROM_LEADOUT;
+ if(toch.ending_track == track) {
+ toc.track = CDROM_LEADOUT;
} else {
- toc.cdte_track = track + 1;
+ toc.track = track + 1;
}
sframe = (start_min * 60 + start_sec) * 75
- + toc.cdte_addr.msf.frame;
+ + toc.entry.addr.msf.frame;
- if(ioctl(cdfd, CDROMREADTOCENTRY, &toc) != -1) {
- end_sec = toc.cdte_addr.msf.second;
- end_min = toc.cdte_addr.msf.minute;
+ if(ioctl(cdfd, CDIOREADTOCENTRY, &toc) != -1) {
+ end_sec = toc.entry.addr.msf.second;
+ end_min = toc.entry.addr.msf.minute;
tracklen = (end_min * 60 + end_sec) - (start_min * 60 + start_sec);
@@ -308,7 +324,7 @@
} else {
ui.status(_("No CD in the drive!"));
- }
+ }
}
bool cdtrack::loadtracks(const string &fname) {
@@ -388,7 +404,7 @@
#endif
- return reply;
+ return reply;
}
void cdtrack::getcddb() {
@@ -468,15 +484,15 @@
ui.update();
} else {
ui.status(_("Failed to fetch track titles"));
- }
+ }
}
void cdtrack::eject() {
if(cdfd == -1)
cdfd = open(conf.getcddevice().c_str(), O_RDONLY | O_NONBLOCK);
- if(ioctl(cdfd, ejected ? CDROMCLOSETRAY : CDROMEJECT) != -1)
- ejected = !ejected;
+ if(ioctl(cdfd, ejected ? CDIOCALLOW : CDIOCEJECT) != -1)
+ ejected = !ejected;
}
string cdtrack::getcdid() {

View File

@ -1,20 +0,0 @@
--- src/cdtrack.h Sat Oct 18 14:51:26 2003
+++ src/cdtrack.h Sun Dec 12 18:40:09 2004
@@ -5,7 +5,7 @@
#include <string>
-#include <linux/cdrom.h>
+#include <sys/cdio.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -15,7 +15,7 @@
class cdtrack : public track {
private:
int length, number;
- struct cdrom_tocentry toc;
+ struct ioc_read_toc_single_entry toc;
string title;
bool paused;

View File

@ -1,11 +0,0 @@
--- src/mixerctl.cc Sat Feb 14 20:11:05 2004
+++ src/mixerctl.cc Sun Dec 12 22:08:37 2004
@@ -50,7 +50,7 @@
if((fd = ::open(devname.c_str(), O_RDWR)) != -1) {
if(ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devmask) != -1) {
- for(ct = ctVolume; ct != channeltype_end; (int) ct += 1) {
+ for(ct = ctVolume; ct != channeltype_end; ct = (mixerctl::channeltype) (ct + 1)) {
if((1 << (int) ct) & devmask) {
channels.insert(ct);
}

View File

@ -1,11 +0,0 @@
--- src/orpheusconf.cc Sat Feb 14 20:11:05 2004
+++ src/orpheusconf.cc Sun Dec 12 16:03:16 2004
@@ -34,7 +34,7 @@
OrpheusConfiguration::OrpheusConfiguration()
: dname((string) getenv("HOME") + "/.orpheus"),
- oggplayer("ogg123 -v"), cddev("/dev/cdrom"),
+ oggplayer("ogg123 -v"), cddev("/cdrom"),
mixerdev("/dev/mixer"), cdautofetch(true), russian(false),
autosavepl(false), autoplay(true), playmode(Normal),
sortorder(noSort), sortasc(true)

View File

@ -1,49 +0,0 @@
diff -Nru src.orig/uitext.cc src/uitext.cc
--- src.orig/uitext.cc Tue Feb 17 04:18:21 2004
+++ src/uitext.cc Tue Apr 26 19:49:01 2005
@@ -125,6 +125,8 @@
}
void OrpheusTextUI::nexttrack() {
+ if (!plist.empty())
+ {
if(conf.getplaymode() == Random) {
int k;
while(*(plist.begin()+(k = randlimit(0, plist.size()-1))) == currenttrack);
@@ -143,6 +145,7 @@
}
}
}
+ }
}
void OrpheusTextUI::prevtrack() {
@@ -577,14 +580,16 @@
autosavepl = !autosavepl;
break;
case 41:
- if(++((int) playmode) == PlayMode_size)
+ playmode = (PlayMode) (playmode + 1);
+ if(playmode == PlayMode_size)
playmode = Normal;
break;
case 42:
autoplay = !autoplay;
break;
case 43:
- if(++((int) sortorder) == SortOrder_size)
+ sortorder = (SortOrder) (sortorder + 1);
+ if(sortorder == SortOrder_size)
sortorder = byFileName;
break;
case 44:
@@ -719,7 +724,8 @@
while(!finished) {
m.clear();
- for(ct = mixerctl::ctVolume; ct != mixerctl::channeltype_end; (int) ct += 1) {
+ for(ct = mixerctl::ctVolume; ct != mixerctl::channeltype_end; ct = (mixerctl::channeltype) (ct + 1))
+ {
if(chavail.count(ct)) {
val = mix.readlevel(ct);
if(val >= 0) {

View File

@ -1,4 +0,0 @@
Orpheus is a light-weight text mode menu- and window-driven audio player
application for CDs and files in MP3 and Vorbis OGG format.
WWW: http://thekonst.net/orpheus/

View File

@ -1,2 +0,0 @@
bin/orpheus
%%NLS%%share/locale/ru/LC_MESSAGES/orpheus.mo