summaryrefslogtreecommitdiff
path: root/media-libs/dumb
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-libs/dumb
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-libs/dumb')
-rw-r--r--media-libs/dumb/Manifest1
-rw-r--r--media-libs/dumb/dumb-0.9.3-r3.ebuild64
-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.xml12
5 files changed, 165 insertions, 0 deletions
diff --git a/media-libs/dumb/Manifest b/media-libs/dumb/Manifest
new file mode 100644
index 00000000000..8bac61324da
--- /dev/null
+++ b/media-libs/dumb/Manifest
@@ -0,0 +1 @@
+DIST dumb-0.9.3.tar.gz 167379 SHA256 8d44fbc9e57f3bac9f761c3b12ce102d47d717f0dd846657fb988e0bb5d1ea33 SHA512 9ecdea460858b7e6ad7ca2534ecb3581397e6c1fa904459affe19ce49f528e580e143b42b13413b292ae7b57901a8008e6a9ee3821824f6ff7914b136f75c658 WHIRLPOOL c5139d6d845245fc60a9984064b5bf9b0cb54e0499ddd55db56ca5faa31ebc6158b486b70409dc6068c8261330e9200c84c278e19c9fa16bf32b67c403f44e9b
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 00000000000..8f0dafd9c31
--- /dev/null
+++ b/media-libs/dumb/dumb-0.9.3-r3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 00000000000..217caa406b3
--- /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 00000000000..09d2fb68f4c
--- /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 00000000000..ef5cb01f98d
--- /dev/null
+++ b/media-libs/dumb/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>
+ <email>joker@gentoo.org</email>
+ <name>Christian Birchinger</name>
+ </maintainer>
+ <herd>sound</herd>
+ <upstream>
+ <remote-id type="sourceforge">dumb</remote-id>
+ </upstream>
+</pkgmetadata>