From 35be5d695a2a296455b779b7434181ba91339e1a Mon Sep 17 00:00:00 2001 From: crocket Date: Wed, 21 Jul 2010 02:10:04 -0500 Subject: audio/easytag: Added (Tag editor for MP3 and Ogg Vorbis files) Signed-off-by: Robby Workman --- audio/easytag/README | 7 + audio/easytag/doinst.sh | 4 + audio/easytag/easytag.SlackBuild | 110 ++++++++++++++ audio/easytag/easytag.info | 12 ++ .../patch_easytag_216_cddb_manual_search_fix.diff | 164 +++++++++++++++++++++ audio/easytag/slack-desc | 19 +++ 6 files changed, 316 insertions(+) create mode 100644 audio/easytag/README create mode 100644 audio/easytag/doinst.sh create mode 100644 audio/easytag/easytag.SlackBuild create mode 100644 audio/easytag/easytag.info create mode 100644 audio/easytag/patch_easytag_216_cddb_manual_search_fix.diff create mode 100644 audio/easytag/slack-desc (limited to 'audio') diff --git a/audio/easytag/README b/audio/easytag/README new file mode 100644 index 0000000000..41df799bd7 --- /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 0000000000..3c42a48a14 --- /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 0000000000..52abf87799 --- /dev/null +++ b/audio/easytag/easytag.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/sh + +# Slackware build script for easytag + +# Copyright 2006 Halim Issa +# 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 0000000000..8fa276df3b --- /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 0000000000..e7f586afca --- /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 0000000000..3a5c52486f --- /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: -- cgit v1.2.3