summaryrefslogtreecommitdiff
path: root/media-libs/dumb
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-libs/dumb
reinit the tree, so we can have metadata
Diffstat (limited to 'media-libs/dumb')
-rw-r--r--media-libs/dumb/Manifest7
-rw-r--r--media-libs/dumb/dumb-0.9.3-r3.ebuild63
-rw-r--r--media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch72
-rw-r--r--media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch16
-rw-r--r--media-libs/dumb/metadata.xml11
5 files changed, 169 insertions, 0 deletions
diff --git a/media-libs/dumb/Manifest b/media-libs/dumb/Manifest
new file mode 100644
index 000000000000..db29f14e2d95
--- /dev/null
+++ b/media-libs/dumb/Manifest
@@ -0,0 +1,7 @@
+AUX dumb-0.9.3-PIC-as-needed.patch 2730 SHA256 483baf39a2540ca06051e91b7c629b7ada76e0b137fc00c673624c0681be28da SHA512 b97bfdedfe4f64cc37ca52e50d0ac919747dd523f686350d8681a7629508f83ae87220622f9d431132aeb149dc6011e1461ac560ccece20a4dfb6a7d2ec9d962 WHIRLPOOL f13e4bd72c9c1a44c12d0c4e7578c5d3f439ef8e9a797351c78265b5ae2d034b53156030fb570888c435135f22535d875f1267eade73c215a519445772966416
+AUX dumb-0.9.3_CVE-2006-3668.patch 637 SHA256 9f6785435757db725bc73b1c4874b91e80b9277c6fdd2b56e47dae1cfbc968e6 SHA512 ecce27757b27d997fffcc8b5736c1921a947664e2a73a4fc9ff269d8d24524fe3823a9076a3270b4296d6294102c0c7f5d2fc5c05152878dcaa11d6acede2125 WHIRLPOOL d59963d4634b3601e30c6a00fb722949e638559c1e8ec8c3d51ae74a77af759413ec5d21a769cc06b624a7e4c51626cfc1f548fdefd3ccaf253af8412552056d
+DIST dumb-0.9.3.tar.gz 167379 SHA256 8d44fbc9e57f3bac9f761c3b12ce102d47d717f0dd846657fb988e0bb5d1ea33 SHA512 9ecdea460858b7e6ad7ca2534ecb3581397e6c1fa904459affe19ce49f528e580e143b42b13413b292ae7b57901a8008e6a9ee3821824f6ff7914b136f75c658 WHIRLPOOL c5139d6d845245fc60a9984064b5bf9b0cb54e0499ddd55db56ca5faa31ebc6158b486b70409dc6068c8261330e9200c84c278e19c9fa16bf32b67c403f44e9b
+EBUILD dumb-0.9.3-r3.ebuild 1944 SHA256 d74386a53fe471cc99f66177d8a0c78949a2571012c483a4c3fa8c84c6c03885 SHA512 587d0f8d3eb232e90cf07ac7e9c9a1115d3129b492addf04f1f70b3a0c8872aebc58a32d7bf8f89054b9d2e22892fcba860c480d40cf495ca897f0e27891dc08 WHIRLPOOL 6631a7e92f36398623a91ada8379ec8a4ea98a7a9bb1fe9e8f131c31f4a45bfed713dfbfd68b7bd6689101783324d8e85a3af7c447fdcaa41fec0906e81b855c
+MISC ChangeLog 2630 SHA256 ba8950172b879ebecf9482e1e457a6c336ee0cbfc8734f31926082dfdef1e9df SHA512 e508123544b27cee8bbf806768f7b3f36f9fbbf8132432bd569f47557be4e45c1b35b03e975f208045b6c925fe34449f0223bd29243cbc375f2df073837dcb30 WHIRLPOOL 76ba8eb04b9557730b9e9b2b92a198e802e9d766d7ebedc23c2ad615b55e61c179c46ef3e46914393133b62e8dd286fafa244f7b52e1275791d1bf74b2654fa0
+MISC ChangeLog-2015 7059 SHA256 a1200e638c642ec6bfeb6a7ec8e6bfdedb38e8320e6359307c24ebc004eb73f9 SHA512 b1d213e12133b42bd209768daed17d465d307b8ab2444dcbbc8536e43768967d1d18fdea224e35ac5f4e96b604072e5bcea73f00b62d48a4a497a2ac8f7f6ae0 WHIRLPOOL 67ce00190d8c6e454109596f01bc072940986d1d4cc6e8f006f6dfd9c1f9dfe45288539d16b1c4b46975831633c79f63579dfdb8d78dba6f692bb86dcbb6fd3c
+MISC metadata.xml 327 SHA256 dec9608122868a77678970c42c37153bc78ade535c7066b7a326c9c72b95ead1 SHA512 e82c8c18d0744758b19a533b606aee382cdf2cbc36f431c3ed286704d75b759e663f2c3aaa2259c7a62352f4d73587ad34aff26a47ae06e20ab7372aa5a8c82c WHIRLPOOL d88f55d711a3c35fddb880356143d06d06d39b81daed62586a7b50619278040abcf597e3b55be31b2c56e59480f0842718cf6500ce77c42784f8b0039458ccb7
diff --git a/media-libs/dumb/dumb-0.9.3-r3.ebuild b/media-libs/dumb/dumb-0.9.3-r3.ebuild
new file mode 100644
index 000000000000..e6115a753b43
--- /dev/null
+++ b/media-libs/dumb/dumb-0.9.3-r3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils toolchain-funcs multilib-build multilib-minimal
+
+DESCRIPTION="IT/XM/S3M/MOD player library with click removal and IT filters"
+HOMEPAGE="http://dumb.sourceforge.net/"
+SRC_URI="mirror://sourceforge/dumb/${P}.tar.gz"
+
+LICENSE="DUMB-0.9.2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
+IUSE="debug"
+
+RDEPEND=""
+DEPEND=""
+
+src_prepare() {
+ cat << EOF > make/config.txt
+include make/unix.inc
+ALL_TARGETS := core core-examples core-headers
+PREFIX := /usr
+EOF
+
+ epatch "${FILESDIR}"/${P}-PIC-as-needed.patch
+ epatch "${FILESDIR}"/${P}_CVE-2006-3668.patch
+ sed -i '/= -s/d' Makefile || die "sed failed"
+ cp -f Makefile Makefile.rdy
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake CC="$(tc-getCC)" OFLAGS="${CFLAGS}" all
+}
+
+multilib_src_install() {
+ dolib.so lib/unix/libdumb.so
+ use debug && dolib.so lib/unix/libdumbd.so
+
+ doheader include/dumb.h
+
+ dobin examples/{dumbout,dumb2wav}
+ dodoc readme.txt release.txt docs/*
+}
+
+pkg_postinst() {
+ elog "DUMB's core has been installed. This will enable you to convert module"
+ elog "files to PCM data (ready for sending to /dev/dsp, writing to a .wav"
+ elog "file, piping through oggenc, etc.)."
+ elog
+ elog "If you are using Allegro, you will also want to 'emerge aldumb'. This"
+ elog "provides you with a convenient API for playing module files through"
+ elog "Allegro's sound system, and also enables DUMB to integrate with"
+ elog "Allegro's datafile system so you can add modules to datafiles."
+ elog
+ elog "As a developer, when you distribute your game and write your docs, be"
+ elog "aware that 'dumb' and 'aldumb' actually come from the same download."
+ elog "People who don't use Gentoo will only have to download and install one"
+ elog "package. See readme.txt in /usr/share/doc/${PF} for details on"
+ elog "how DUMB would be compiled manually."
+}
diff --git a/media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch b/media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch
new file mode 100644
index 000000000000..217caa406b3e
--- /dev/null
+++ b/media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch
@@ -0,0 +1,72 @@
+diff -Naur dumb.orig/Makefile dumb/Makefile
+--- dumb.orig/Makefile 2003-04-03 16:34:18.000000000 -0800
++++ dumb/Makefile 2004-07-06 14:43:38.158063165 -0700
+@@ -199,11 +199,11 @@
+ ALLEGRO_EXAMPLES_EXE := $(addprefix examples/, $(notdir $(patsubst %.c, %$(EXE_SUFFIX), $(ALLEGRO_EXAMPLES))))
+
+
+-CORE_LIB_FILE_RELEASE := $(LIBDIR)/libdumb.a
+-ALLEGRO_LIB_FILE_RELEASE := $(LIBDIR)/libaldmb.a
++CORE_LIB_FILE_RELEASE := $(LIBDIR)/libdumb.so
++ALLEGRO_LIB_FILE_RELEASE := $(LIBDIR)/libaldmb.so
+
+-CORE_LIB_FILE_DEBUG := $(LIBDIR)/libdumbd.a
+-ALLEGRO_LIB_FILE_DEBUG := $(LIBDIR)/libaldmd.a
++CORE_LIB_FILE_DEBUG := $(LIBDIR)/libdumbd.so
++ALLEGRO_LIB_FILE_DEBUG := $(LIBDIR)/libaldmd.so
+
+
+ core: $(CORE_LIB_FILE_RELEASE) $(CORE_LIB_FILE_DEBUG)
+@@ -272,22 +272,22 @@
+
+ OBJDIR := $(OBJDIR_BASE)/release
+ CFLAGS := $(CFLAGS_RELEASE)
+-CORE_LIB_FILE := $(LIBDIR)/libdumb.a
+-ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmb.a
++CORE_LIB_FILE := $(LIBDIR)/libdumb.so
++ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmb.so
+ include make/Makefile.inc
+
+ OBJDIR := $(OBJDIR_BASE)/debug
+ CFLAGS := $(CFLAGS_DEBUG)
+-CORE_LIB_FILE := $(LIBDIR)/libdumbd.a
+-ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmd.a
++CORE_LIB_FILE := $(LIBDIR)/libdumbd.so
++ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmd.so
+ include make/Makefile.inc
+
+
+ $(CORE_EXAMPLES_EXE): examples/%$(EXE_SUFFIX): examples/%.o $(CORE_LIB_FILE_RELEASE)
+- $(CC) $^ -o $@ $(LDFLAGS) $(LINK_MATH)
++ $(CC) $^ -o $@ $(LDFLAGS) $(LINK_MATH)
+
+ $(ALLEGRO_EXAMPLES_EXE): examples/%$(EXE_SUFFIX): examples/%.o $(ALLEGRO_LIB_FILE_RELEASE) $(CORE_LIB_FILE_RELEASE)
+- $(CC) $^ -o $@ $(LDFLAGS) $(LINK_ALLEGRO)
++ $(CC) $^ -o $@ $(LDFLAGS) $(LINK_ALLEGRO)
+
+ $(CORE_EXAMPLES_OBJ): examples/%.o: examples/%.c include/dumb.h
+ $(CC) -c $< -o $@ $(CFLAGS_RELEASE)
+diff -Naur dumb.orig/make/Makefile.inc dumb/make/Makefile.inc
+--- dumb.orig/make/Makefile.inc 2003-04-03 16:34:18.000000000 -0800
++++ dumb/make/Makefile.inc 2004-07-06 14:37:13.082037585 -0700
+@@ -10,8 +10,8 @@
+ # accurately, create a local copy of the current CFLAGS variable. This is
+ # necessary because Make doesn't expand variables in commands until they are
+ # executed.
+-$(CORE_LIB_FILE): CFLAGS := $(CFLAGS)
+-$(ALLEGRO_LIB_FILE): CFLAGS := $(CFLAGS)
++$(CORE_LIB_FILE): CFLAGS := $(CFLAGS) -fPIC -DPIC
++$(ALLEGRO_LIB_FILE): CFLAGS := $(CFLAGS) -fPIC -DPIC
+
+
+ $(OBJDIR)/%.o: src/core/%.c include/dumb.h include/internal/dumb.h
+@@ -28,7 +28,7 @@
+ $(CC) -c -o $@ $< $(CFLAGS) $(WFLAGS_ALLEGRO)
+
+ $(CORE_LIB_FILE): $(CORE_OBJECTS)
+- $(AR) rs $@ $^
++ $(CC) -shared -o $@ $(LDFLAGS) -Wl,-shared,-soname,$(shell basename $@) $^ -lm
+
+ $(ALLEGRO_LIB_FILE): $(ALLEGRO_OBJECTS)
+- $(AR) rs $@ $^
++ $(CC) -shared -o $@ $(LDFLAGS) -Wl,-shared,-soname,$(shell basename $@) $^ -ldumb
diff --git a/media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch b/media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch
new file mode 100644
index 000000000000..09d2fb68f4cb
--- /dev/null
+++ b/media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch
@@ -0,0 +1,16 @@
+Index: libdumb-0.9.3/src/it/itread.c
+===================================================================
+--- libdumb-0.9.3.orig/src/it/itread.c 2006-07-21 11:05:48.000000000 +0200
++++ libdumb-0.9.3/src/it/itread.c 2006-07-21 11:07:22.000000000 +0200
+@@ -292,6 +292,11 @@
+
+ envelope->flags = dumbfile_getc(f);
+ envelope->n_nodes = dumbfile_getc(f);
++ if(envelope->n_nodes > 25) {
++ TRACE("IT error: wrong number of envelope nodes (%d)\n", envelope->n_nodes);
++ envelope->n_nodes = 0;
++ return -1;
++ }
+ envelope->loop_start = dumbfile_getc(f);
+ envelope->loop_end = dumbfile_getc(f);
+ envelope->sus_loop_start = dumbfile_getc(f);
diff --git a/media-libs/dumb/metadata.xml b/media-libs/dumb/metadata.xml
new file mode 100644
index 000000000000..18f5db992196
--- /dev/null
+++ b/media-libs/dumb/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <upstream>
+ <remote-id type="sourceforge">dumb</remote-id>
+ </upstream>
+</pkgmetadata>