From a749101d30c42fa889afdfd96a5ed11f660c92d3 Mon Sep 17 00:00:00 2001 From: Timothy Gu Date: Thu, 1 Jan 2015 00:42:35 -0800 Subject: [PATCH] Fix almp3 recipe --- media-libs/almp3/almp3-2.0.4.recipe | 78 +++++++-- media-libs/almp3/patches/almp3-2.0.4.patch | 50 ------ media-libs/almp3/patches/almp3-2.0.4.patchset | 165 ++++++++++++++++++ 3 files changed, 224 insertions(+), 69 deletions(-) delete mode 100644 media-libs/almp3/patches/almp3-2.0.4.patch create mode 100644 media-libs/almp3/patches/almp3-2.0.4.patchset diff --git a/media-libs/almp3/almp3-2.0.4.recipe b/media-libs/almp3/almp3-2.0.4.recipe index 7e5cfe81a..b3347967a 100644 --- a/media-libs/almp3/almp3-2.0.4.recipe +++ b/media-libs/almp3/almp3-2.0.4.recipe @@ -1,28 +1,68 @@ -DESCRIPTION="AllegroMP3 is an Allegro wrapper for the mpglib MP3 decoder part of mpg123" +SUMMARY="Allegro wrapper for the mpglib MP3 decoder" +DESCRIPTION='AllegroMP3 (or "almp3" for short) is a wrapper for the MP3 \ +decoder in mpg123 that allows using it in Allegro. It uses an internal copy of \ +mpg123 that is optimized for the x86 platform in SIMD assembly.' HOMEPAGE="http://icculus.org/~eviltypeguy/pkg/almp3/" -SRC_URI="http://icculus.org/~eviltypeguy/pkg/almp3/almp3-2.0.4.tar.bz2" -REVISION="1" -STATUS_HAIKU="stable" -DEPEND="media-libs/allegro >= 4.4" -CHECKSUM_MD5="8fe1517750acf23c07442b31447791a8" +SRC_URI="http://icculus.org/~eviltypeguy/pkg/almp3/almp3-$portVersion.tar.bz2" +CHECKSUM_SHA256='149af1a5ee06b5d7d5a52152db0e35ad6de8dfdd9d281fdac52728ef5d438d70' +LICENSE='GNU LGPL v2.1' +COPYRIGHT='2001-2005 Javier Gonzalez' + +ARCHITECTURES="x86_gcc2 x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +REVISION='2' + +PROVIDES=" + almp3$secondaryArchSuffix = $portVersion + lib:libalmp3$secondaryArchSuffix = $portVersion + " +PROVIDES_devel=" + almp3${secondaryArchSuffix}_devel = $portVersion + devel:libalmp3$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku${secondaryArchSuffix} + lib:liballeg${secondaryArchSuffix} >= 4.4 + " + +BUILD_PREREQUIRES=" + cmd:gcc${secondaryArchSuffix} + cmd:install + cmd:ld${secondaryArchSuffix} + cmd:make + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:liballeg${secondaryArchSuffix} >= 4.4 + " + +SOURCE_DIR='almp3' + +PATCHES="almp3-$portVersion.patchset" BUILD() { - cd almp3 - mkdir -p obj/haiku/dynamic - mkdir -p obj/haiku/static - mkdir -p lib/haiku - make TARGET=HAIKU_STATIC - make TARGET=HAIKU_SHARED + make $jobArgs TARGET=HAIKU_STATIC + make $jobArgs TARGET=HAIKU_DYNAMIC } INSTALL() { - cd almp3 - - make install prefix=/boot/common \ - INSTALL="install -c" \ - INSTALL_INFO="install-info" + make install TARGET=HAIKU_STATIC \ + includedir="$includeDir" \ + docdir="$docDir" \ + libdir="$libDir" \ + INSTALL="install -c" + make install TARGET=HAIKU_DYNAMIC \ + includedir="$includeDir" \ + docdir="$docDir" \ + libdir="$libDir" \ + INSTALL="install -c" + + prepareInstalledDevelLib libalmp3 + packageEntries devel \ + "$developDir" } -LICENSE="GNU LGPL v2.1" -COPYRIGHT="2001-2003 Javier Gonzalez" diff --git a/media-libs/almp3/patches/almp3-2.0.4.patch b/media-libs/almp3/patches/almp3-2.0.4.patch deleted file mode 100644 index ee80c22cd..000000000 --- a/media-libs/almp3/patches/almp3-2.0.4.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -urN almp3/Makefile almp3-haiku/Makefile ---- almp3/Makefile 2005-07-26 02:36:11.066846720 +0000 -+++ almp3-haiku/Makefile 2010-06-08 08:16:15.839909376 +0000 -@@ -7,7 +7,7 @@ - #TARGET=MINGW32_STATIC - #TARGET=MINGW32_DLL - #TARGET=LINUX_STATIC --TARGET=SOLARIS_DYNAMIC -+#TARGET=SOLARIS_DYNAMIC - - prefix = /opt/BCallegro - exec_prefix = ${prefix} -@@ -60,6 +60,19 @@ - endif - - -+# HAIKU_STATIC -+ifeq ($(TARGET),HAIKU_STATIC) -+TARGETFLAGS=-Wall -O2 -march=pentium -fomit-frame-pointer -finline-functions -ffast-math -+OBJDIR=obj/haiku/static -+LIBDEST=lib/libalmp3.a -+endif -+ -+# HAIKU_SHARED -+ifeq ($(TARGET),HAIKU_SHARED) -+TARGETFLAGS=-Wall -O2 -march=pentium -fomit-frame-pointer -finline-functions -ffast-math -+OBJDIR=obj/haiku/dynamic -+LIBDEST=lib/libalmp3.so -+endif - - # LINUX_STATIC - ifeq ($(TARGET),LINUX_STATIC) -@@ -106,7 +119,6 @@ - endif - endif - -- - # compiling of the library - %.o: %.c - $(CC) -c $(CFLAGS) $< -o $(OBJDIR)/$@ -@@ -118,7 +130,8 @@ - $(INSTALL_DATA) -D docs/AUTHORS.txt $(DESTDIR)$(docdir)/almp3/AUTHORS.txt - $(INSTALL_DATA) -D docs/COPYING.txt $(DESTDIR)$(docdir)/almp3/COPYING.txt - $(INSTALL_DATA) -D include/almp3.h $(DESTDIR)$(includedir)/almp3.h -- $(INSTALL) -m 755 -D $(LIBDEST) $(DESTDIR)$(libdir)/libalmp3.so -+ $(INSTALL) -m 755 -D lib/libalmp3.so $(DESTDIR)$(libdir)/libalmp3.so -+ $(INSTALL) -m 755 -D lib/libalmp3.a $(DESTDIR)$(libdir)/libalmp3.a - - clean: - rm -f $(OBJECTS2) $(LIBDEST) $(LIBIMP) diff --git a/media-libs/almp3/patches/almp3-2.0.4.patchset b/media-libs/almp3/patches/almp3-2.0.4.patchset new file mode 100644 index 000000000..93d6cee07 --- /dev/null +++ b/media-libs/almp3/patches/almp3-2.0.4.patchset @@ -0,0 +1,165 @@ +From 4bceec3bc45e00d53904c01167a2703d2f5242ac Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Wed, 31 Dec 2014 23:17:09 -0800 +Subject: Fix lvalues + +Casts are not lvalues. + +diff --git a/src/almp3.c b/src/almp3.c +index 0757ca9..e10a693 100644 +--- a/src/almp3.c ++++ b/src/almp3.c +@@ -319,6 +319,7 @@ ALMP3_MP3 *almp3_create_mp3(void *data, int data_len) { + int ret; + char test_outbuf[8192]; + int test_size, framebytes; ++ char **data_ptr = (char **)&data; + + /* test for ID3v1 and if exists, skip it */ + if (memcmp((void *)&p[data_len - 128], "TAG", 3) == 0) { +@@ -330,7 +331,7 @@ ALMP3_MP3 *almp3_create_mp3(void *data, int data_len) { + + /* test for ID3v2 and if exists, skip it */ + data_start_skipped = almp3_get_id3v2_skip_bytes(p); +- (char *)data += data_start_skipped; ++ *data_ptr += data_start_skipped; + data_len -= data_start_skipped; + + /* test the next 16 * MAXFRAMESIZE bytes after ID3v2 until we find one valid frame */ +@@ -378,7 +379,7 @@ ALMP3_MP3 *almp3_create_mp3(void *data, int data_len) { + + data_start_skipped += skipbytes; + data_len -= skipbytes; +- (char *)data += skipbytes; ++ *data_ptr += skipbytes; + } + + /* must be layer III or II */ +-- +1.8.3.4 + + +From 500c50db231aa5bba5bfbd4029215d1a82f7a76f Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Wed, 31 Dec 2014 23:16:56 -0800 +Subject: Add makefile rules for Haiku and make obj and lib dir before building + + +diff --git a/Makefile b/Makefile +index 508570f..43f3654 100644 +--- a/Makefile ++++ b/Makefile +@@ -7,7 +7,7 @@ + #TARGET=MINGW32_STATIC + #TARGET=MINGW32_DLL + #TARGET=LINUX_STATIC +-TARGET=SOLARIS_DYNAMIC ++#TARGET=SOLARIS_DYNAMIC + + prefix = /opt/BCallegro + exec_prefix = ${prefix} +@@ -60,6 +60,19 @@ ALMP3_DLL_EXPORTS=1 + endif + + ++# HAIKU_STATIC ++ifeq ($(TARGET),HAIKU_STATIC) ++TARGETFLAGS=-Wall -O2 -march=pentium -fomit-frame-pointer -finline-functions -ffast-math ++OBJDIR=obj/haiku/static ++LIBDEST=lib/haiku/libalmp3.a ++endif ++ ++# HAIKU_DYNAMIC ++ifeq ($(TARGET),HAIKU_DYNAMIC) ++TARGETFLAGS=-Wall -O2 -march=pentium -fomit-frame-pointer -finline-functions -ffast-math -shared ++OBJDIR=obj/haiku/dynamic ++LIBDEST=lib/haiku/libalmp3.so ++endif + + # LINUX_STATIC + ifeq ($(TARGET),LINUX_STATIC) +@@ -90,6 +103,11 @@ OBJECTS2=$(addprefix $(OBJDIR)/,$(OBJECTS)) + + # making of the library + ++$(LIBDEST): $(dir $(LIBDEST)) ++ ++$(dir $(LIBDEST)): ++ mkdir -p $@ ++ + # MINGW32_DLL + ifeq ($(TARGET),MINGW32_DLL) + $(LIBDEST): $(OBJECTS) +@@ -97,9 +115,9 @@ $(LIBDEST): $(OBJECTS) + + # others + else +-ifeq ($(TARGET),SOLARIS_DYNAMIC) ++ifeq ($(findstring _DYNAMIC,$(TARGET)),_DYNAMIC) + $(LIBDEST): $(OBJECTS) +- $(CC) -o $@ $(OBJECTS2) $(LFLAGS) $(CFLAGS) -lalleg-4.2.0 ++ $(CC) -o $@ $(OBJECTS2) $(LFLAGS) $(CFLAGS) -lalleg + else + $(LIBDEST): $(OBJECTS) + ar rs $(LIBDEST) $(OBJECTS2) +@@ -108,9 +126,12 @@ endif + + + # compiling of the library +-%.o: %.c ++%.o: %.c $(OBJDIR) + $(CC) -c $(CFLAGS) $< -o $(OBJDIR)/$@ + ++$(OBJDIR): ++ mkdir -p $@ ++ + install: + $(INSTALL_DATA) -D README.txt $(DESTDIR)$(docdir)/almp3/README.txt + $(INSTALL_DATA) -D CHANGES.txt $(DESTDIR)$(docdir)/almp3/CHANGES.txt +@@ -118,7 +139,11 @@ install: + $(INSTALL_DATA) -D docs/AUTHORS.txt $(DESTDIR)$(docdir)/almp3/AUTHORS.txt + $(INSTALL_DATA) -D docs/COPYING.txt $(DESTDIR)$(docdir)/almp3/COPYING.txt + $(INSTALL_DATA) -D include/almp3.h $(DESTDIR)$(includedir)/almp3.h +- $(INSTALL) -m 755 -D $(LIBDEST) $(DESTDIR)$(libdir)/libalmp3.so ++ifeq ($(findstring _DYNAMIC,$(TARGET)),_DYNAMIC) ++ $(INSTALL) -m 755 -D $(LIBDEST) $(DESTDIR)$(libdir)/$(notdir $(LIBDEST)) ++else ++ $(INSTALL) -m 644 -D $(LIBDEST) $(DESTDIR)$(libdir)/$(notdir $(LIBDEST)) ++endif + + clean: + rm -f $(OBJECTS2) $(LIBDEST) $(LIBIMP) +-- +1.8.3.4 + + +From 801ceeecb0770d2d6378fcf79339982474d15038 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Thu, 1 Jan 2015 00:38:16 -0800 +Subject: Assume docdir already covers the specific package name + + +diff --git a/Makefile b/Makefile +index 43f3654..32a43bd 100644 +--- a/Makefile ++++ b/Makefile +@@ -133,11 +133,11 @@ $(OBJDIR): + mkdir -p $@ + + install: +- $(INSTALL_DATA) -D README.txt $(DESTDIR)$(docdir)/almp3/README.txt +- $(INSTALL_DATA) -D CHANGES.txt $(DESTDIR)$(docdir)/almp3/CHANGES.txt +- $(INSTALL_DATA) -D docs/ALMP3.txt $(DESTDIR)$(docdir)/almp3/ALMP3.txt +- $(INSTALL_DATA) -D docs/AUTHORS.txt $(DESTDIR)$(docdir)/almp3/AUTHORS.txt +- $(INSTALL_DATA) -D docs/COPYING.txt $(DESTDIR)$(docdir)/almp3/COPYING.txt ++ $(INSTALL_DATA) -D README.txt $(DESTDIR)$(docdir)/README.txt ++ $(INSTALL_DATA) -D CHANGES.txt $(DESTDIR)$(docdir)/CHANGES.txt ++ $(INSTALL_DATA) -D docs/ALMP3.txt $(DESTDIR)$(docdir)/ALMP3.txt ++ $(INSTALL_DATA) -D docs/AUTHORS.txt $(DESTDIR)$(docdir)/AUTHORS.txt ++ $(INSTALL_DATA) -D docs/COPYING.txt $(DESTDIR)$(docdir)/COPYING.txt + $(INSTALL_DATA) -D include/almp3.h $(DESTDIR)$(includedir)/almp3.h + ifeq ($(findstring _DYNAMIC,$(TARGET)),_DYNAMIC) + $(INSTALL) -m 755 -D $(LIBDEST) $(DESTDIR)$(libdir)/$(notdir $(LIBDEST)) +-- +1.8.3.4 +