testing/atomicparsley: new aport. Fixes #10104

This commit is contained in:
Francesco Colista 2019-03-17 16:34:02 +00:00
parent 7258b7bd2f
commit e4c63c8d3d
2 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,40 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=atomicparsley
pkgver=0.9.6
_gittag=da2f6e4fc120
pkgrel=0
pkgdesc="A command line program for reading, parsing and setting iTunes-style metadata in MPEG4 files"
url="https://atomicparsley.sourceforge.net/"
arch="all"
license="GPL"
makedepends="automake autoconf libtool zlib-dev linux-headers"
source="$pkgname-$pkgver.tar.gz::https://bitbucket.org/wez/atomicparsley/get/$pkgver.tar.gz
musl-fpos_t.patch
"
builddir="$srcdir/wez-$pkgname-$_gittag"
prepare() {
default_prepare
cd "$builddir"
./autogen.sh
}
build() {
cd "$builddir"
./configure --prefix=/usr
make
}
check() {
cd "$builddir"
make check
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install
}
sha512sums="8bf7982dd34b8b38a08508229ae877144149ac0d9feb97e52dac9606a37de570751e4e4b154baa4beb2ce7236297164f3edb42bb8a6c493a624db531cc4de1d2 atomicparsley-0.9.6.tar.gz
5f0803437116672ff011c428137c3217571b31b01af11f8689ceb77f96284fb2c8fce7c719d30a396d0367bed38b8c9a32330df5651e401ac7be11591baaf609 musl-fpos_t.patch"

View File

@ -0,0 +1,24 @@
diff --git a/src/parsley.cpp b/src/parsley.cpp
index 3031711..8a4a7a1 100644
--- a/src/parsley.cpp
+++ b/src/parsley.cpp
@@ -4388,7 +4388,8 @@ void APar_MergeTempFile(FILE* dest_file, FILE *src_file, uint64_t src_file_size,
fpos_t file_offset = {0};
file_offset.__pos = dest_position + file_pos;
#else
- off_t file_offset = dest_position + file_pos;
+ fpos_t file_offset = {0};
+ *(uint64_t*) &file_offset = dest_position + file_pos;
#endif
fsetpos(dest_file, &file_offset);
fwrite(buffer, max_buffer, 1, dest_file);
@@ -4403,7 +4404,8 @@ void APar_MergeTempFile(FILE* dest_file, FILE *src_file, uint64_t src_file_size,
fpos_t file_offset = {0};
file_offset.__pos = dest_position + file_pos;
#else
- off_t file_offset = dest_position + file_pos;
+ fpos_t file_offset = {0};
+ *(uint64_t*) &file_offset = dest_position + file_pos;
#endif
fsetpos(dest_file, &file_offset );
fwrite(buffer, src_file_size - file_pos, 1, dest_file);