diff options
Diffstat (limited to 'media-libs/dumb')
-rw-r--r-- | media-libs/dumb/Manifest | 7 | ||||
-rw-r--r-- | media-libs/dumb/dumb-0.9.3-r3.ebuild | 63 | ||||
-rw-r--r-- | media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch | 72 | ||||
-rw-r--r-- | media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch | 16 | ||||
-rw-r--r-- | media-libs/dumb/metadata.xml | 11 |
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> |