Fix almp3 recipe

This commit is contained in:
Timothy Gu
2015-01-01 00:42:35 -08:00
parent 7b382b007c
commit a749101d30
3 changed files with 224 additions and 69 deletions

View File

@@ -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"

View File

@@ -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)

View File

@@ -0,0 +1,165 @@
From 4bceec3bc45e00d53904c01167a2703d2f5242ac Mon Sep 17 00:00:00 2001
From: Timothy Gu <timothygu99@gmail.com>
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 <timothygu99@gmail.com>
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 <timothygu99@gmail.com>
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