diff options
-rw-r--r-- | audio/lingot/README | 12 | ||||
-rw-r--r-- | audio/lingot/doinst.sh | 6 | ||||
-rw-r--r-- | audio/lingot/format_string.diff | 61 | ||||
-rw-r--r-- | audio/lingot/lingot.1 | 34 | ||||
-rw-r--r-- | audio/lingot/lingot.SlackBuild | 34 | ||||
-rw-r--r-- | audio/lingot/lingot.info | 8 | ||||
-rw-r--r-- | audio/lingot/mksrctarball.sh | 27 | ||||
-rw-r--r-- | audio/lingot/setcap.sh | 1 |
8 files changed, 141 insertions, 42 deletions
diff --git a/audio/lingot/README b/audio/lingot/README index 2d8842c435..64f8baf177 100644 --- a/audio/lingot/README +++ b/audio/lingot/README @@ -9,7 +9,11 @@ jack-audio-connection-kit is required. Most people who connect musical instruments to their Slackware box will want JACK, since it's required by most serious studio apps (e.g. ardour). -If you want to build without JACK support, set USE_JACK=no in the -script's environment. The resulting package will only support OSS audio, -since lingot doesn't have native ALSA support (but works OK with ALSA's -OSS emulation). +If you want to build without JACK support, set JACK=no in the script's +environment. The resulting package will only support OSS and ALSA audio. + +This package uses POSIX filesystem capabilities to execute with +elevated privileges (required for realtime audio processing). This +may be considered a security/stability risk. Please read +http://www.slackbuilds.org/caps/ for more information. To disable +capabilities, pass SETCAP=no to the script. diff --git a/audio/lingot/doinst.sh b/audio/lingot/doinst.sh index 5fb28930db..3e5691a052 100644 --- a/audio/lingot/doinst.sh +++ b/audio/lingot/doinst.sh @@ -1,3 +1,9 @@ if [ -x /usr/bin/update-desktop-database ]; then /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/audio/lingot/format_string.diff b/audio/lingot/format_string.diff new file mode 100644 index 0000000000..6255311b76 --- /dev/null +++ b/audio/lingot/format_string.diff @@ -0,0 +1,61 @@ +From 4247d5d3e88a5d900fc79b900f9fa2ae346a7bfb Mon Sep 17 00:00:00 2001 +From: Niv Sardi <xaiki@evilgiggle.com> +Date: Wed, 28 Sep 2011 17:42:06 -0300 +Subject: [PATCH] Fixed bug #643435 in debian: error: format not a string + literal and no format arguments [-Werror=format-security] + Removed compilation warning [-Wunused-but-set-variable] + + Patch Author: Ibán Cereijo Graña <ibancg@gmail.com> + +Signed-off-by: Niv Sardi <xaiki@evilgiggle.com> +--- + ChangeLog | 4 ++++ + src/lingot-gui-mainframe.c | 5 ++--- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index 34a56de..1fe3f89 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,4 +1,8 @@ + ++2011-09-27 Ibán Cereijo <ibancg@gmail.com> ++ ++ * Fixed bug #643435 in debian ++ + 2011-08-13 Ibán Cereijo <ibancg@gmail.com> + + * Fixed bug #34007 (#637610 in debian). +diff --git a/src/lingot-gui-mainframe.c b/src/lingot-gui-mainframe.c +index 30c1b69..6124a44 100644 +--- a/src/lingot-gui-mainframe.c ++++ b/src/lingot-gui-mainframe.c +@@ -201,7 +201,6 @@ gboolean lingot_gui_mainframe_callback_gauge_computation(gpointer data) { + unsigned int period; + double error_cents; + LingotMainFrame* frame = (LingotMainFrame*) data; +- unsigned short note_index; + + period = 1000 / GAUGE_RATE; + frame->gauge_computation_uid = g_timeout_add(period, +@@ -211,7 +210,7 @@ gboolean lingot_gui_mainframe_callback_gauge_computation(gpointer data) { + < 10.0)) { + lingot_gauge_compute(frame->gauge, frame->conf->gauge_rest_value); + } else { +- note_index = lingot_gui_mainframe_get_closest_note_index( ++ lingot_gui_mainframe_get_closest_note_index( + frame->core->freq, frame->conf->scale, + frame->conf->root_frequency_error, &error_cents); + lingot_gauge_compute(frame->gauge, error_cents); +@@ -242,7 +241,7 @@ gboolean lingot_gui_mainframe_callback_error_dispatcher(gpointer data) { + (message_type == ERROR) ? GTK_MESSAGE_ERROR + : ((message_type == WARNING) ? GTK_MESSAGE_WARNING + : GTK_MESSAGE_INFO), +- GTK_BUTTONS_CLOSE, error_message); ++ GTK_BUTTONS_CLOSE, "%s", error_message); + gtk_window_set_title(GTK_WINDOW(message_dialog), (message_type + == ERROR) ? _("Error") + : ((message_type == WARNING) ? _("Warning") : _("Info"))); +-- +1.7.7.rc1 + diff --git a/audio/lingot/lingot.1 b/audio/lingot/lingot.1 new file mode 100644 index 0000000000..33cfeb414b --- /dev/null +++ b/audio/lingot/lingot.1 @@ -0,0 +1,34 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH LINGOT 1 "August 11, 2006" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp <n> insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +lingot \- accurate and easy to use musical instrument tuner +.SH SYNOPSIS +.B lingot +.SH DESCRIPTION +lingot is a musical instrument tuner. It's accurate, easy to use, and +highly configurable. Originally conceived to tune electric guitars, +it can now be used to tune any instrument. + +.SH USAGE +lingot does not have any command line argument and is fully configured +through its GUI. +.SH AUTHOR +lingot was written by Ibán Cereijo Graña <ibancg@gmail.com> and Jairo Chapela Martínez <jairochapela@gmail.com> +.PP +This manual page was written by Niv Sardi <xaiki+deb@cxhome.ath.cx>, +for the Debian project (but may be used by others). diff --git a/audio/lingot/lingot.SlackBuild b/audio/lingot/lingot.SlackBuild index 4cf4e9ae3a..0c91449a99 100644 --- a/audio/lingot/lingot.SlackBuild +++ b/audio/lingot/lingot.SlackBuild @@ -1,20 +1,20 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for lingot # Written by B. Watson (yalhcru@gmail.com) +# Licensed under the WTFPL. See http://sam.zoy.org/wtfpl/ for details. + PRGNAM=lingot -VERSION=${VERSION:-20091225} +VERSION=${VERSION:-0.9.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -# Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$( uname -m ) ;; esac fi @@ -44,7 +44,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.xz +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION chown -R root:root . find . \ @@ -53,11 +53,19 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# Slackware doesn't set up the ALSA plughw:0 device by default, so make lingot +# use hw:0 as its default ALSA device. +sed -i 's,plug\(hw:0\),\1,g' README src/*.c + +# Fix a format string error (unlikely but possible segfault/exploit), +# patch borrowed from Debian. +patch -p1 < $CWD/format_string.diff + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ - --enable-jack=${USE_JACK:-yes} \ + --enable-jack=${JACK:-yes} \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --sysconfdir=/etc \ --localstatedir=/var \ @@ -68,11 +76,17 @@ CXXFLAGS="$SLKCFLAGS" \ make make install-strip DESTDIR=$PKG -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +# man page from Debian +mkdir -p $PKG/usr/man/man1 +gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz # These are not documentation.. rm -f $PKG/usr/doc/$PRGNAM-$VERSION/intltool* +# At least one of the doc files is a zero-length placeholder. +find $PKG/usr/doc/$PRGNAM-$VERSION -type f -a -size 0 -print0 | \ + xargs -0 rm -f + # `make install' puts the docs in --docdir, just add the SlackBuild cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild @@ -80,5 +94,11 @@ mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh +if [ "${SETCAP:-yes}" = "yes" ]; then + cat $CWD/setcap.sh >> $PKG/install/doinst.sh + chown root:audio $PKG/usr/bin/$PRGNAM + chmod 0750 $PKG/usr/bin/$PRGNAM +fi + cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/audio/lingot/lingot.info b/audio/lingot/lingot.info index 0f5cb83d56..0c91ddb0d7 100644 --- a/audio/lingot/lingot.info +++ b/audio/lingot/lingot.info @@ -1,10 +1,10 @@ PRGNAM="lingot" -VERSION="20091225" +VERSION="0.9.1" HOMEPAGE="http://www.nongnu.org/lingot/" -DOWNLOAD="http://www.liwjatan.at/files/src/lingot/lingot-20091225.tar.xz" -MD5SUM="235124e2846491114b7cbab6f7613ba5" +DOWNLOAD="http://download.savannah.gnu.org/releases-noredirect/lingot/lingot-0.9.1.tar.gz" +MD5SUM="5a61c88e3770270246385ab9dbc39793" DOWNLOAD_x86_64="" MD5SUM_x86_64="" MAINTAINER="B. Watson" EMAIL="yalhcru@gmail.com" -APPROVED="dsomero" +APPROVED="rworkman" diff --git a/audio/lingot/mksrctarball.sh b/audio/lingot/mksrctarball.sh deleted file mode 100644 index 9364d2bb84..0000000000 --- a/audio/lingot/mksrctarball.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -# Create a source tarball from the lingot CVS repository. -# The result will be /tmp/lingot-$VERSION.tar.xz - -REV=${1:-20091225} - -TMP=${TMP:-/tmp} -WORKDIR=$TMP/tarball.$$.$RANDOM - -set -e - -rm -rf $WORKDIR -mkdir -p $WORKDIR -cd $WORKDIR - -cvs \ - -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/lingot \ - export \ - -D "$REV" \ - lingot - -mv lingot lingot-$REV -tar cvfJ $TMP/lingot-$REV.tar.xz lingot-$REV -md5sum $TMP/lingot-$REV.tar.xz -cd $TMP -rm -rf $WORKDIR diff --git a/audio/lingot/setcap.sh b/audio/lingot/setcap.sh new file mode 100644 index 0000000000..203b40fa5c --- /dev/null +++ b/audio/lingot/setcap.sh @@ -0,0 +1 @@ +[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/lingot |