summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Koloska2015-07-07 23:35:44 +0200
committerUwe Koloska2015-07-07 23:35:44 +0200
commit31815fad53279985500c4994d6663846999deb18 (patch)
tree1c9135b6f55282eb69643d9c4782bfa421615268
downloadaur-31815fad53279985500c4994d6663846999deb18.tar.gz
Initial import
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD46
-rw-r--r--prefs.patch15
-rw-r--r--snack-callbacks.patch31
-rw-r--r--vtcanvas.patch16
-rwxr-xr-xwavesurfer4
-rw-r--r--wavesurfer.desktop9
7 files changed, 146 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f63fbbb0faa7
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+pkgbase = wavesurfer
+ pkgdesc = Open source tool for sound visualization and manipulation
+ pkgver = 1.8.8p4
+ pkgrel = 3
+ url = http://sourceforge.net/projects/wavesurfer/
+ arch = any
+ license = custom
+ depends = tcl>=8.4
+ depends = tk>=8.4
+ depends = snack>=2.2
+ source = http://downloads.sourceforge.net/wavesurfer/wavesurfer-1.8.8p4-src.tgz
+ source = wavesurfer
+ source = wavesurfer.desktop
+ source = vtcanvas.patch
+ source = prefs.patch
+ source = snack-callbacks.patch
+ md5sums = 446f16aecff9cc283cf82636e84feeee
+ md5sums = f875d9c0fcef785ccdf7f4a64e19c52d
+ md5sums = 8a081185545f22d37f34d9de7e0cf303
+ md5sums = b19c250f1fdb5bfb51122e805f612695
+ md5sums = de89341e031a230cfe4387d5bf2b18f7
+ md5sums = a270da18afc012a1e431466f2afef5a8
+
+pkgname = wavesurfer
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..074ae1f17126
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Uwe Koloska <kolewu [at] koloro [dot] de>
+# Contributor: Christoph Drexler <chrdr [at] gmx [dot] at>
+
+pkgname=wavesurfer
+pkgver=1.8.8p4
+pkgrel=3
+pkgdesc="Open source tool for sound visualization and manipulation"
+arch=('any')
+url="http://sourceforge.net/projects/wavesurfer/"
+license=('custom')
+depends=('tcl>=8.4' 'tk>=8.4' 'snack>=2.2')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-src.tgz"
+ wavesurfer
+ wavesurfer.desktop
+ vtcanvas.patch
+ prefs.patch
+ snack-callbacks.patch)
+md5sums=('446f16aecff9cc283cf82636e84feeee'
+ 'f875d9c0fcef785ccdf7f4a64e19c52d'
+ '8a081185545f22d37f34d9de7e0cf303'
+ 'b19c250f1fdb5bfb51122e805f612695'
+ 'de89341e031a230cfe4387d5bf2b18f7'
+ 'a270da18afc012a1e431466f2afef5a8')
+
+build() {
+ cd $pkgname-$pkgver
+
+ patch -p0 -i ../prefs.patch
+ patch -p0 -i ../vtcanvas.patch
+ # if you have a snack version that is compatible with tcl 8.6
+ # you should leave out the following patch
+ patch -p0 -i ../snack-callbacks.patch
+}
+
+package() {
+ mkdir -p $pkgdir/usr/bin/
+ mkdir -p $pkgdir/usr/{lib,share/{doc,licenses}}/wavesurfer/
+ cp -r $srcdir/$pkgname-$pkgver/{demos,icons,msgs,src,tools} $pkgdir/usr/lib/wavesurfer/
+ chmod a+x $pkgdir/usr/lib/wavesurfer/src/app-wavesurfer/wavesurfer.tcl
+ cp $srcdir/$pkgname-$pkgver/doc/* $pkgdir/usr/share/doc/wavesurfer/
+ install -Dm755 $srcdir/wavesurfer $pkgdir/usr/bin/wavesurfer
+ install -Dm644 $srcdir/wavesurfer.desktop $pkgdir/usr/share/applications/wavesurfer.desktop
+ install $srcdir/$pkgname-$pkgver/LICENSE.txt $pkgdir/usr/share/licenses/wavesurfer/LICENSE.txt
+
+ sed -i -e 's|wish8.5|wish|' $pkgdir/usr/lib/wavesurfer/src/app-wavesurfer/wavesurfer.tcl
+}
diff --git a/prefs.patch b/prefs.patch
new file mode 100644
index 000000000000..788a113f07c4
--- /dev/null
+++ b/prefs.patch
@@ -0,0 +1,15 @@
+--- wsurf-orig.tcl 2014-03-16 03:00:12.607411989 +0100
++++ src/wsurf/wsurf.tcl 2014-03-16 02:49:27.807185395 +0100
+@@ -3121,7 +3121,12 @@
+
+ foreach var [list inDev outDev PrintCmd PrintPVCmd linkFile tmpDir \
+ defRate defEncoding defChannels recordLimit showLevel] {
++ if {[info exists Info(Prefs,$var)]} {
+ set Info(Prefs,t,$var) $Info(Prefs,$var)
++ } else {
++ puts "Missing Info(Prefs,$var)"
++ set Info(Prefs,t,$var) {}
++ }
+ }
+
+ if {$Info(Prefs,linkFile)} {
diff --git a/snack-callbacks.patch b/snack-callbacks.patch
new file mode 100644
index 000000000000..3fd70488a81b
--- /dev/null
+++ b/snack-callbacks.patch
@@ -0,0 +1,31 @@
+--- src/app-wavesurfer/wavesurfer_orig.tcl 2014-04-19 01:41:31.272298432 +0200
++++ src/app-wavesurfer/wavesurfer.tcl 2014-04-19 02:09:47.186988595 +0200
+@@ -2,6 +2,28 @@
+ # the next line restarts using wish \
+ exec wish8.5 "$0" "$@"
+
++# ----------------------------------------------------------
++# fix the wrong behaviour of snack callbacks for tcl >= 8.6
++if {[package vcompare $::tcl_patchLevel 8.6] >= 0} {
++ rename unknown _unknown
++ proc ::unknown {args} {
++ # If the command word has the form "namespace inscope ns cmd"
++ # then concatenate its arguments onto the end and evaluate it.
++
++ set cmd [lindex $args 0]
++ if {[regexp "^:*namespace\[ \t\n\]+inscope" $cmd] && [llength $cmd] == 4} {
++ #return -code error "You need an {*}"
++ set arglist [lrange $args 1 end]
++ set ret [catch {uplevel 1 ::$cmd $arglist} result opts]
++ dict unset opts -errorinfo
++ dict incr opts -level
++ return -options $opts $result
++ }
++ uplevel 1 [list _unknown {*}$args]
++ }
++}
++# ----------------------------------------------------------
++
+ set RELEASE 1.8.8p4
+ set BUILD @BUILD@
+ #
diff --git a/vtcanvas.patch b/vtcanvas.patch
new file mode 100644
index 000000000000..8528b2839c32
--- /dev/null
+++ b/vtcanvas.patch
@@ -0,0 +1,16 @@
+see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720397
+ * Catch the error thrown from 'canvas lower top topmost' when no items with
+ that tag exist yet, that tk versions after 8.5.11-2 now want to barf up.
+ Closes: #720397 Hopefully even correctly, there's been no other feedback.
+
+--- vtcanvas-orig.tcl 2014-03-16 02:59:45.661711286 +0100
++++ src/wsurf/vtcanvas.tcl 2014-03-16 02:55:30.197534490 +0100
+@@ -471,7 +471,7 @@
+ $c coords leftbar $x0 0 $x0 $height
+ $c coords rightbar $x1 0 $x1 $height
+ $c raise top
+- $c lower top topmost
++ catch {$c lower top topmost}
+ $c raise selbg
+ $c raise sellen
+ $c lower bottom
diff --git a/wavesurfer b/wavesurfer
new file mode 100755
index 000000000000..0786c4665a70
--- /dev/null
+++ b/wavesurfer
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+cd /usr/lib/wavesurfer/src/app-wavesurfer/
+exec ./wavesurfer.tcl "$@"
diff --git a/wavesurfer.desktop b/wavesurfer.desktop
new file mode 100644
index 000000000000..f998deef421e
--- /dev/null
+++ b/wavesurfer.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Wavesurfer
+Comment=Open source tool for sound visualization and manipulation
+Icon=/usr/lib/wavesurfer/icons/icon48.xpm
+Exec=/usr/lib/wavesurfer/src/app-wavesurfer/wavesurfer.tcl
+Terminal=false
+Type=Application
+Categories=Application;AudioVideo;Audio;AudioVideoEditing;
+StartupNotify=false