Commit 1af6d902 authored by Leo's avatar Leo Committed by Natanael Copa

main/faac: upgrade to 1.29.9.2

parent 84db8330
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=faac
pkgver=1.28
pkgrel=12
pkgver=1.29.9.2
pkgrel=0
pkgdesc="FAAC is an AAC audio encoder."
url="http://www.audiocoding.com/"
options="!check" # No testsuite
url="https://www.audiocoding.com/"
arch="all"
license="GPL custom"
subpackages="$pkgname-dev $pkgname-doc"
depends=
license="GPL-3.0-or-later"
makedepends="autoconf automake libtool"
source="https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz
automake.patch
fix-libc-internals.patch
fix-narrowing.patch
"
prepare() {
cd "$srcdir/$pkgname-$pkgver"
update_config_sub || return 1
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
#taken from http://bugs.sourcemage.org/show_bug.cgi?id=15263
if [ "$ALIBC" = "eglibc" ]; then
sed -i \
"s/^\(.*strcasestr\)/\/\/ This is in libc and conflicts: \1 /" \
common/mp4v2/mpeg4ip.h
fi
./bootstrap || return 1
}
subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
source="https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
build() {
cd "$srcdir"/$pkgname-$pkgver
CXXFLAGS="$CXXFLAGS -fpermissive" \
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
|| return 1
make || return 1
--prefix=/usr
make
}
package() {
cd "$srcdir"/$pkgname-$pkgver
make DESTDIR="$pkgdir" install || return 1
install -D -m644 "$srcdir"/$pkgname-$pkgver/libfaac/kiss_fft/COPYING \
"$pkgdir"/usr/share/licenses/faac/COPYING.kiss_fft
make DESTDIR="$pkgdir" install
}
static() {
depends=""
pkgdesc="$pkgdesc (static library)"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib
}
md5sums="80763728d392c7d789cde25614c878f6 faac-1.28.tar.gz
5a52db11e04cce0a7a32bc8565a7aa60 automake.patch
b42dcaea1ef043f27f729730b292708f fix-libc-internals.patch
40f26e9c804137727092a3f21f064eb3 fix-narrowing.patch"
sha256sums="c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df faac-1.28.tar.gz
360f48a026644e8955c1a16228bdebb9f6281203b131d7e7e766ca3cb46d39a6 automake.patch
3ad6d6d84324757ad86a01e489c0c6e63b9f7bc279d6c2514c09efbd927dafa3 fix-libc-internals.patch
27a47ad16cd4bd2e903a52e51466b68937b099b9a87efb560565d555da6597e7 fix-narrowing.patch"
sha512sums="0ef721ad28835e95cad41afc0cb6130e1ebb634cb6dd4b40f649bc2269b7bb5bf2887f6d8f023c74628d521f8bdf55b4dd070f972ecff162a5fe0384e026235b faac-1.28.tar.gz
364199eaf71cb4d8423545b086b24b16120e50f6944d1cdc54482c4639507c5a0156090315c39d749eb396cc029ef751c63cdec93a195fc25fee9b4f9c55ccaa automake.patch
c370cb5f2cca8676dc0b025774e7ac53d5021e97a809a13ef5d54bcd108ed96e667bbd1a98c8fc8071821a5e423f69275f09e0cc8c65d7c9401d0ff2cd77fd74 fix-libc-internals.patch
38d86bc1c6bcf0c516aec72419c56ab92145a71c4d94996ba22f0563648c9a9ee2c16f29e8e75bbd62e227e9608664f57fb724ed3379a6ff9caef878cdd8b1e2 fix-narrowing.patch"
sha512sums="71aaf060d087e866700a3a7c7d447e85709f65709e148610c4b34f5a3e095fa4a5c19f49450610949fd7db12345422b8a116a1d061899c127ad9a1bc30e79c7c faac-1.29.9.2.tar.gz"
--- ./configure.in.orig 2012-12-31 11:43:05.395168229 +0000
+++ ./configure.in 2012-12-31 11:43:20.171958905 +0000
@@ -3,7 +3,7 @@
AC_CONFIG_AUX_DIR(.)
AM_INIT_AUTOMAKE
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADER(config.h)
AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes)
AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no)
--- faac-1.28.orig/common/mp4v2/mp4file_io.cpp
+++ faac-1.28/common/mp4v2/mp4file_io.cpp
@@ -34,13 +34,11 @@
}
return fpos;
} else {
- fpos_t fpos;
- if (fgetpos(pFile, &fpos) < 0) {
+ off_t off = ftello(pFile);
+ if (off == -1) {
throw new MP4Error(errno, "MP4GetPosition");
}
- uint64_t ret;
- FPOS_TO_VAR(fpos, uint64_t, ret);
- return ret;
+ return off;
}
} else {
return m_memoryBufferPosition;
@@ -56,9 +54,7 @@
throw new MP4Error("setting position via Virtual I/O", "MP4SetPosition");
}
} else {
- fpos_t fpos;
- VAR_TO_FPOS(fpos, pos);
- if (fsetpos(pFile, &fpos) < 0) {
+ if (fseeko(pFile, pos, SEEK_SET) < 0) {
throw new MP4Error(errno, "MP4SetPosition");
}
}
--- faac-1.28.orig/common/mp4v2/mp4util.h
+++ faac-1.28/common/mp4v2/mp4util.h
@@ -23,6 +23,10 @@
#define __MP4_UTIL_INCLUDED__
#include <assert.h>
+#ifndef __STRING
+#define __STRING(x) #x
+#endif
+
#ifndef ASSERT
#define ASSERT(expr) \
if (!(expr)) { \
--- faac-1.28.orig/common/mp4v2/mpeg4ip.h
+++ faac-1.28/common/mp4v2/mpeg4ip.h
@@ -153,14 +153,6 @@
#define TO_U64(a) (a##LLU)
#endif
-#ifdef HAVE_FPOS_T___POS
-#define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos)
-#define VAR_TO_FPOS(fpos, var) (fpos).__pos = (var)
-#else
-#define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)(fpos)
-#define VAR_TO_FPOS(fpos, var) (fpos) = (var)
-#endif
-
#define FOPEN_READ_BINARY "r"
#define FOPEN_WRITE_BINARY "w"
#define UINT64_TO_DOUBLE(a) ((double)(a))
--- faac-1.28.orig/common/mp4v2/virtual_io.cpp
+++ faac-1.28/common/mp4v2/virtual_io.cpp
@@ -38,21 +38,18 @@
int FILE_SetPosition(void *user, u_int64_t position)
{
- FILE *fp = (FILE *)user;
- fpos_t fpos;
- VAR_TO_FPOS(fpos, position);
- return fsetpos(fp, &fpos);
+ return fseeko((FILE *) user, position, SEEK_SET);
}
int FILE_GetPosition(void *user, u_int64_t *position)
{
FILE *fp = (FILE *)user;
- fpos_t fpos;
- if (fgetpos(fp, &fpos) < 0) {
+ off_t off;
+ off = ftello(fp);
+ if (off == -1) {
throw new MP4Error(errno, "MP4GetPosition");
}
-
- FPOS_TO_VAR(fpos, u_int64_t, *position);
+ *position = off;
return 0;
}
https://raw.githubusercontent.com/openembedded/meta-openembedded/master/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch
--- faac-1.28/common/mp4v2/atom_standard.cpp.orig 2016-06-16 07:59:21.657040761 -0400
+++ faac-1.28/common/mp4v2/atom_standard.cpp 2016-06-16 08:01:50.613036724 -0400
@@ -22,15 +22,15 @@
#include "mp4common.h"
#include "atoms.h"
-static const char name[5]={0251,'n', 'a', 'm', '\0'};
-static const char art[5]={0251,'A', 'R', 'T', '\0'};
-static const char wrt[5]={0251,'w', 'r', 't', '\0'};
-static const char alb[5]={0251,'a', 'l', 'b', '\0'};
-static const char day[5]={0251,'d', 'a', 'y', '\0'};
-static const char too[5]={0251,'t', 'o', 'o', '\0'};
-static const char cmt[5]={0251,'c', 'm', 't', '\0'};
-static const char gen[5]={0251,'g', 'e', 'n', '\0'};
-static const char grp[5]={0251,'g', 'r', 'p', '\0'};
+static const char name[5]={(char)0251,'n', 'a', 'm', '\0'};
+static const char art[5]={(char)0251,'A', 'R', 'T', '\0'};
+static const char wrt[5]={(char)0251,'w', 'r', 't', '\0'};
+static const char alb[5]={(char)0251,'a', 'l', 'b', '\0'};
+static const char day[5]={(char)0251,'d', 'a', 'y', '\0'};
+static const char too[5]={(char)0251,'t', 'o', 'o', '\0'};
+static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'};
+static const char gen[5]={(char)0251,'g', 'e', 'n', '\0'};
+static const char grp[5]={(char)0251,'g', 'r', 'p', '\0'};
MP4StandardAtom::MP4StandardAtom (const char *type) : MP4Atom(type)
{
--- faac-1.28/common/mp4v2/mp4atom.cpp.orig 2016-06-16 08:03:07.777034633 -0400
+++ faac-1.28/common/mp4v2/mp4atom.cpp 2016-06-16 08:03:54.629033363 -0400
@@ -264,11 +264,11 @@
}
break;
case 0251:
- static const char name[5]={0251,'n', 'a', 'm', '\0'};
- static const char cmt[5]={0251,'c', 'm', 't', '\0'};
- static const char cpy[5]={0251,'c', 'p', 'y', '\0'};
- static const char des[5]={0251,'d', 'e', 's','\0'};
- static const char prd[5]={0251, 'p', 'r', 'd', '\0'};
+ static const char name[5]={(char)0251,'n', 'a', 'm', '\0'};
+ static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'};
+ static const char cpy[5]={(char)0251,'c', 'p', 'y', '\0'};
+ static const char des[5]={(char)0251,'d', 'e', 's','\0'};
+ static const char prd[5]={(char)0251, 'p', 'r', 'd', '\0'};
if (ATOMID(type) == ATOMID(name) ||
ATOMID(type) == ATOMID(cmt) ||
ATOMID(type) == ATOMID(cpy) ||
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment