summaryrefslogtreecommitdiff
path: root/media-sound/vorbis-tools
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-sound/vorbis-tools
reinit the tree, so we can have metadata
Diffstat (limited to 'media-sound/vorbis-tools')
-rw-r--r--media-sound/vorbis-tools/Manifest12
-rw-r--r--media-sound/vorbis-tools/files/vorbis-tools-1.4.0-CVE-2014-9638.patch92
-rw-r--r--media-sound/vorbis-tools/files/vorbis-tools-1.4.0-CVE-2014-9640.patch24
-rw-r--r--media-sound/vorbis-tools/files/vorbis-tools-1.4.0-aiff-buffer-overflow.patch31
-rw-r--r--media-sound/vorbis-tools/files/vorbis-tools-1.4.0-format-security.patch11
-rw-r--r--media-sound/vorbis-tools/files/vorbis-tools-1.4.0-underlinking.patch47
-rw-r--r--media-sound/vorbis-tools/metadata.xml12
-rw-r--r--media-sound/vorbis-tools/vorbis-tools-1.4.0-r2.ebuild44
-rw-r--r--media-sound/vorbis-tools/vorbis-tools-1.4.0-r3.ebuild45
-rw-r--r--media-sound/vorbis-tools/vorbis-tools-1.4.0-r4.ebuild46
10 files changed, 364 insertions, 0 deletions
diff --git a/media-sound/vorbis-tools/Manifest b/media-sound/vorbis-tools/Manifest
new file mode 100644
index 000000000000..8df72927374e
--- /dev/null
+++ b/media-sound/vorbis-tools/Manifest
@@ -0,0 +1,12 @@
+AUX vorbis-tools-1.4.0-CVE-2014-9638.patch 2572 SHA256 9188d4b2a8f61763647575f74b2b5a1c0dd06cf8d56a33f47b48967633b5aed7 SHA512 da79f329d4d28c597b1efe734c75bbc4176337173b4a9d7d8e54c48cc99655300db8674ce617fc5327480dd91d464c1a0d7a22ebabacb87e99933aecf7f21d27 WHIRLPOOL df09c5c03e49aa794b07243705bafdac0435bf49afc087bdf26d1276553857ac4cd54c3f4428bb86cc657e5896e7c86658eef78c436d9f3fc26c6ec91e29eb1f
+AUX vorbis-tools-1.4.0-CVE-2014-9640.patch 691 SHA256 d8be0913e71ef560ba5c8f05c1f78ec79f6671347f2e5b24acbafc7bfab5eca4 SHA512 f9dd54fa2d09f2ad1a45bbf576884aa00148334452c478914566713bd149572f9c4e05b301aa8bd2aeb299a095cbae5cde09dcb762eaa6c2e8bbd33c91fec2f0 WHIRLPOOL 19ef44bfcb258031d77d24b56e65969702163d99fd1e3d559c0e67961114c7cd04b9c6a3c363b337bd257f1e665a12f9c29d0243953e6c3cca6eb1f4f99e4cf2
+AUX vorbis-tools-1.4.0-aiff-buffer-overflow.patch 1039 SHA256 2eb38f0d7397de67a83c02a7b00d9f6efdc1bd56415d165d64aab82f231410cd SHA512 6a411e0857a6b4a56ef82db6e0a22ebf5dd5ff4695e7a4f6bb652f5bdda62e9f18ca60c68d97724932d692bd6ec23c3017edf7e52cb72d0a965e1c45b59e3506 WHIRLPOOL 2c2292897c367b9e944a9c0f1cd2797bf3e67ba2b896ddbaad8a33c079471e224b642bcf1ddfadb2943e1970c432aa242b2843d9c5d50b33b2f6c6fa921a7a96
+AUX vorbis-tools-1.4.0-format-security.patch 367 SHA256 5c1faf937af7afb02ded5191c844a37d5e35d1fba501d3442e0be095993d1068 SHA512 319451c4317e2224cb56c791528c8ba4722a142b5c85f63fd606e3a1acadc95904cfab3bee7ad4634fa982f59a92ebeb30d8698d8f697640d6579b6a80eadd93 WHIRLPOOL 7c24c92fb0b8c6414604d504305e99d5725b73f2b24b1380cf21993263f69eb45adf744630427265b0293af89a0e41fbeedc2d33722bfe94cf8b5e6b83700f44
+AUX vorbis-tools-1.4.0-underlinking.patch 2360 SHA256 cf13f27ce70bfc56f0d78d9c15bfd68832887501502c5279e641fa99532aae36 SHA512 9d93d6bd39ccdcdd90870388022d7c2eea8263cced4d6f140321bee0100215d6db1eef3d379d6a80168c6b1c1703eb0553f976b8fa3b275f663114ede35cca9a WHIRLPOOL 1f7817adb43d6caffc4c7ec734492bda44bd4e385543976f820418a546e40a3ef1b3ac9df48852d69e461e5dcbb5ff60a0e6bdd7bf37c93b8df5688b9515537b
+DIST vorbis-tools-1.4.0.tar.gz 1346532 SHA256 a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc SHA512 d2473f2e8e6726b5a5083f567797ae42bbb7fa3f26aec3f7b83e641e028c64726299f71a9d75258595a53cf29c18acb84841bcbc39509258d2c8df859e4e3b99 WHIRLPOOL 7f9116957dc06dbc40db0cba6a3147cdf575cd0939021fe44c984a7fde0ff9a495ed8b51275001266404e14db5e814d9e1dcc5bc57f4d3e9eaeb06b76be67a08
+EBUILD vorbis-tools-1.4.0-r2.ebuild 1120 SHA256 21dd46b2e3dd89ae418e2f3261c97cbd88846ed70034138e74df6afe9f96dd92 SHA512 227e31d34142798d7b25c01448f3c00d61315b287360d22d073f1d46ffde22423615fd667b525306957b956b8ec6bd644d84780784017d4bb23e86d3afa650cf WHIRLPOOL 23ce3b21146e76e0171915290b0eb5369c6f2287ccd5f48924f59afe220ae26073f94b3e3c0c06a6bfd6678eb397802820b47a8ef26be28b13aec12c38cd4e9d
+EBUILD vorbis-tools-1.4.0-r3.ebuild 1175 SHA256 e90f6fe8534dc71bca79dd879a399ab049b0ec7b1128f34ce5682f9b0767df10 SHA512 0a04e8f1b084499bb697782a19a2472ebc8fdf5fd85e18d6d231db63c5945a8dddf3f8c6a600944d85db4af31150c77dff7d54961335d60bea7450771d036c3a WHIRLPOOL d69c0dd553d4d1d98aa106186073a771b39a8a9d2c266628f4e0bbd53f4f1fdcf222a5af1994941c2ee4bf4c76e7769d1255b5c3de8de6b51f1d3e4859d591ab
+EBUILD vorbis-tools-1.4.0-r4.ebuild 1223 SHA256 3f84947d47461f0bc80538a2bffd280210e02bfc87f24544e0661d4a133e7a78 SHA512 d6946f5cf257dab774405329951cc1282083e80ac117e7aff12bab421c0fc06e827c0c4de195786fe727d04913966413715b63aa2272367166698ba931ad8abc WHIRLPOOL 35eb3449dffa2a7eb87d09d27b9f0ff4e53030239d4857a6e7e09b8b817c56aaf904254d6f59f84828e260c88293abf0aba85bacd343ca95486dbe442ddeb3d3
+MISC ChangeLog 2806 SHA256 2d8d60944fd614f156920d24de77149211138c9618b5a3685048881c515e132e SHA512 c6924898bfdae85aba5a99205cd9a038f16c7eeebee0eb8b67fc93308ab500011977a809b46e09644f69e95558e233ab88fded93579769d11b9e124a9dd6c4ad WHIRLPOOL f42ed83f4706140558dc17f8e2e27fcdb855eac57988a14571a9704cc186c37140e2384f56bb4020f52230cdb1b9215b858152f7805a4df370323af962922666
+MISC ChangeLog-2015 15500 SHA256 d856ad70db28a7c0c9cacb6cafe7ef74b574c51f80ac95e3c9144c3ab7225b99 SHA512 5f0f9dd1aa725444a0d26c6e21036d67f0f088e36d2366e7a313cc86551e590798bc54f9390f29055c6ba7bfa74f99fb6bd39658d299cc61156d11cb8c159ac7 WHIRLPOOL a9a2afc0751ffcde59ca3b7eeec036c8befe207124516c4d1f763c5d93634c3fe456c3e7acaf2cb4b66b5526fcdc9c7ba1e58c13d8de884a7731f9876eea2332
+MISC metadata.xml 427 SHA256 41126e7adad0e82b0b7b5a6c6b4bcd546f14700a80ecfbcdcd4dec0c9d1b0dae SHA512 fe38791f10b0312286c49042e5c24303418ab755d5300b64b7dc406be5dfda993bbe804eae1124c2484d6a1f2e823895e174a522f8710e4b12129e856674d65c WHIRLPOOL 06607c58e62cbe5b9fc9cab69e354c7afa7062f1b1704f3ad334e11eecaa61152194f350831ae133c0c47fb1f2703d3d48cca7e8abf7e18f834b4a0f016319a0
diff --git a/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-CVE-2014-9638.patch b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-CVE-2014-9638.patch
new file mode 100644
index 000000000000..79859df0274f
--- /dev/null
+++ b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-CVE-2014-9638.patch
@@ -0,0 +1,92 @@
+Patches taken as references:
+https://github.com/mark4o/opus-tools/commit/8c412e619b83eb6dd32191909cf6672e93e5802e
+https://trac.xiph.org/attachment/ticket/2212/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch
+To fix bug report:
+http://www.openwall.com/lists/oss-security/2015/08/29/1
+ https://bugs.gentoo.org/show_bug.cgi?id=559170
+https://bugs.gentoo.org/show_bug.cgi?id=537422
+--- oggenc/audio.h
++++ oggenc/audio.h
+@@ -25,7 +25,7 @@
+
+ typedef struct {
+ short format;
+- short channels;
++ unsigned short channels;
+ int samplerate;
+ int bytespersec;
+ short align;
+@@ -44,7 +44,7 @@
+ } wavfile;
+
+ typedef struct {
+- short channels;
++ unsigned short channels;
+ int totalframes;
+ short samplesize;
+ int rate;
+--- oggenc/audio.c
++++ oggenc/audio.c
+@@ -245,8 +245,8 @@
+ int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen)
+ {
+ int aifc; /* AIFC or AIFF? */
+- unsigned int len;
+- unsigned char *buffer;
++ unsigned int len,readlen;
++ unsigned char buffer[22];
+ unsigned char buf2[8];
+ aiff_fmt format;
+ aifffile *aiff = malloc(sizeof(aifffile));
+@@ -269,9 +269,9 @@
+ return 0; /* Weird common chunk */
+ }
+
+- buffer = alloca(len);
+-
+- if(fread(buffer,1,len,in) < len)
++ readlen = len < sizeof(buffer) ? len : sizeof(buffer);
++ if(fread(buffer,1,readlen,in) < readlen ||
++ (len > readlen && !seek_forward(in, len-readlen)))
+ {
+ fprintf(stderr, _("Warning: Unexpected EOF in reading AIFF header\n"));
+ return 0;
+@@ -277,11 +277,18 @@
+ return 0;
+ }
+
+- format.channels = READ_U16_BE(buffer);
++ format.channels = (short)READ_U16_BE(buffer);
+ format.totalframes = READ_U32_BE(buffer+2);
+ format.samplesize = READ_U16_BE(buffer+6);
+ format.rate = (int)read_IEEE80(buffer+8);
+
++ if(format.channels <=0)
++ {
++ fprintf(stderr, _("ERROR: Invalid channel count in AIFF header\n"));
++ return 0;
++
++ }
++
+ aiff->bigendian = 1;
+
+ if(aifc)
+@@ -449,11 +449,17 @@
+ }
+
+ format.format = READ_U16_LE(buf);
+- format.channels = READ_U16_LE(buf+2);
++ format.channels = (short)READ_U16_LE(buf+2);
+ format.samplerate = READ_U32_LE(buf+4);
+ format.bytespersec = READ_U32_LE(buf+8);
+ format.align = READ_U16_LE(buf+12);
+ format.samplesize = READ_U16_LE(buf+14);
++
++ if(format.channels == 0)
++ {
++ fprintf(stderr, _("ERROR: Zero channels in WAV header\n"));
++ return 0;
++ }
+
+ if(format.format == -2) /* WAVE_FORMAT_EXTENSIBLE */
+ {
diff --git a/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-CVE-2014-9640.patch b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-CVE-2014-9640.patch
new file mode 100644
index 000000000000..51c23b062aff
--- /dev/null
+++ b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-CVE-2014-9640.patch
@@ -0,0 +1,24 @@
+Patch taken from:
+https://trac.xiph.org/changeset/19117
+To fix bug report:
+https://bugs.gentoo.org/show_bug.cgi?id=537422
+--- vorbis-tools-1.4.0/oggenc/oggenc.c
++++ vorbis-tools-1.4.0/oggenc/oggenc.c
+@@ -97,6 +97,8 @@
+ .3,-1,
+ 0,0,0.f,
+ 0, 0, 0, 0, 0};
++ input_format raw_format = {NULL, 0, raw_open, wav_close, "raw",
++ N_("RAW file reader")};
+
+ int i;
+
+@@ -239,8 +241,6 @@
+
+ if(opt.rawmode)
+ {
+- input_format raw_format = {NULL, 0, raw_open, wav_close, "raw",
+- N_("RAW file reader")};
+
+ enc_opts.rate=opt.raw_samplerate;
+ enc_opts.channels=opt.raw_channels;
diff --git a/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-aiff-buffer-overflow.patch b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-aiff-buffer-overflow.patch
new file mode 100644
index 000000000000..f8b66a90e7cd
--- /dev/null
+++ b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-aiff-buffer-overflow.patch
@@ -0,0 +1,31 @@
+Patch taken from:
+https://trac.xiph.org/attachment/ticket/2212/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch
+To fix bug report:
+http://www.openwall.com/lists/oss-security/2015/08/29/1
+ https://bugs.gentoo.org/show_bug.cgi?id=559170
+--- oggenc/audio.c
++++ oggenc/audio.c
+@@ -245,8 +245,8 @@
+ int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen)
+ {
+ int aifc; /* AIFC or AIFF? */
+- unsigned int len;
+- unsigned char *buffer;
++ unsigned int len,readlen;
++ unsigned char buffer[22];
+ unsigned char buf2[8];
+ aiff_fmt format;
+ aifffile *aiff = malloc(sizeof(aifffile));
+@@ -269,9 +269,9 @@
+ return 0; /* Weird common chunk */
+ }
+
+- buffer = alloca(len);
+-
+- if(fread(buffer,1,len,in) < len)
++ readlen = len < sizeof(buffer) ? len : sizeof(buffer);
++ if(fread(buffer,1,readlen,in) < readlen ||
++ (len > readlen && !seek_forward(in, len-readlen)))
+ {
+ fprintf(stderr, _("Warning: Unexpected EOF in reading AIFF header\n"));
+ return 0;
diff --git a/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-format-security.patch b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-format-security.patch
new file mode 100644
index 000000000000..501300ca6171
--- /dev/null
+++ b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-format-security.patch
@@ -0,0 +1,11 @@
+--- vorbis-tools-1.4.0.orig/ogg123/status.c
++++ vorbis-tools-1.4.0/ogg123/status.c
+@@ -148,7 +148,7 @@
+
+ switch (stats->type) {
+ case stat_noarg:
+- len += sprintf(str+len, stats->formatstr);
++ len += sprintf(str+len, "%s", stats->formatstr);
+ break;
+ case stat_intarg:
+ len += sprintf(str+len, stats->formatstr, stats->arg.intarg);
diff --git a/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-underlinking.patch b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-underlinking.patch
new file mode 100644
index 000000000000..aaa10fbb54f9
--- /dev/null
+++ b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-underlinking.patch
@@ -0,0 +1,47 @@
+http://bugs.gentoo.org/513942
+
+Fix building with `./configure --enable-ogg123 --without-flac --without-speex --without-kate` and `make`:
+
+libtool: link: gcc -Wall -ffast-math -fsigned-char -O2 -pipe -march=native -Wl,-O1 -Wl,--hash-style=gnu -o oggenc oggenc.o audio.o encode.o platform.o resample.o skeleton.o -Wl,--as-needed ../share/libutf8.a ../share/libgetopt.a -lvorbisenc -lvorbis -logg
+resample.o:resample.c:function res_init: error: undefined reference to 'sin'
+collect2: error: ld returned 1 exit status
+
+libtool: link: gcc -Wall -ffast-math -fsigned-char -O2 -pipe -march=native -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -o ogg123 audio.o buffer.o callbacks.o cfgfile_options.o cmdline_options.o file_transport.o format.o http_transport.o ogg123.o oggvorbis_format.o playlist.o status.o remote.o transport.o vorbis_comments.o vgfilter.o ../share/libutf8.a ../share/libgetopt.a -lvorbisfile -lvorbis -logg -lao -lnsl -lcurl -lpthread
+vgfilter.o:vgfilter.c:function vg_init: error: undefined reference to '__pow_finite'
+vgfilter.o:vgfilter.c:function vg_init: error: undefined reference to '__pow_finite'
+vgfilter.o:vgfilter.c:function vg_filter: error: undefined reference to 'tanh'
+vgfilter.o:vgfilter.c:function vg_filter: error: undefined reference to 'tanh'
+collect2: error: ld returned 1 exit status
+
+This is using the new GNU gold linker:
+
+$ ld -v
+GNU gold (GNU Binutils 2.24) 1.11
+
+Happens because -lm gets appended to the libraries list only with, for example, --with-flac but vgfilter.c and resample.c are always
+using functions from the mathlib.
+
+Therefore, always link to mathlib:
+
+--- ogg123/Makefile.am
++++ ogg123/Makefile.am
+@@ -30,7 +30,7 @@
+ ogg123_LDADD = @SHARE_LIBS@ \
+ @VORBISFILE_LIBS@ @VORBIS_LIBS@ @OGG_LIBS@ @AO_LIBS@ \
+ @SOCKET_LIBS@ @LIBICONV@ @CURL_LIBS@ @PTHREAD_CFLAGS@ \
+- @PTHREAD_LIBS@ @I18N_LIBS@ @FLAC_LIBS@ @SPEEX_LIBS@
++ @PTHREAD_LIBS@ @I18N_LIBS@ @FLAC_LIBS@ @SPEEX_LIBS@ -lm
+
+ ogg123_DEPENDENCIES = @SHARE_LIBS@
+ ogg123_SOURCES = audio.c buffer.c callbacks.c \
+--- oggenc/Makefile.am
++++ oggenc/Makefile.am
+@@ -23,7 +23,7 @@
+
+ oggenc_LDADD = @SHARE_LIBS@ \
+ @VORBISENC_LIBS@ @VORBIS_LIBS@ @KATE_LIBS@ @OGG_LIBS@ \
+- @LIBICONV@ @I18N_LIBS@ @FLAC_LIBS@
++ @LIBICONV@ @I18N_LIBS@ @FLAC_LIBS@ -lm
+
+ oggenc_DEPENDENCIES = @SHARE_LIBS@
+
diff --git a/media-sound/vorbis-tools/metadata.xml b/media-sound/vorbis-tools/metadata.xml
new file mode 100644
index 000000000000..fb45cda8412c
--- /dev/null
+++ b/media-sound/vorbis-tools/metadata.xml
@@ -0,0 +1,12 @@
+<?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>
+ <use>
+ <flag name="kate">Adds support for Ogg Kate subtitles via libkate.</flag>
+ <flag name="ogg123">Build ogg123 player, needs libao and curl</flag>
+ </use>
+</pkgmetadata>
diff --git a/media-sound/vorbis-tools/vorbis-tools-1.4.0-r2.ebuild b/media-sound/vorbis-tools/vorbis-tools-1.4.0-r2.ebuild
new file mode 100644
index 000000000000..d126eb2230ca
--- /dev/null
+++ b/media-sound/vorbis-tools/vorbis-tools-1.4.0-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="tools for using the Ogg Vorbis sound file format"
+HOMEPAGE="http://www.vorbis.com"
+SRC_URI="http://downloads.xiph.org/releases/vorbis/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="flac kate nls +ogg123 speex"
+
+RDEPEND=">=media-libs/libvorbis-1.3.0
+ flac? ( media-libs/flac )
+ kate? ( media-libs/libkate )
+ ogg123? (
+ >=media-libs/libao-1.0.0
+ net-misc/curl
+ )
+ speex? ( media-libs/speex )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+DOCS="AUTHORS CHANGES README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-underlinking.patch
+ epatch "${FILESDIR}"/${P}-format-security.patch
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #515220
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable ogg123) \
+ $(use_with flac) \
+ $(use_with speex) \
+ $(use_with kate)
+}
diff --git a/media-sound/vorbis-tools/vorbis-tools-1.4.0-r3.ebuild b/media-sound/vorbis-tools/vorbis-tools-1.4.0-r3.ebuild
new file mode 100644
index 000000000000..b5a666c3046d
--- /dev/null
+++ b/media-sound/vorbis-tools/vorbis-tools-1.4.0-r3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="tools for using the Ogg Vorbis sound file format"
+HOMEPAGE="http://www.vorbis.com"
+SRC_URI="http://downloads.xiph.org/releases/vorbis/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="flac kate nls +ogg123 speex"
+
+RDEPEND=">=media-libs/libvorbis-1.3.0
+ flac? ( media-libs/flac )
+ kate? ( media-libs/libkate )
+ ogg123? (
+ >=media-libs/libao-1.0.0
+ net-misc/curl
+ )
+ speex? ( media-libs/speex )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+DOCS="AUTHORS CHANGES README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-underlinking.patch
+ epatch "${FILESDIR}"/${P}-format-security.patch
+ epatch "${FILESDIR}"/${P}-aiff-buffer-overflow.patch
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #515220
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable ogg123) \
+ $(use_with flac) \
+ $(use_with speex) \
+ $(use_with kate)
+}
diff --git a/media-sound/vorbis-tools/vorbis-tools-1.4.0-r4.ebuild b/media-sound/vorbis-tools/vorbis-tools-1.4.0-r4.ebuild
new file mode 100644
index 000000000000..7f85f35db517
--- /dev/null
+++ b/media-sound/vorbis-tools/vorbis-tools-1.4.0-r4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="tools for using the Ogg Vorbis sound file format"
+HOMEPAGE="http://www.vorbis.com"
+SRC_URI="http://downloads.xiph.org/releases/vorbis/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="flac kate nls +ogg123 speex"
+
+RDEPEND=">=media-libs/libvorbis-1.3.0
+ flac? ( media-libs/flac )
+ kate? ( media-libs/libkate )
+ ogg123? (
+ >=media-libs/libao-1.0.0
+ net-misc/curl
+ )
+ speex? ( media-libs/speex )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+DOCS="AUTHORS CHANGES README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-underlinking.patch
+ epatch "${FILESDIR}"/${P}-format-security.patch
+ epatch "${FILESDIR}"/${P}-CVE-2014-9640.patch
+ epatch "${FILESDIR}"/${P}-CVE-2014-9638.patch
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #515220
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable ogg123) \
+ $(use_with flac) \
+ $(use_with speex) \
+ $(use_with kate)
+}