diff --git a/testing/atomicparsley/APKBUILD b/testing/atomicparsley/APKBUILD
new file mode 100644
index 0000000000000000000000000000000000000000..34ac6a1504bf81ea004887df329f75aa5c151733
--- /dev/null
+++ b/testing/atomicparsley/APKBUILD
@@ -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"
diff --git a/testing/atomicparsley/musl-fpos_t.patch b/testing/atomicparsley/musl-fpos_t.patch
new file mode 100644
index 0000000000000000000000000000000000000000..35bd8a8f797f0be5ae36ea629d84a8b5fe4a4662
--- /dev/null
+++ b/testing/atomicparsley/musl-fpos_t.patch
@@ -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);