diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD index 4e98584..62466c9 100644 --- a/trunk/PKGBUILD +++ b/trunk/PKGBUILD @@ -11,15 +11,23 @@ url="https://sourceforge.net/projects/toolame" license=('LGPL') depends=('glibc') source=(https://downloads.sourceforge.net/sourceforge/toolame/toolame-02l.tgz - toolame-02l.patch) + toolame-02l-fno-common.patch + toolame-02l-Makefile.patch + toolame-02l-uint32_t.patch + toolame-02l-uint.patch) sha256sums=('3b95cd2504bceac4aab2fca03bb3b5974d1d44b5afdd8eb4cc0f0899521bffc4' - 'ec5932294146af74e8861537f42621a5df6e78d46ff45e41f1b4e214401f3bde') + '1e447b4471e39cb8d238686cab45ba1afa7ef52ce4846f9f09a9f6ffa3c6ffd4' + 'f99d95a2a10ba15ed4205277e018adab6d1f42d4bcfa4d5543a9bf067180beb9' + 'e76d347149cb0df2b75d65c448070b04c9f9e7c876d4b54131ef8deeb2ec23cb' + 'd45a1564663337b0f7b50120f3491542b9ceaf6a003b73d786f9f41f01d78dfa') prepare() { - cd $pkgname-$pkgver - patch -p0 < ../toolame-02l.patch - [ "$CARCH" = "x86_64" ] && sed -i "s|-march=i686|-march=x86-64|g" Makefile - sed -e 's|INLINE void putbits|void putbits|' -i bitstream.h # Fix build + cd "$srcdir"/$pkgname-$pkgver + patch -Np1 -i ../toolame-02l-fno-common.patch + patch -Np1 -i ../toolame-02l-Makefile.patch + patch -Np1 -i ../toolame-02l-uint32_t.patch + patch -Np1 -i ../toolame-02l-uint.patch + } build() { diff --git a/trunk/toolame-02l-Makefile.patch b/trunk/toolame-02l-Makefile.patch new file mode 100644 index 0000000..2800955 --- /dev/null +++ b/trunk/toolame-02l-Makefile.patch @@ -0,0 +1,70 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,3 @@ +- +-CC = gcc +- + c_sources = \ + common.c \ + encode.c \ +@@ -26,29 +23,8 @@ + + OBJ = $(c_sources:.c=.o) + +-#Uncomment this if you want to do some profiling/debugging +-#PG = -g -pg +-PG = -fomit-frame-pointer +- +-# Optimize flag. 3 is about as high as you can sanely go with GCC3.2. +-OPTIM = -O3 +- + # These flags are pretty much mandatory +-REQUIRED = -DNDEBUG -DINLINE=inline +- +-#pick your architecture +-ARCH = -march=pentium +-#Possible x86 architectures +-#gcc3.2 => i386, i486, i586, i686, pentium, pentium-mmx +-# pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3, +-# athlon, athlon-tbird, athlon-4, athlon-xp and athlon-mp. +- +-#TWEAK the hell out of the compile. Some of these are real dodgy +-# and will cause program instability +-#TWEAKS = -finline-functions -fexpensive-optimizations -ffast-math \ +-# -malign-double \ +-# -mfancy-math-387 -funroll-loops -funroll-all-loops -pipe \ +-# -fschedule-insns2 -fno-strength-reduce ++REQUIRED = -DNDEBUG -DINLINE= + + #Set a stack of warnings to overcome my atrocious coding style . MFC. + WARNINGS = -Wall +@@ -56,7 +32,7 @@ + + NEW_02L_FIXES = -DNEWENCODE -DNEWATAN + +-CC_SWITCHES = $(OPTIM) $(REQUIRED) $(ARCH) $(PG) $(TWEAKS) $(WARNINGS) $(NEW_02L_FIXES) ++CC_SWITCHES = $(CFLAGS) $(CPPFLAGS) $(REQUIRED) $(WARNINGS) $(NEW_02L_FIXES) + + PGM = toolame + +@@ -75,16 +51,16 @@ + $(CC) $(CC_SWITCHES) -c $< -o $@ + + $(PGM): $(OBJ) Makefile +- $(CC) $(PG) -o $(PGM) $(OBJ) $(LIBS) ++ $(CC) $(LDFLAGS) -o $(PGM) $(OBJ) $(LIBS) + + clean: +- -rm $(OBJ) $(DEP) ++ -rm $(OBJ) $(DEP) 2>/dev/null + + megaclean: +- -rm $(OBJ) $(DEP) $(PGM) \#*\# *~ ++ -rm $(OBJ) $(DEP) $(PGM) \#*\# *~ 2>/dev/null + + distclean: +- -rm $(OBJ) $(DEP) $(PGM) \#* *~ gmon.out gprof* core *shit* *.wav *.mp2 *.c.* *.mp2.* *.da *.h.* *.d *.mp3 *.pcm *.wav logfile ++ -rm $(OBJ) $(DEP) $(PGM) \#* *~ gmon.out gprof* core *shit* *.wav *.mp2 *.c.* *.mp2.* *.da *.h.* *.d *.mp3 *.pcm *.wav logfile 2>/dev/null + + tags: TAGS + diff --git a/trunk/toolame-02l-fno-common.patch b/trunk/toolame-02l-fno-common.patch new file mode 100644 index 0000000..c414324 --- /dev/null +++ b/trunk/toolame-02l-fno-common.patch @@ -0,0 +1,20 @@ +--- a/common.c ++++ b/common.c +@@ -19,6 +19,8 @@ + * + ***********************************************************************/ + ++options glopts; ++ + char *mode_names[4] = { "stereo", "j-stereo", "dual-ch", "single-ch" }; + char *version_names[2] = { "MPEG-2 LSF", "MPEG-1" }; + +--- a/options.h ++++ b/options.h +@@ -19,5 +19,5 @@ + } + options; + +-options glopts; ++extern options glopts; + #endif diff --git a/trunk/toolame-02l-uint.patch b/trunk/toolame-02l-uint.patch new file mode 100644 index 0000000..619c98b --- /dev/null +++ b/trunk/toolame-02l-uint.patch @@ -0,0 +1,27 @@ +diff -aur toolame-02l/audio_read.c toolame-02l-fixed/audio_read.c +--- toolame-02l/audio_read.c 2003-03-01 17:18:30.000000000 -0800 ++++ toolame-02l-fixed/audio_read.c 2005-04-19 22:32:41.288998770 -0700 +@@ -436,7 +436,7 @@ + + if (pcm_aiff_data->sampleSize != sizeof (short) * BITS_IN_A_BYTE) { + fprintf (stderr, "Sound data is not %d bits in \"%s\".\n", +- sizeof (short) * BITS_IN_A_BYTE, file_name); ++ (int)(sizeof (short) * BITS_IN_A_BYTE), file_name); + exit (1); + } + +diff -aur toolame-02l/fft.c toolame-02l-fixed/fft.c +--- toolame-02l/fft.c 2003-03-01 23:14:45.000000000 -0800 ++++ toolame-02l-fixed/fft.c 2005-04-19 22:47:49.019986989 -0700 +@@ -1190,9 +1190,9 @@ + static FLOAT atan_t[ATANSIZE]; + + INLINE FLOAT atan_table(FLOAT y, FLOAT x) { +- int index; ++ unsigned int index; + +- index = (int)(ATANSCALE * fabs(y/x)); ++ index = (unsigned int)(ATANSCALE * fabs(y/x)); + if (index>=ATANSIZE) + index = ATANSIZE-1; + diff --git a/trunk/toolame-02l-uint32_t.patch b/trunk/toolame-02l-uint32_t.patch new file mode 100644 index 0000000..624c342 --- /dev/null +++ b/trunk/toolame-02l-uint32_t.patch @@ -0,0 +1,18 @@ +diff -ur toolame-02l.orig/audio_read.c toolame-02l/audio_read.c +--- toolame-02l.orig/audio_read.c 2003-03-02 03:18:30.000000000 +0200 ++++ toolame-02l/audio_read.c 2009-05-30 15:24:41.000000000 +0300 +@@ -1,4 +1,5 @@ + #include ++#include + #include + #include + #include "common.h" +@@ -329,7 +330,7 @@ + } + } + if (NativeByteOrder == order_littleEndian) { +- samplerate = *(unsigned long *) (&wave_header_buffer[24]); ++ samplerate = *(uint32_t *)(&wave_header_buffer[24]); + } else { + samplerate = wave_header_buffer[27] + + (wave_header_buffer[26] << 8) + diff --git a/trunk/toolame-02l.patch b/trunk/toolame-02l.patch deleted file mode 100644 index 241e89a..0000000 --- a/trunk/toolame-02l.patch +++ /dev/null @@ -1,86 +0,0 @@ ---- Makefile 2006-02-07 16:32:57.000000000 +0100 -+++ Makefile 2006-02-07 16:39:07.000000000 +0100 -@@ -1,6 +1,3 @@ -- --CC = gcc -- - c_sources = \ - common.c \ - encode.c \ -@@ -28,16 +25,16 @@ - - #Uncomment this if you want to do some profiling/debugging - #PG = -g -pg --PG = -fomit-frame-pointer -+PG = -pipe - - # Optimize flag. 3 is about as high as you can sanely go with GCC3.2. --OPTIM = -O3 -+OPTIM = -O2 - - # These flags are pretty much mandatory - REQUIRED = -DNDEBUG -DINLINE=inline - - #pick your architecture --ARCH = -march=pentium -+ARCH = -march=i686 - #Possible x86 architectures - #gcc3.2 => i386, i486, i586, i686, pentium, pentium-mmx - # pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3, -@@ -56,7 +53,7 @@ - - NEW_02L_FIXES = -DNEWENCODE -DNEWATAN - --CC_SWITCHES = $(OPTIM) $(REQUIRED) $(ARCH) $(PG) $(TWEAKS) $(WARNINGS) $(NEW_02L_FIXES) -+CC_SWITCHES = $(OPTIM) $(REQUIRED) $(ARCH) $(PG) $(FLAGS) $(WARNINGS) $(NEW_02L_FIXES) - - PGM = toolame - -@@ -75,16 +72,16 @@ - $(CC) $(CC_SWITCHES) -c $< -o $@ - - $(PGM): $(OBJ) Makefile -- $(CC) $(PG) -o $(PGM) $(OBJ) $(LIBS) -+ $(CC) -o $(PGM) $(OBJ) $(LIBS) - - clean: -- -rm $(OBJ) $(DEP) -+ -rm $(OBJ) $(DEP) 2>/dev/null - - megaclean: -- -rm $(OBJ) $(DEP) $(PGM) \#*\# *~ -+ -rm $(OBJ) $(DEP) $(PGM) \#*\# *~ 2>/dev/null - - distclean: -- -rm $(OBJ) $(DEP) $(PGM) \#* *~ gmon.out gprof* core *shit* *.wav *.mp2 *.c.* *.mp2.* *.da *.h.* *.d *.mp3 *.pcm *.wav logfile -+ -rm $(OBJ) $(DEP) $(PGM) \#* *~ gmon.out gprof* core *shit* *.wav *.mp2 *.c.* *.mp2.* *.da *.h.* *.d *.mp3 *.pcm *.wav logfile 2>/dev/null - - tags: TAGS - - ---- audio_read.c 2003-03-01 17:18:30.000000000 -0800 -+++ audio_read.c 2005-04-19 22:32:41.288998770 -0700 -@@ -436,7 +436,7 @@ - - if (pcm_aiff_data->sampleSize != sizeof (short) * BITS_IN_A_BYTE) { - fprintf (stderr, "Sound data is not %d bits in \"%s\".\n", -- sizeof (short) * BITS_IN_A_BYTE, file_name); -+ (int)(sizeof (short) * BITS_IN_A_BYTE), file_name); - exit (1); - } - - ---- fft.c 2003-03-01 23:14:45.000000000 -0800 -+++ fft.c 2005-04-19 22:47:49.019986989 -0700 -@@ -1190,9 +1190,9 @@ - static FLOAT atan_t[ATANSIZE]; - - INLINE FLOAT atan_table(FLOAT y, FLOAT x) { -- int index; -+ unsigned int index; - -- index = (int)(ATANSCALE * fabs(y/x)); -+ index = (unsigned int)(ATANSCALE * fabs(y/x)); - if (index>=ATANSIZE) - index = ATANSIZE-1; -