debian/0000755000000000000000000000000012214264711007166 5ustar debian/tcl-snack.install0000644000000000000000000000017512206337624012445 0ustar debian/tmp/usr/lib/snack2.2/*.tcl /usr/lib/tcltk/snack2.2 debian/tmp/usr/lib/snack2.2/libsnack?*.so /usr/lib/tcltk/snack2.2 debian/compat0000644000000000000000000000000212174776121010374 0ustar 8 debian/python-tksnack.install0000644000000000000000000000004012206337624013532 0ustar debian/tmp/usr/share/pyshared/* debian/control0000644000000000000000000001065612214264660010604 0ustar Source: snack Section: sound Priority: optional Maintainer: Sergei Golovan Build-Depends: tk-dev (>= 8.5), debhelper (>= 8.0.0), libmpg123-dev, libogg-dev, libvorbis-dev, libasound2-dev [linux-any] Build-Depends-Indep: python-all-dev (>= 2.6.6-3~) Standards-Version: 3.9.4 Homepage: http://pdqi.com/w/pw/pdqi/Wize/Snack Package: tcl-snack Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${tclsh:Depends}, libsnack-alsa (= ${binary:Version}) | libsnack-oss (= ${binary:Version}) Suggests: ${wish:Depends}, tcl-snack-doc Conflicts: libsnack2, libsnack2-alsa Provides: libsnack2, libsnack2-alsa Replaces: libsnack2, libsnack2-alsa Description: Sound extension to Tcl/Tk and Python/Tkinter - Tcl/Tk library Snack is an extension to the Tcl/Tk scripting language that adds sound functionality. There are commands to play, record, edit, and even visualize sound. Snack supports in-memory sound objects, file based audio, and streaming audio. It handles file formats such as WAV, AU, AIFF, MP3, and OGG Vorbis. Package: libsnack-alsa Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Conflicts: libsnack-oss Replaces: libsnack2, libsnack2-alsa, libsnack-oss Description: Sound extension to Tcl/Tk and Python/Tkinter - ALSA files Snack is an extension to the Tcl/Tk scripting language that adds sound functionality. There are commands to play, record, edit, and even visualize sound. Snack supports in-memory sound objects, file based audio, and streaming audio. It handles file formats such as WAV, AU, AIFF, MP3, and OGG Vorbis. . This package includes libraries which use ALSA as a sound engine. Package: libsnack-oss Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, oss-compat Conflicts: libsnack-alsa Replaces: libsnack2, libsnack2-alsa, libsnack-alsa Description: Sound extension to Tcl/Tk and Python/Tkinter - OSS files Snack is an extension to the Tcl/Tk scripting language that adds sound functionality. There are commands to play, record, edit, and even visualize sound. Snack supports in-memory sound objects, file based audio, and streaming audio. It handles file formats such as WAV, AU, AIFF, MP3, and OGG Vorbis. . This package includes libraries which use OSS as a sound engine. Package: python-tksnack Section: python Architecture: all Depends: tcl-snack (>= ${source:Version}), ${python:Depends}, ${misc:Depends}, python-tk Suggests: tcl-snack-doc Provides: ${python:Provides} Description: Sound extension to Tcl/Tk and Python/Tkinter - Python library Snack is an extension to the Tcl/Tk scripting language that adds sound functionality. There are commands to play, record, edit, and even visualize sound. Snack supports in-memory sound objects, file based audio, and streaming audio. It handles file formats such as WAV, AU, AIFF, MP3, and OGG Vorbis. . This package includes Python/Tkinter tkSnack package. Package: tcl-snack-dev Section: libdevel Architecture: any Depends: tcl-snack (= ${binary:Version}), ${misc:Depends} Replaces: snack-dev, libsnack2-dev Conflicts: libsnack2-dev Provides: libsnack2-dev Description: Sound extension to Tcl/Tk and Python/Tkinter - development files This package is needed for building transcriber, and contains snackConfig.sh, snack.h. . Snack provides a sound functionality extension to the Tcl/Tk language. . Snack is an extension to the Tcl/Tk scripting language that adds sound functionality. There are commands to play, record, edit, and even visualize sound. Snack supports in-memory sound objects, file based audio, and streaming audio. It handles file formats such as WAV, AU, AIFF, MP3, and OGG Vorbis. . This package contains files to be used for development of C-based extensions which use the Snack library. Package: tcl-snack-doc Section: doc Architecture: all Depends: ${misc:Depends} Suggests: tcl-snack, python-tksnack Replaces: libsnack2-doc Conflicts: libsnack2-doc Provides: libsnack2-doc Description: Sound extension to Tcl/Tk and Python/Tkinter - documentation Snack provides a sound functionality extension to the Tcl/Tk language. . Snack is an extension to the Tcl/Tk scripting language that adds sound functionality. There are commands to play, record, edit, and even visualize sound. Snack supports in-memory sound objects, file based audio, and streaming audio. It handles file formats such as WAV, AU, AIFF, MP3, and OGG Vorbis. . This package contains the HTML documentation for Snack. debian/tcl-snack-dev.install0000644000000000000000000000026512174776121013224 0ustar unix/snackConfig.sh usr/lib generic/jkAudIO.h usr/include generic/jkSound.h usr/include generic/snack.h usr/include generic/snackDecls.h usr/include debian/tmp/usr/lib/*.a usr/lib debian/source/0000755000000000000000000000000012214264711010466 5ustar debian/source/format0000644000000000000000000000001412174776121011704 0ustar 3.0 (quilt) debian/README.Debian0000644000000000000000000000131712174776121011241 0ustar Snack for Debian ---------------------- The snack library is packaged separately, instead of as a contrib package to transcriber. Because it is an Tcl/Tk oriented library, its name does not follow the .so naming convention snack.so.2 -> snack.so.2.0.7 This may change in the future. The name of the source is kept `snack' (after the upstream version), the packages are called `tcl-snack'---because it is a Tcl/Tk extension, and `python-tksnack'---Python interface. The package is split up into a main tcl-snack (or tcl-snack-alsa), python-tksnack, tcl-snack-dev, and tcl-snack-doc packages. David A. van Leeuwen Updated by Sergei Golovan Fri, 26 Jul 2013 14:16:51 +0400 debian/libsnack-oss.install0000644000000000000000000000020012206337624013143 0ustar debian/tmp/usr/lib/snack2.2/libsnack.so /usr/lib/tcltk/snack2.2 debian/tmp/usr/lib/snack2.2/libsound.so /usr/lib/tcltk/snack2.2 debian/rules0000755000000000000000000001315312206337624010256 0ustar #!/usr/bin/make -f # Sample debian/rules that uses debhelper. # GNU copyright 1997 to 1999 by Joey Hess. DDIR=$(shell pwd)/debian/tmp DDIR_ALSA=$(shell pwd)/debian/tmp-alsa CONFIGOPTS = --enable-gcc \ --enable-shared \ --with-tcl=/usr/lib \ --with-tk=/usr/lib \ --prefix=/usr \ --with-ogg-include=/usr/include \ --with-ogg-lib=/usr/lib CONFIGOPTS_ALSA = $(CONFIGOPTS) --enable-alsa BUILD_ALSA := $(shell if [ `uname -s` = Linux ] ; then echo yes ; else echo no ; fi) ifeq ($(BUILD_ALSA), no) install_target:=install-stamp binary_targets:=binary-oss else install_target:=install-alsa-stamp binary_targets:=binary-oss binary-alsa endif clean: clean-build dh_testdir dh_testroot rm -rf $(DDIR_ALSA) rm -f build-stamp build-alsa-stamp rm -f install-stamp install-alsa-stamp rm -f clean-stamp dh_clean clean-build: dh_testdir [ ! -f unix/Makefile ] || $(MAKE) -C unix distclean cd unix ; rm -f libsnackogg.so libsnackmpg.so libsnacksphere.so libsnackstub2.2.a cd unix ; rm -f snackConfig.sh pkgIndex.tcl cd python; rm -rf build build: build-arch build-indep build-arch: $(install_target) build-indep: $(install_target) build-stamp: dh_testdir cd unix && ./configure $(CONFIGOPTS) $(MAKE) -C unix all libsnackogg.so libsnackmpg.so # libsnacksphere.so touch build-stamp install-stamp: build-stamp dh_testdir dh_installdirs $(MAKE) -C unix SNACK_INSTALL_PATH=$(DDIR)/usr/lib install touch install-stamp clean-stamp: install-stamp dh_testdir [ ! -f unix/Makefile ] || $(MAKE) -C unix distclean cd unix ; rm -f libsnackogg.so libsnackmpg.so libsnacksphere.so libsnackstub2.2.a cd unix ; rm -f snackConfig.sh pkgIndex.tcl cd python; rm -rf build touch clean-stamp build-alsa-stamp: clean-stamp dh_testdir cd unix && ./configure $(CONFIGOPTS_ALSA) $(MAKE) -C unix all libsnackogg.so libsnackmpg.so # libsnacksphere.so touch build-alsa-stamp install-alsa-stamp: build-alsa-stamp dh_testdir dh_installdirs $(MAKE) -C unix SNACK_INSTALL_PATH=$(DDIR_ALSA)/usr/lib install touch install-alsa-stamp install-indep: build-stamp dh_testdir dh_testroot dh_prep cd python ; \ python setup.py install \ --no-compile \ --install-lib=$(DDIR)/usr/share/pyshared # Build architecture-dependent files here. binary-oss: install-stamp dh_testdir -a -Nlibsnack-alsa dh_testroot -a -Nlibsnack-alsa dh_installdirs -a -Nlibsnack-alsa dh_install -a -Nlibsnack-alsa dh_installdocs -a -Nlibsnack-alsa -A README debian/README.Debian dh_installexamples -a -Nlibsnack-alsa dh_installmenu -a -Nlibsnack-alsa dh_installman -a -Nlibsnack-alsa dh_installchangelogs -a -Nlibsnack-alsa -A changes dh_link -a -Nlibsnack-alsa dh_strip -a -Nlibsnack-alsa dh_compress -a -Nlibsnack-alsa -X.tcl -X.wav -X.py -X.plg -X.phn dh_fixperms -a -Nlibsnack-alsa chmod a-x debian/*/usr/lib/tcltk/snack*/* dh_makeshlibs -a -Nlibsnack-alsa dh_installdeb -a -Nlibsnack-alsa dh_shlibdeps -a -Nlibsnack-alsa tcltk-depends -a -Nlibsnack-alsa dh_gencontrol -a -Nlibsnack-alsa dh_md5sums -a -Nlibsnack-alsa dh_builddeb -a -Nlibsnack-alsa binary-alsa: install-alsa-stamp dh_testdir -plibsnack-alsa dh_testroot -plibsnack-alsa dh_installdirs -plibsnack-alsa dh_install -plibsnack-alsa dh_installdocs -plibsnack-alsa -A README debian/README.Debian dh_installexamples -plibsnack-alsa dh_installmenu -plibsnack-alsa dh_installman -plibsnack-alsa dh_installchangelogs -plibsnack-alsa -A changes dh_link -plibsnack-alsa dh_strip -plibsnack-alsa dh_compress -plibsnack-alsa -X.tcl -X.wav -X.py -X.plg -X.phn dh_fixperms -plibsnack-alsa chmod a-x debian/*/usr/lib/tcltk/snack*/* dh_makeshlibs -plibsnack-alsa dh_installdeb -plibsnack-alsa dh_shlibdeps -plibsnack-alsa tcltk-depends -plibsnack-alsa dh_gencontrol -plibsnack-alsa dh_md5sums -plibsnack-alsa dh_builddeb -plibsnack-alsa binary-arch: $(binary_targets) binary-indep: install-indep dh_testdir -i dh_testroot -i dh_installdirs -i dh_install -i dh_installdocs -i -A README debian/README.Debian dh_installchangelogs -i -A changes dh_link -i dh_strip -i dh_compress -i -X.tcl -X.wav -X.py -X.plg -X.phn dh_fixperms -i chmod a-x debian/tcl-snack-doc/usr/share/doc/tcl-snack-doc/examples/tcl/* chmod a+x debian/tcl-snack-doc/usr/share/doc/tcl-snack-doc/examples/tcl/*.tcl chmod a-x debian/tcl-snack-doc/usr/share/doc/tcl-snack-doc/examples/python/* chmod a+x debian/tcl-snack-doc/usr/share/doc/tcl-snack-doc/examples/python/*.py chmod a-x debian/tcl-snack-doc/usr/share/doc/tcl-snack-doc/examples/python/tkSnack.py dh_python2 -i dh_installdeb -i tcltk-depends -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i # DvL: order is important! binary: binary-arch binary-indep version=2.2.10 date=20090623 get-orig-source: CURDIR=`pwd` && \ TMPDIR=`mktemp -d /tmp/snack.XXXXXX` && \ cd $$TMPDIR && \ cvs -d:pserver:anonymous@wize.cvs.sourceforge.net:/cvsroot/wize export -D $(date) wize2/wize/snack$(version) && \ cd wize2/wize/snack$(version) && \ for f in `find . -name tclkit-linux-x86 -o -name sdx -o -name snack.mcp.sit.hqx -o -name right_back.shape` ; do \ echo "REMOVING BINARY WITHOUT A SOURCE $$f" ; rm -f $$f ; \ done && \ rm -v win/Makefile win/config.log win/config.status win/snackConfig.sh && \ rm -v unix/Makefile unix/config.log unix/config.status unix/snackConfig.sh && \ rm -v generic/SnackMp3.c generic/jkFormatMP3.c generic/jkFormatMP3.h && \ rm -v pkgIndex.tcl unix/pkgIndex.tcl && \ cd .. && \ tar -Jcf $$CURDIR/snack_$(version).$(date)-dfsg.orig.tar.xz snack$(version) && \ rm -rf $$TMPDIR .PHONY: build build-arch build-indep clean clean-build clean-intermediate binary-oss binary-alsa \ binary-indep binary-arch binary install-indep get-orig-source debian/libsnack-alsa.install0000644000000000000000000000021212206337624013262 0ustar debian/tmp-alsa/usr/lib/snack2.2/libsnack.so /usr/lib/tcltk/snack2.2 debian/tmp-alsa/usr/lib/snack2.2/libsound.so /usr/lib/tcltk/snack2.2 debian/copyright0000644000000000000000000003121612210655525011127 0ustar This package was debianized by David A. van Leeuwen on Thu, 23 Sep 1999 15:24:33 +0200. It was originally downloaded from http://www.speech.kth.se/snack Currently, a modification from http://wize.cvs.sourceforge.net/viewvc/wize/wize2/wize/snack2.2.10/ is used. The files demos/tcl/tclkit-linux-x86, demos/tcl/sdx, demos/tcl/right_back.shape and mac/snack.mcp.sit.hqx have been removed from the upstream tarball because they lack source code. The files generic/SnackMp3.c, generic/jkFormatMP3.c, generic/jkFormatMP3.h have been removed from the upstream tarball because they are not DFSG-free (have restrictions on commercial use). ----------------------------------------------------------------------- Files: * Copyright (c) 1997-2005 Jonas Beskow and Kåre Sjölander Distributed under the GNU general public license, see /usr/share/common-licenses/GPL This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ----------------------------------------------------------------------- Files: generic/jkFormant.h, generic/jkFormant.c Copyright (c) 1987-1990 AT&T, Inc. Copyright (c) 1986-1990 Entropic Speech, Inc. Copyright (c) 1990-1991 Entropic Research Laboratory, Inc. Distributed under the BSD license: The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. ----------------------------------------------------------------------- Files: generic/sigproc.c Copyright (c) 1990-1996 Entropic Research Laboratory, Inc. Distributed under the BSD license: The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. ----------------------------------------------------------------------- Files: generic/SnackMpg.c Copyright (c) 2009 by Peter MacDonald Distributed under the BSD license: The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. ----------------------------------------------------------------------- Files: generic/SnackOgg.c Copyright (c) 1994-2001 by the XIPHOPHORUS Company This file is combined from vorbisfile.h and vorbisfile.c from libvorbis library. The original files are distributed under the BSD license (the license is not included into the source package and taken from libvorbis source): Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - Neither the name of the Xiph.org Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------- Files: unix/snack.decls, generic/snackDecls.h, generic/snackStubLib.c, generic/snackStubInit.c Copyright (c) 1998-1999 by Scriptics Corporation Distributed under the same license as Tcl/Tk itself (the license is not included into the source package). This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (b) (3) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. ----------------------------------------------------------------------- Files: mac/MW_SnackHeaders.pch Copyright (c) 1995-1997 Sun Microsystems, Inc. Distributed under the same license as Tcl/Tk itself (the license is not included into the source package). ----------------------------------------------------------------------- Files: generic/shape.c Copyright (c) 2000 Claude Barras Distributed under the GNU general public licence, though it's unclear from the package itself. It's labeled as a contribution to the Snack Sound Toolkit, so it's safe to assume that it's under the same license as the package itself. ----------------------------------------------------------------------- Files: generic/ffa.c Copyright (c) 1995 Roger Lindell Distributed under the GNU general public licence, though it's unclear from the package itself. Here is a letter from the author to a Fedora legal team: Subject: RE: Looking for the Roger Lindell who wrote "ffa.c" From: Roger Lindell Date: 02/13/2013 02:09 AM To: Tom Callaway Hello Tom, You found the correct Roger Lindell. I am the original author of ffa.c but it was a port of FORTRAN code from an old IEEE book on Digital Signal Processing so I'm not quite sure if I'm the copyright holder or not. If I am the copyright holder then you are free to use it under GPL. Best regards, Roger -----Original Message----- From: Tom Callaway [mailto:tcallawa@redhat.com] Sent: den 12 februari 2013 21:39 To: Roger Lindell Subject: Looking for the Roger Lindell who wrote "ffa.c" Hello, I apologize if I have contacted the wrong Roger Lindell, but I am looking for the copyright holder (and author) of "ffa.c", a source file included with the Snack audio utility for TCL. If this is not you, sorry to have wasted your time! However, if it is you, fantastic! We are trying to determine the license terms for this piece of source code, and no license is indicated in the file. We think it is very likely that this code is under the same license as the rest of Snack, which is the GNU General Public License (GPL) v2 or later, but we are hoping you can confirm this. Thanks in advance, Tom Callaway Fedora Legal == Fedora Project debian/tcl-snack-doc.install0000644000000000000000000000023312174776121013206 0ustar doc/* usr/share/doc/tcl-snack-doc/html demos/python/* usr/share/doc/tcl-snack-doc/examples/python demos/tcl/* usr/share/doc/tcl-snack-doc/examples/tcl debian/changelog0000644000000000000000000003071012214264660011044 0ustar snack (2.2.10.20090623-dfsg-4) unstable; urgency=low * Fixed conflicts in libsnack-oss and libsnack-alsa dependencies which prevented the tcl-snack to be installable (closes: #722431). -- Sergei Golovan Thu, 12 Sep 2013 11:13:26 +0400 snack (2.2.10.20090623-dfsg-3) unstable; urgency=low * Documented license for generic/SnackOgg.c, generic/jkFormant.h, generic/jkFormant.c and generic/sigproc2.c in debian/copyright (closes: #721507). -- Sergei Golovan Sun, 01 Sep 2013 19:18:13 +0400 snack (2.2.10.20090623-dfsg-2) unstable; urgency=low * Replaced deprecated dh_pysypport from python-support by dh_python2. * Dropped all debian/*.dirs files because they aren't necessary. * Added build-arch and build-indep targets to debian/rules (closes: #648302). * Dropped tcl-snack-alsa package and split out the backend dependent shared libraries into libsnack-oss and libsnack-alsa packages. This helps avoiding complex dependencies for packages like tkabber or wavesurfer (see bug 567713 for discussion). * Swapped libsnack-alsa and libsnack-oss to make ALSA enabled library the default one (closes: #567713). -- Sergei Golovan Sun, 25 Aug 2013 12:21:48 +0400 snack (2.2.10.20090623-dfsg-1) unstable; urgency=low * Acknowledge NMU and include patch by Michael Karcher to fix CVE-2012-6303 to the main package development. * Switched to the 3.0 (quilt) source package format. * Renamed the binary packages to tcl-snack, tcl-snack-dev, tcl-snack-doc to comply the Debian Tcl/Tk policy. * Removed non-free source files jkFormatMP3.c and jkFormatMP3.h, and binary without source snack.mcp.sit.hqx. Also, documented the license for ffa.c, shape.c, snackDecls.h, snackStubInit.c, snackStubLib.c and a few other files in debian/copyright (closes: #688020). * Switched to an alternative upstream with reimplemented MP3 support via libmpg123. This helps to retain MP3 support while dropping the non-free source files jkFormatMP3.c and jkFormatMP3.h which implemented MP3 support internally. Note that after that one has to run [package require snackmpg] to enable MP3. * Removed unneeded headers from the tcl-snack-dev binary package. * Bumped debhelper compatibility version to 8. * Bumped standards version to 3.9.4. -- Sergei Golovan Sat, 27 Jul 2013 20:49:27 +0400 snack (2.2.10-dfsg1-12.1) unstable; urgency=low * Non-maintainer upload. * Include patch by Michael Karcher to fix CVE-2012-6303 (Closes: #695614). -- John Paul Adrian Glaubitz Wed, 02 Jan 2013 00:56:47 +0100 snack (2.2.10-dfsg1-12) unstable; urgency=low * Fixed FTBFS for non-linux architectures. * Added Tk package to suggested packages list because Snack has sound visualization support. -- Sergei Golovan Wed, 10 Aug 2011 21:46:20 +0400 snack (2.2.10-dfsg1-11) unstable; urgency=low * Use linux-any wildcard to express build dependency on libasound2-dev (closes: #634299). * Bumped standards version to 3.9.2. -- Sergei Golovan Wed, 10 Aug 2011 14:00:50 +0400 snack (2.2.10-dfsg1-10) experimental; urgency=low * Rebuild snack with Tcl/Tk 8.5. * Added a patch which fixes several cases of searching for arguments beyond the array of them (closes: #582601). * Added ${misc:Depends} substitution variable to debian/control because the package is using debhelper to build. * Added patch which removes unnecessary libraries from the list libsnack.so links to. * Bumped standards version to 3.9.0. -- Sergei Golovan Thu, 22 Jul 2010 22:23:47 +0400 snack (2.2.10-dfsg1-9) unstable; urgency=low * Added patch which makes snack build with glibc 2.10 (closes: #548641). * Use quilt for patch management. * Bumped standards version to 3.8.3. -- Sergei Golovan Thu, 29 Oct 2009 21:58:50 +0300 snack (2.2.10-dfsg1-8) unstable; urgency=low * Borrowed patch from Jeremiah at Myah OS which makes libsnack2-alsa working with ALSA 1.0.16 (closes: #503398). -- Sergei Golovan Sat, 25 Oct 2008 21:33:33 +0400 snack (2.2.10-dfsg1-7) unstable; urgency=low * Added new binary package libsnack2-alsa with enabled ALSA (closes: #240244). * Bumped standards version to 3.8.0. * Mangled Debian version in debian/watch. * Removed build essential package dpkg-dev from build dependencies. -- Sergei Golovan Fri, 04 Jul 2008 16:07:37 +0400 snack (2.2.10-dfsg1-6) unstable; urgency=low * Converted copyright to UTF-8. * Moved python-tksnack package to python section. * Bumped standards version to 3.7.3. -- Sergei Golovan Sat, 09 Feb 2008 11:44:42 +0300 snack (2.2.10-dfsg1-5) unstable; urgency=low * Adapted the package to Debian Tcl/Tk policy. This includes moving the Tcl modules into a subdirectory of /usr/lib/tcltk and switching to default tcl package in dependencies. * Added Homepage field in debian/control. -- Sergei Golovan Sun, 18 Nov 2007 12:20:24 +0300 snack (2.2.10-dfsg1-4) unstable; urgency=low * Fixed binary-indep and binary-arch targets in debian/rules, and moved python-support to build-depends-indep dependencies. * Rewritten clean target in debian/rules to ignore only missing Makefile error. * Added uscan control script debian/watch. -- Sergei Golovan Sun, 16 Sep 2007 21:22:23 +0400 snack (2.2.10-dfsg1-3) unstable; urgency=low * Added python-tksnack package which provides python interface to snack (closes: #260100). * Changed package priority to optional and made descriptions more clear. * Moved documentation from /usr/share/doc/libsnack2 to /usr/share/doc/libsnack2-doc directory. * Added libsnack2-doc to suggested packages for libsnack2 and python-tksnack, and vice versa. -- Sergei Golovan Sun, 26 Aug 2007 14:23:34 +0400 snack (2.2.10-dfsg1-2) unstable; urgency=low * New maintainer's email address sgolovan@debian.org. * Enabling ALSA leads to a regression, so disabled it again (closes: #431341). -- Sergei Golovan Sat, 04 Aug 2007 21:35:18 +0400 snack (2.2.10-dfsg1-1) unstable; urgency=low * New maintainer Sergei Golovan (closes: #406132). * New upstream release. * Enabled ALSA during build (closes: #240244). * Added get-orig-source target to debian/rules. * Fixed clean target in debian/rules. * Fixed compressing examples and their permissions. * Removed postinst and prerm scripts because they are empty. * Added homepage to debian/control. * Removed redundant build-dependency on libx11-dev. * Moved libsnackstub library to libsnack2-dev package. -- Sergei Golovan Sun, 13 May 2007 13:56:40 +0400 snack (2.2.9.dfsg-2) unstable; urgency=low * QA upload. * Set maintainer to QA Group; Orphaned: #406132 * Update debian/copyright * Replace call to deprecated dh_installmanpages * Conforms with latest Standards Version 3.7.2 -- Michael Ablassmeier Tue, 23 Jan 2007 08:41:42 +0100 snack (2.2.9.dfsg-1.1) unstable; urgency=medium * Non-maintainer upload for release critical bugs. * Rework debian/rules to actually put content into the -dev package. (Closes: #362436, #334834) * Remove binary-only tclkit-linux-x86 from upstream tarball. (Closes: #319985) * Make package binNMU-safe. -- Thijs Kinkhorst Thu, 12 Oct 2006 15:27:16 +0200 snack (2.2.9-1) unstable; urgency=low * New upstream release (closes: #294713) * change build-dep from tk8.3-dev to tk8.4-dev * removed xlibs-dev, included libx11-dev -- David A. van Leeuwen Tue, 22 Mar 2005 14:22:15 +0100 snack (2.2.2-4) unstable; urgency=low * Changed priority and some sections, to prevent override disparities. -- David A. van Leeuwen Tue, 22 Mar 2005 14:14:13 +0100 snack (2.2.2-3) unstable; urgency=low * Installed libvorbis0a (testing), hoping that ${shlibs:Depends} figures out the testing-status dependency (libvorbis0 has disappeared since potato). Installed testing-libc6 for that. Had to remove a whole lot of packages for that. Whatever. Anything for one bug less. (closes: #212297) -- David A. van Leeuwen Wed, 24 Sep 2003 23:52:43 +0200 snack (2.2.2-2) unstable; urgency=low * added a million of -a and -i's in debian/rules. Sorry, but i find the mixed architecture dependen/indenpendent rules files not elegant. (closes: #196635) * 2.1.6-1 closed a lot of minor issues. (closes: #144488) * Repeated short description in control file in -dev and -doc packages. (closes: #134397) -- David A. van Leeuwen Mon, 18 Aug 2003 21:03:01 +0200 snack (2.2.2-1) unstable; urgency=low * new upstream (closes: #200145) (closes: #183133) * remove the freewrap binary from examples/tcl * compile the with stubs (closes: #180526) * spelling error fileformats -> file formats already fixed in previous releases (closes: #125047) -- David A. van Leeuwen Sun, 27 Jul 2003 14:16:27 +0200 snack (2.1.6-3) unstable; urgency=low * included libogg support. (closes: #181313) * updated debian/dirs -- David A. van Leeuwen Tue, 6 May 2003 23:39:03 +0200 snack (2.1.6-2) unstable; urgency=low * copy examples in debian/tmp/libsnack2-doc _after_ dh_compress (closes: #191949) -- David A. van Leeuwen Tue, 6 May 2003 21:52:03 +0200 snack (2.1.6-1) unstable; urgency=low * Accepted all changes kindly provided by Teemu Hukkanen, this changelog entry is just for finding key in keyring * Changed email address -- David A. van Leeuwen Mon, 6 May 2002 11:59:24 +0200 snack (2.1.6-0) unstable; urgency=low * New upstream version. * Compiled with tcl8.3 and tk8.3. * Removed emacs variables from the changelog. * Sanitized dependencies. * Use debhelper correctly in postinst and prerm scripts. * Previous version was a debian native package, fixed. * Fixed spelling error in description. (Closes: #125047) * Added short description to -doc and -dev packages about snack itself. (Closes: #134397) * Upgraded Standards-Version to 3.1.0. * Corrected path to GPL in debian/copyright. -- Teemu Hukkanen Thu, 25 Apr 2002 13:50:40 +0300 snack (2.0.7-2) unstable; urgency=low * Remove debmake from dependency list, add debhelper instead (closes: Bug#112293) * Rebuild on a `woody' i386 machine: get location of tclConfig.sh right (closes: Bug#112340) * removed dh_suidregister, as suggested by itself. -- David A. van Leeuwen Mon, 24 Sep 2001 13:23:08 +0200 snack (2.0.7-1) unstable testing; urgency=low * Complete new dh_make debianization -- David A. van Leeuwen Mon, 20 Aug 2001 16:14:02 +0200 snack (2.0.7-0) unstable testing; urgency=low * New upstream version -- David A. van Leeuwen Fri, 15 Jun 2001 14:42:00 +0200 snack (1.7.0-1) unstable; urgency=low * New upstream release -- David A. van Leeuwen Fri, 25 Aug 2000 15:09:08 +0200 snack (1.6.5-3) unstable; urgency=low * dependency changed from xpm4g to libxpm, solves bug 67945 -- David A. van Leeuwen Fri, 25 Aug 2000 15:02:15 +0200 snack (1.6.5-2) unstable; urgency=low * New upload; try to deal with -all.deb file generated on mixed architecture (not so binary-indep after all?) * Solution: reverse binary-indep and binary-arch dependency of binary in `rules'; because `debstd' clobbers my -dev_..._all.deb package! -- David A. van Leeuwen Mon, 6 Mar 2000 17:41:44 +0100 snack (1.6.5-1) unstable; urgency=low * New upstream version. * Moved usr/doc to usr/share/doc. -- David A. van Leeuwen Thu, 2 Mar 2000 09:57:01 +0100 snack (1.6-2) unstable; urgency=low * Made binary-indep empty, generate snack and snack-dev both in binary-arch (what is the use of binary-indep if it isn't made by dpkg-buildpackage?). Should solve bug #50725. * Do a make distclean, in order to remove config.cache. * Made snack-dev architecture: all. -- David A. van Leeuwen Mon, 22 Nov 1999 16:30:58 +0100 snack (1.6-1) unstable; urgency=low * Initial Release. -- David A. van Leeuwen Thu, 23 Sep 1999 15:24:33 +0200 debian/patches/0000755000000000000000000000000012214264711010615 5ustar debian/patches/args.patch0000644000000000000000000001127511421757667012620 0ustar Patch by Sergei Golovan fixes several cases of access beyond array boundaries. --- snack-2.2.10-dfsg1.orig/generic/jkFilterIIR.c +++ snack-2.2.10-dfsg1/generic/jkFilterIIR.c @@ -125,6 +125,12 @@ return TCL_ERROR; } + if (arg + 1 == objc) { + Tcl_AppendResult(interp, "No argument given for ", + optionStrings[index], " option", (char *) NULL); + return TCL_ERROR; + } + switch ((enum options) index) { /* size of triangular dithering on output */ case DITHER: --- snack-2.2.10-dfsg1.orig/generic/jkPitchCmd.c +++ snack-2.2.10-dfsg1/generic/jkPitchCmd.c @@ -850,7 +850,7 @@ for (arg = 2; arg < objc; arg += 2) { char *opt = Tcl_GetStringFromObj(objv[arg], NULL); - char *val = Tcl_GetStringFromObj(objv[arg+1], NULL); + char *val = (arg + 1 == objc) ? "" : Tcl_GetStringFromObj(objv[arg+1], NULL); if ((strcmp("-method", opt) == 0) && (strcasecmp("esps", val) == 0)) { Get_f0(s, interp, objc, objv); --- snack-2.2.10-dfsg1.orig/generic/jkSoundEdit.c +++ snack-2.2.10-dfsg1/generic/jkSoundEdit.c @@ -291,6 +291,12 @@ string = Tcl_GetStringFromObj(objv[arg], &len); if (strncmp(string, "-units", len) == 0) { + if (arg + 1 == objc) { + Tcl_AppendResult(interp, "No argument given for ", + string, " option", (char *) NULL); + return TCL_ERROR; + } + string = Tcl_GetStringFromObj(objv[arg+1], &len); if (strncasecmp(string, "seconds", len) == 0) type = 1; if (strncasecmp(string, "samples", len) == 0) type = 0; @@ -1152,6 +1158,12 @@ return TCL_ERROR; } + if (arg + 1 == objc) { + Tcl_AppendResult(interp, "No argument given for ", + subOptionStrings[index], " option", (char *) NULL); + return TCL_ERROR; + } + switch ((enum subOptions) index) { case RATE: case FREQUENCY: --- snack-2.2.10-dfsg1.orig/generic/shape.c +++ snack-2.2.10-dfsg1/generic/shape.c @@ -103,6 +103,12 @@ "option", 0, &index) != TCL_OK) { return TCL_ERROR; } + if (arg + 1 == objc) { + Tcl_AppendResult(interp, "No argument given for ", + subOptionStrings[index], " option", (char *) NULL); + return TCL_ERROR; + } + switch ((enum subOptions) index) { case START: { @@ -155,6 +161,12 @@ "option", 0, &index) != TCL_OK) { return TCL_ERROR; } + if (arg + 1 == objc) { + Tcl_AppendResult(interp, "No argument given for ", + subOptionStrings[index], " option", (char *) NULL); + return TCL_ERROR; + } + switch ((enum subOptions) index) { case START: { @@ -384,6 +396,12 @@ "option", 0, &index) != TCL_OK) { return TCL_ERROR; } + if (arg + 1 == objc) { + Tcl_AppendResult(interp, "No argument given for ", + subOptionStrings[index], " option", (char *) NULL); + return TCL_ERROR; + } + switch ((enum subOptions) index) { case START: { --- snack-2.2.10-dfsg1.orig/tests/zargs.test +++ snack-2.2.10-dfsg1/tests/zargs.test @@ -0,0 +1,54 @@ +# Tests cover lack of command arguments + +package require -exact snack 2.2 + +if {[lsearch [namespace children] ::tcltest] == -1} { + package require tcltest + namespace import ::tcltest::* +} + +test zargs-1.1 {pitch command, with missing argument for -start option} { + set s [snack::sound snd -load ex1.wav] + catch {$s pitch -start} msg + $s destroy + set msg +} {No argument given for -start option} + +test zargs-1.2 {length command, with missing argument for -units option} { + set s [snack::sound snd -load ex1.wav] + catch {$s length 10 10 -units} msg + $s destroy + set msg +} {No argument given for -units option} + +test zargs-1.3 {convert command, with missing argument for -rate option} { + set s [snack::sound snd -load ex1.wav] + catch {$s convert -rate 1 -rate} msg + $s destroy + set msg +} {No argument given for -rate option} + +test zargs-1.4 {iir filter, with missing argument for -denominator option} { + set s [snack::sound snd -load ex1.wav] + catch {snack::filter iir -denominator} msg + $s destroy + set msg +} {No argument given for -denominator option} + +test zargs-1.5 {shape command, with missing argument for -start option} { + set s [snack::sound snd -load ex1.wav] + catch {$s shape -start 0 -start} msg + $s destroy + set msg +} {No argument given for -start option} + +test zargs-1.6 {datasamples command, with missing argument for -start option} { + set s [snack::sound snd -load ex1.wav] + catch {$s datasamples -start 0 -start} msg + $s destroy + set msg +} {No argument given for -start option} + +# cleanup +::tcltest::cleanupTests +return debian/patches/series0000644000000000000000000000010212174776701012037 0ustar alsa.patch args.patch libs.patch CVE-2012-6303.patch mpg123.patch debian/patches/mpg123.patch0000644000000000000000000001363012174776121012662 0ustar Author: Sergei Golovan Description: Patch actually enables the alternative support for MP3 sound files. It removes the internal support from the makefile and adds building libsnackmpg.so. Last-Updated: Sat, 27 Jul 2013 20:49:13 +0400 --- snack2.2.10/unix/Makefile.in.orig 2013-07-26 15:36:56.896048198 +0400 +++ snack2.2.10/unix/Makefile.in 2013-07-26 15:58:32.061578455 +0400 @@ -43,13 +43,13 @@ all: libsound${SHLIB_SUFFIX} libsnack${SHLIB_SUFFIX} @DOSTUBLIB@ @LIBNIST@ @LIBOGG@ editversion OBJSO = sound.o jkSound.o jkSoundEngine.o jkSoundEdit.o jkSoundFile.o \ - g711.o @AOBJ@ jkFormatMP3.o jkSoundProc.o ffa.o jkPitchCmd.o \ + g711.o @AOBJ@ jkSoundProc.o ffa.o jkPitchCmd.o \ @STUBINITOBJ@ jkAudio.o jkMixer.o shape.o jkFilter.o jkSynthesis.o \ jkFilterIIR.o jkGetF0.o sigproc.o jkFormant.o sigproc2.o OBJSN = snack.o jkSound.o jkSoundEngine.o jkSoundEdit.o jkSoundFile.o \ jkCanvSpeg.o jkCanvWave.o jkCanvSect.o ffa.o g711.o @AOBJ@ \ - jkFormatMP3.o jkSoundProc.o jkPitchCmd.o @STUBINITOBJ@ \ + jkSoundProc.o jkPitchCmd.o @STUBINITOBJ@ \ jkAudio.o jkMixer.o shape.o jkFilter.o jkSynthesis.o jkFilterIIR.o \ jkGetF0.o sigproc.o jkFormant.o sigproc2.o @@ -296,6 +296,9 @@ LIBOGG = @OGGLIBS@ -lc @TCL_LIB_SPEC@ -L. @SNACK_STUB_LIB_FLAG@ OBJOGG = SnackOgg.o +LIBMPG = -lmpg123 -lc @TCL_LIB_SPEC@ -L. @SNACK_STUB_LIB_FLAG@ +OBJMPG = SnackMpg.o + LIBMP3 = -lc @TCL_LIB_SPEC@ -L. @SNACK_STUB_LIB_FLAG@ OBJMP3 = SnackMP3.o @@ -305,11 +308,11 @@ libsnackogg${SHLIB_SUFFIX}: ${OBJOGG} ${SHLIB_LD} ${OBJOGG} ${LIBOGG} -o libsnackogg${SHLIB_SUFFIX} -SnackMP3.o: $(GENERIC_DIR)/jkFormatMP3.c - $(CC) -I /home/pcmacdon/src/wize/unix/usr/include -c -o SnackMP3.o $(CFLAGS) -DUSE_SNACK_STUBS $(GENERIC_DIR)/jkFormatMP3.c +SnackMpg.o: $(GENERIC_DIR)/SnackMpg.c + $(CC) -c $(CFLAGS) -DUSE_SNACK_STUBS $(GENERIC_DIR)/SnackMpg.c -libsnackmpg${SHLIB_SUFFIX}: ${OBJMP3} - ${SHLIB_LD} ${OBJMP3} ${LIBMP3} -o libsnackmpg${SHLIB_SUFFIX} +libsnackmpg${SHLIB_SUFFIX}: ${OBJMPG} + ${SHLIB_LD} ${OBJMPG} ${LIBMPG} -o libsnackmpg${SHLIB_SUFFIX} install: @if [ ! -d ${DESTDIR}${SNACK_INSTALL_PATH}/snack${VERSION} ] ; then \ @@ -323,6 +326,7 @@ if test -f libsnackstub${VERSION}.a; then cp -f libsnackstub${VERSION}.a ${DESTDIR}${SNACK_INSTALL_PATH}/; fi if test -f libsnacksphere${SHLIB_SUFFIX}; then cp -f libsnacksphere${SHLIB_SUFFIX} ${DESTDIR}${SNACK_INSTALL_PATH}/snack${VERSION}/; fi if test -f libsnackogg${SHLIB_SUFFIX}; then cp -f libsnackogg${SHLIB_SUFFIX} ${DESTDIR}${SNACK_INSTALL_PATH}/snack${VERSION}/; fi + if test -f libsnackmpg${SHLIB_SUFFIX}; then cp -f libsnackmpg${SHLIB_SUFFIX} ${DESTDIR}${SNACK_INSTALL_PATH}/snack${VERSION}/; fi cp -f $(UNIX_DIR)/snack.tcl ${DESTDIR}${SNACK_INSTALL_PATH}/snack${VERSION}/ cp -f pkgIndex.tcl ${DESTDIR}${SNACK_INSTALL_PATH}/snack${VERSION}/ --- snack2.2.10.orig/unix/pkgIndex.tcl.dll +++ snack2.2.10/unix/pkgIndex.tcl.dll @@ -11,3 +11,5 @@ package ifneeded snacksphere 1.2 [list load [file join $dir libsnacksphere.dll]] package ifneeded snackogg 1.3 [list load [file join $dir libsnackogg.dll]] + +package ifneeded snackmpg 1.3 [list load [file join $dir libsnackmpg.dll]] --- snack2.2.10.orig/doc/tcl-man.html +++ snack2.2.10/doc/tcl-man.html @@ -46,7 +46,7 @@  
-Standard extension packages (sound, snackogg, snacksphere)
+Standard extension packages (sound, snackogg, snackmpg, snacksphere)
 
@@ -650,7 +650,7 @@ endianess? ?-start start? ?-end end? ?-guessproperties boolean? ?-progress callback?
    Reads new sound data from a file. Current supported file formats are -WAV, MP3, AU, SND, AIFF, SD, SMP, CSL, and RAW binary. The command returns +WAV, AU, SND, AIFF, SD, SMP, CSL, and RAW binary. The command returns the file format detected. It is possible to force a file to be read as RAW using "-fileformat RAW". In this case the properties of the @@ -1064,6 +1064,12 @@
      The sound package gives you the snack::audio, snack::filter, snack::mixer, and snack::sound commands. Basicly the same functions as the snack package except for graphics. This is useful on some systems if you want to use the tclsh interpreter.

    snackogg

      The snackogg package adds support for the Ogg/Vorbis compressed sound file format. Ogg format files and streams are detected automatically. Encoding is supported. Simply use the extension .ogg when writing files or use the option -fileformat ogg. When creating Ogg files the additional options -nominalbitrate, -maxbitrate, -minbitrate, and -comment apply.
    +

    snackmpg +

      The snackmpg package adds support for the MP3 compressed sound file format. +MP3 format files and streams are detected automatically. Encoding is not currently +supported. MP3 supports the following new readonly options: -author, +-album, -title, -year, -tag, -genre, -played, +-remain.

    snacksphere

      The snacksphere package adds support for reading the NIST/Sphere sound file formats. Sphere files are detected automatically.

    --- snack2.2.10.orig/doc/python-man.html +++ snack2.2.10/doc/python-man.html @@ -158,7 +158,6 @@ be read -- not all of them can be written.)

    • "WAV"
    • -
    • "MP3"
    • "AU"
    • "SND"
    • "AIFF"
    • @@ -381,7 +380,7 @@

      read (filename)

      Reads new sound data from a file. Current supported file formats are WAV, -MP3, AU, SND, AIFF, SD, SMP, CSL, and RAW binary. The command returns the +AU, SND, AIFF, SD, SMP, CSL, and RAW binary. The command returns the file format detected. It is possible to force a file to be read as RAW using by setting the option fileformat=RAW. In this case, properties of the sound data can be specified by hand, using the rate, channels, encoding, debian/patches/libs.patch0000644000000000000000000000051111422106507012562 0ustar --- snack-2.2.10-dfsg1.orig/unix/Makefile.in +++ snack-2.2.10-dfsg1/unix/Makefile.in @@ -35,7 +35,7 @@ LIBSO = -lc @ALIB@ @TCL_LIB_SPEC@ -LIBSN = -lc @TK_LIBS@ @ALIB@ @TCL_LIB_SPEC@ @TK_LIB_SPEC@ +LIBSN = -lc -lX11 @ALIB@ @TCL_LIB_SPEC@ @TK_LIB_SPEC@ SHLIB_LD = @SHLIB_LD@ SHLIB_SUFFIX = @SHLIB_SUFFIX@ debian/patches/CVE-2012-6303.patch0000644000000000000000000000126012174776121013235 0ustar --- snack-2.2.10-dfsg1/generic/jkSoundFile.c 2005-12-14 12:29:38.000000000 +0100 +++ snack-2.2.10-dfsg1+karcher/generic/jkSoundFile.c 2013-01-02 00:29:56.836287036 +0100 @@ -1796,7 +1796,14 @@ GetHeaderBytes(Sound *s, Tcl_Interp *interp, Tcl_Channel ch, char *buf, int len) { - int rlen = Tcl_Read(ch, &buf[s->firstNRead], len - s->firstNRead); + int rlen; + + if (len > max(CHANNEL_HEADER_BUFFER, HEADBUF)){ + Tcl_AppendResult(interp, "Excessive header size", NULL); + return TCL_ERROR; + } + + rlen = Tcl_Read(ch, &buf[s->firstNRead], len - s->firstNRead); if (rlen < len - s->firstNRead){ Tcl_AppendResult(interp, "Failed reading header bytes", NULL); debian/patches/alsa.patch0000644000000000000000000000240712174776121012571 0ustar Patch from Jeremiah at Myah OS which makes tcl-snack-alsa working with ALSA 1.0.16 (closes: #503398). --- snack-2.2.10-dfsg1.orig/unix/jkAudIO_alsa.c +++ snack-2.2.10-dfsg1/unix/jkAudIO_alsa.c @@ -49,6 +49,8 @@ static int minNumChan = 1; +static snd_pcm_uframes_t hw_bufsize = 0; + int SnackAudioOpen(ADesc *A, Tcl_Interp *interp, char *device, int mode, int freq, int nchannels, int encoding) @@ -135,6 +137,9 @@ Tcl_AppendResult(interp, "Failed setting HW params.", NULL); return TCL_ERROR; } + + snd_pcm_hw_params_get_buffer_size (hw_params, &hw_bufsize); + snd_pcm_hw_params_free(hw_params); snd_pcm_prepare(A->handle); if (A->mode == RECORD) { @@ -202,6 +207,8 @@ int i; static char buf[64]; + return; + if (A->debug > 1) Snack_WriteLog(" Enter SnackAudioPost\n"); for (i = 0; i < 1000; i++) { @@ -267,12 +274,14 @@ long SnackAudioPlayed(ADesc *A) { - long avail = _snd_pcm_mmap_hw_ptr(A->handle); + // FIX Here, _snd_pcm_mmap_hw_ptr is deprecated in new alsalib + long played = A->nWritten - (hw_bufsize - SnackAudioWriteable(A)); + // long avail = _snd_pcm_mmap_hw_ptr(A->handle); - if (avail < 0) - avail = 0; + if (played < 0) + return 0; - return (avail+A->nPlayed); + return (played); } void