aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/easytag/README7
-rw-r--r--audio/easytag/doinst.sh4
-rw-r--r--audio/easytag/easytag.SlackBuild110
-rw-r--r--audio/easytag/easytag.info12
-rw-r--r--audio/easytag/patch_easytag_216_cddb_manual_search_fix.diff164
-rw-r--r--audio/easytag/slack-desc19
6 files changed, 316 insertions, 0 deletions
diff --git a/audio/easytag/README b/audio/easytag/README
new file mode 100644
index 0000000000000..41df799bd7171
--- /dev/null
+++ b/audio/easytag/README
@@ -0,0 +1,7 @@
+EasyTAG - Tag editor for MP3, ogg vorbis and various other files.
+
+EasyTAG is a utility for viewing and editing tags for MP3, MP2, FLAC
+Ogg Vorbis, MP4/AAC, MusePack and Monkey's Audio files. Its simple
+and nice GTK2 interface makes tagging easier under GNU/Linux.
+
+This requires id3lib.
diff --git a/audio/easytag/doinst.sh b/audio/easytag/doinst.sh
new file mode 100644
index 0000000000000..3c42a48a14d2c
--- /dev/null
+++ b/audio/easytag/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/audio/easytag/easytag.SlackBuild b/audio/easytag/easytag.SlackBuild
new file mode 100644
index 0000000000000..52abf87799234
--- /dev/null
+++ b/audio/easytag/easytag.SlackBuild
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+# Slackware build script for easytag
+
+# Copyright 2006 Halim Issa <yallaone@gmail.com>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''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 AUTHOR 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.
+
+# Updated and now maintained by crocket (crockabiscuit@yahoo.com)
+
+PRGNAM=easytag
+VERSION=2.1.6
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+DOCS="COPYING ChangeLog* INSTALL README TODO USERS-GUIDE THANKS \
+ doc/EasyTAG_Documentation.html doc/id3 doc/vorbis"
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+cd $PRGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Apply the patch downloaded by easytag.info
+cat $CWD/patch_easytag_216_cddb_manual_search_fix.diff | patch -p1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --enable-shared=yes \
+ --enable-static=no \
+ --disable-debug \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cat $CWD/$PRGNAM.info > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.info
+# We don't need this twice
+rm $PKG/usr/share/easytag/ChangeLog
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $(find $PKG/usr/man -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+
diff --git a/audio/easytag/easytag.info b/audio/easytag/easytag.info
new file mode 100644
index 0000000000000..8fa276df3b28b
--- /dev/null
+++ b/audio/easytag/easytag.info
@@ -0,0 +1,12 @@
+PRGNAM="easytag"
+VERSION="2.1.6"
+HOMEPAGE="http://easytag.sourceforge.net/"
+DOWNLOAD="http://downloads.sourceforge.net/easytag/easytag-2.1.6.tar.bz2 \
+ http://downloads.sourceforge.net/easytag/patch_easytag_216_cddb_manual_search_fix.diff"
+DOWNLOAD_x86_64=""
+MD5SUM="6c5b9dc2bf1f3b0a11bd4efc81aaa9ee \
+ 3e968c6c990e931c1d6002437c8be5c5"
+MD5SUM_x86_64=""
+MAINTAINER="crocket"
+EMAIL="crockabiscuit@yahoo.com"
+APPROVED="rworkman"
diff --git a/audio/easytag/patch_easytag_216_cddb_manual_search_fix.diff b/audio/easytag/patch_easytag_216_cddb_manual_search_fix.diff
new file mode 100644
index 0000000000000..e7f586afca7c2
--- /dev/null
+++ b/audio/easytag/patch_easytag_216_cddb_manual_search_fix.diff
@@ -0,0 +1,164 @@
+diff -ruN easytag-2.1.6.orig/src/cddb.c easytag-2.1.6/src/cddb.c
+--- easytag-2.1.6.orig/src/cddb.c 2008-03-22 22:57:29.000000000 +0100
++++ easytag-2.1.6/src/cddb.c 2009-08-25 23:16:35.000000000 +0200
+@@ -2158,10 +2158,12 @@
+ */
+ gboolean Cddb_Search_Album_List_From_String (void)
+ {
+- if ( strstr(CDDB_SERVER_NAME_MANUAL_SEARCH,"freedb") != NULL )
+- return Cddb_Search_Album_List_From_String_Freedb();
+- else
++ if ( strstr(CDDB_SERVER_NAME_MANUAL_SEARCH,"gnudb") != NULL )
++ // Use of gnudb
+ return Cddb_Search_Album_List_From_String_Gnudb();
++ else
++ // Use of freedb
++ return Cddb_Search_Album_List_From_String_Freedb();
+ }
+
+
+@@ -2255,7 +2257,7 @@
+ g_free(string);
+ g_free(tmp);
+ g_free(proxy_auth);
+- //g_print("Request : '%s'\n", cddb_in);
++ //g_print("Request Cddb_Search_Album_List_From_String_Freedb : '%s'\n", cddb_in);
+
+ // Send the request
+ gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,_("Sending request ..."));
+@@ -2574,7 +2576,7 @@
+ );
+ next_page_found = FALSE;
+ g_free(proxy_auth);
+- //g_print("Request : '%s'\n", cddb_in);
++ //g_print("Request Cddb_Search_Album_List_From_String_Gnudb : '%s'\n", cddb_in);
+
+ // Send the request
+ gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,_("Sending request ..."));
+@@ -3130,7 +3132,7 @@
+ (proxy_auth=Cddb_Format_Proxy_Authentification())
+ );
+ g_free(proxy_auth);
+- //g_print("Request : '%s'\n", cddb_in);
++ //g_print("Request Cddb_Search_Album_From_Selected_Files : '%s'\n", cddb_in);
+
+ msg = g_strdup_printf(_("Sending request (CddbId: %s, #tracks: %d, Disc length: %d) ..."),
+ cddb_discid,num_tracks,disc_length);
+@@ -3394,24 +3396,47 @@
+ CDDB_USE_PROXY?CDDB_PROXY_PORT:cddb_server_port)) <= 0 )
+ return FALSE;
+
+- // CDDB Request (ex: GET /~cddb/cddb.cgi?cmd=cddb+read+jazz+0200a401&hello=noname+localhost+EasyTAG+0.31&proto=1 HTTP/1.1\r\nHost: freedb.freedb.org:80\r\nConnection: close)
+- // Without proxy : "GET /~cddb/cddb.cgi?..." but doesn't work with a proxy.
+- // With proxy : "GET http://freedb.freedb.org/~cddb/cddb.cgi?..."
+- cddb_in = g_strdup_printf("GET %s%s%s?cmd=cddb+read+"
+- "%s+%s"
+- "&hello=noname+localhost+%s+%s"
+- "&proto=6 HTTP/1.1\r\n"
+- "Host: %s:%d\r\n"
+- "%s"
+- "Connection: close\r\n\r\n",
+- CDDB_USE_PROXY?"http://":"",CDDB_USE_PROXY?cddb_server_name:"", cddb_server_cgi_path,
+- cddbalbum->category,cddbalbum->id,
+- APPNAME,VERSION,
+- cddb_server_name,cddb_server_port,
+- (proxy_auth=Cddb_Format_Proxy_Authentification())
+- );
+- g_free(proxy_auth);
+- //g_print("Request : '%s'\n", cddb_in);
++ if ( strstr(cddb_server_name,"gnudb") != NULL )
++ {
++ // For gnudb
++ // New version of gnudb doesn't use a cddb request, but a http request
++ cddb_in = g_strdup_printf("GET %s%s/gnudb/"
++ "%s/%s"
++ " HTTP/1.1\r\n"
++ "Host: %s:%d\r\n"
++ "User-Agent: %s %s\r\n"
++ "%s"
++ "Connection: close\r\n"
++ "\r\n",
++ CDDB_USE_PROXY?"http://":"", CDDB_USE_PROXY?cddb_server_name:"", // Needed when using proxy
++ cddbalbum->category,cddbalbum->id,
++ cddb_server_name,cddb_server_port,
++ APPNAME,VERSION,
++ (proxy_auth=Cddb_Format_Proxy_Authentification())
++ );
++ }else
++ {
++ // CDDB Request (ex: GET /~cddb/cddb.cgi?cmd=cddb+read+jazz+0200a401&hello=noname+localhost+EasyTAG+0.31&proto=1 HTTP/1.1\r\nHost: freedb.freedb.org:80\r\nConnection: close)
++ // Without proxy : "GET /~cddb/cddb.cgi?..." but doesn't work with a proxy.
++ // With proxy : "GET http://freedb.freedb.org/~cddb/cddb.cgi?..."
++ cddb_in = g_strdup_printf("GET %s%s%s?cmd=cddb+read+"
++ "%s+%s"
++ "&hello=noname+localhost+%s+%s"
++ "&proto=6 HTTP/1.1\r\n"
++ "Host: %s:%d\r\n"
++ "%s"
++ "Connection: close\r\n\r\n",
++ CDDB_USE_PROXY?"http://":"",CDDB_USE_PROXY?cddb_server_name:"", cddb_server_cgi_path,
++ cddbalbum->category,cddbalbum->id,
++ APPNAME,VERSION,
++ cddb_server_name,cddb_server_port,
++ (proxy_auth=Cddb_Format_Proxy_Authentification())
++ );
++ }
++
++
++ g_free(proxy_auth);
++ //g_print("Request Cddb_Get_Album_Tracks_List : '%s'\n", cddb_in);
+
+ // Send the request
+ gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,_("Sending request ..."));
+@@ -3444,20 +3469,38 @@
+ }
+
+
+- // Parse server answer : Check HTTP Header and CDDB Header
++ // Parse server answer : Check HTTP Header (freedb or gnudb) and CDDB Header (freedb only)
+ file = NULL;
+- if ( Cddb_Read_Http_Header(&file,&cddb_out) <= 0
+- || Cddb_Read_Cddb_Header(&file,&cddb_out) <= 0 )
+- {
+- gchar *msg = g_strdup_printf(_("The server returned a wrong answer! (%s)"),cddb_out);
+- gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,msg);
+- Log_Print(LOG_ERROR,"%s",msg);
+- g_free(msg);
+- g_free(cddb_out);
+- if (file)
+- fclose(file);
+- return FALSE;
+- }
++ if ( strstr(cddb_server_name,"gnudb") != NULL )
++ {
++ // For gnudb (don't check CDDB header)
++ if ( Cddb_Read_Http_Header(&file,&cddb_out) <= 0 )
++ {
++ gchar *msg = g_strdup_printf(_("The server returned a wrong answer! (%s)"),cddb_out);
++ gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,msg);
++ Log_Print(LOG_ERROR,"%s",msg);
++ g_free(msg);
++ g_free(cddb_out);
++ if (file)
++ fclose(file);
++ return FALSE;
++ }
++ }else
++ {
++ // For freedb
++ if ( Cddb_Read_Http_Header(&file,&cddb_out) <= 0
++ || Cddb_Read_Cddb_Header(&file,&cddb_out) <= 0 )
++ {
++ gchar *msg = g_strdup_printf(_("The server returned a wrong answer! (%s)"),cddb_out);
++ gtk_statusbar_push(GTK_STATUSBAR(CddbStatusBar),CddbStatusBarContext,msg);
++ Log_Print(LOG_ERROR,"%s",msg);
++ g_free(msg);
++ g_free(cddb_out);
++ if (file)
++ fclose(file);
++ return FALSE;
++ }
++ }
+ g_free(cddb_out);
+
+ }
diff --git a/audio/easytag/slack-desc b/audio/easytag/slack-desc
new file mode 100644
index 0000000000000..3a5c52486f3e5
--- /dev/null
+++ b/audio/easytag/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+easytag: EasyTAG (Tag editor for MP3 and Ogg Vorbis files)
+easytag:
+easytag: EasyTAG is a utility for viewing and editing tags for MP3, MP2, FLAC
+easytag: Ogg Vorbis, MP4/AAC, MusePack and Monkey's Audio files. Its simple
+easytag: and nice GTK2 interface makes tagging easier under GNU/Linux.
+easytag:
+easytag: Homepage: http://easytag.sourceforge.net
+easytag:
+easytag:
+easytag:
+easytag: