Package Details: perl-audio-scan 1.01-7

Git Clone URL: https://aur.archlinux.org/perl-audio-scan.git (read-only, click to copy)
Package Base: perl-audio-scan
Description: Fast C metadata and tag reader for all common audio file formats
Upstream URL: https://metacpan.org/dist/Audio-Scan
Licenses: GPL-2.0-or-later
Submitter: xenoterracide
Maintainer: mbunkus
Last Packager: mbunkus
Votes: 28
Popularity: 0.000000
First Submitted: 2009-12-26 15:02 (UTC)
Last Updated: 2025-07-20 16:54 (UTC)

Latest Comments

1 2 Next › Last »

mgd commented on 2025-07-20 20:30 (UTC) (edited on 2025-07-20 20:37 (UTC) by mgd)

Thanks for updating the package. I have done a closer look at the compiler warnings about format mismatch in printf and it turns out throughout the code the format "%llu" (== long long unsigned) is used to print out uint64_t which is long unsigned.

This happens in a couple of files inside the src dir, namely

  • asf.c
  • flac.c
  • mp4.c
  • mpc.c
  • ogg.c
  • opus.c
  • wavpack.c

In all these 7 files '%llu' has to be replaced by '%lu', at least on amd64 Linux using a current gnu compiler toolchain.

Not sure this is an upstream problem or whether we should use that in the Arch Linux AUR package.

mgd commented on 2025-07-18 11:00 (UTC) (edited on 2025-07-18 11:12 (UTC) by mgd)

For this module to build under perl 5.42 you need to patch Scan.xs by replacing all char *, with something like SV *self,

I'll try to add a patch though I'm not sure it won't get mangled...


--- src/Audio-Scan-1.01/Scan.xs 2018-07-10 05:07:55.000000000 +0200
+++ src.new/Audio-Scan-1.01/Scan.xs 2025-07-18 12:42:35.784619674 +0200
@@ -214,7 +214,7 @@
 MODULE = Audio::Scan       PACKAGE = Audio::Scan

 HV *
-_scan( char *, char *suffix, PerlIO *infile, SV *path, int filter, int md5_size, int md5_offset )
+_scan( SV *self, char *suffix, PerlIO *infile, SV *path, int filter, int md5_size, int md5_offset )
 CODE:
 {
   taghandler *hdl;
@@ -266,7 +266,7 @@
   RETVAL

 int
-_find_frame( char *, char *suffix, PerlIO *infile, SV *path, int offset )
+_find_frame( SV *self, char *suffix, PerlIO *infile, SV *path, int offset )
 CODE:
 {
   taghandler *hdl;
@@ -282,7 +282,7 @@
   RETVAL

 HV *
-_find_frame_return_info( char *, char *suffix, PerlIO *infile, SV *path, int offset )
+_find_frame_return_info( SV *self, char *suffix, PerlIO *infile, SV *path, int offset )
 CODE:
 {
   taghandler *hdl = _get_taghandler(suffix);
@@ -306,7 +306,7 @@
   RETVAL

 int
-is_supported(char *, SV *path)
+is_supported(SV *self, SV *path)
 CODE:
 {
   char *suffix = strrchr( SvPVX(path), '.' );
@@ -322,7 +322,7 @@
   RETVAL

 SV *
-type_for(char *, SV *suffix)
+type_for(SV *self, SV *suffix)
 CODE:
 {
   taghandler *hdl = NULL;
@@ -360,7 +360,7 @@
   RETVAL

 AV *
-extensions_for(char *, SV *type)
+extensions_for(SV *self, SV *type)
 CODE:
 {
   int i, j;

mbunkus commented on 2014-03-02 17:16 (UTC)

Thanks for the heads-up. I've removed perl-file-slurp from the dependencies.

kolewu commented on 2014-02-28 10:50 (UTC)

Dependecy on perl-file-slurp-tiny is now correctly declared in package perl-tree-dag-node so no dependency on perl-file-slurp is needed anymore.

kolewu commented on 2014-02-27 11:09 (UTC)

I have filed a report: https://bugs.archlinux.org/task/39063

mbunkus commented on 2014-02-27 07:33 (UTC)

File::Slurp::Tiny is not a dependency of Audio::Scan directly. According to [1] it is a recursive dependency of Test::Warn ( -> Test::Tree_DAG -> File::Slurp::Tiny). So please report this issue with the maintainer(s) of those packages. That I've added perl-file-slurp earlier has already been a workaround for those maintainers not doing their job properly :( [1] http://deps.cpantesters.org/?module=Audio%3A%3AScan;perl=latest

mgd commented on 2014-02-26 21:57 (UTC)

Failed to makepkg. The tests seem to depend on perl-file-slurp-tiny which I have not found in the regular or AUR repositories. Any hint ?

mbunkus commented on 2013-11-05 15:51 (UTC)

@KOL-93: done, thanks.

KOL-93 commented on 2013-11-05 09:44 (UTC)

community/perl-file-slurp is needed as dependency t/mp3.t ............ Can't locate File/Slurp.pm in @INC (you may need to install the File::Slurp module) (@INC contains: /tmp/yaourt-tmp-kol/aur-perl-audio-scan/src/Audio-Scan-0.93/blib/lib /tmp/yaourt-tmp-kol/aur-perl-audio-scan/src/Audio-Scan-0.93/blib/arch /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/share/perl5/vendor_perl/Tree/DAG_Node.pm line 10. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Tree/DAG_Node.pm line 10. Compilation failed in require at (eval 5) line 2.

mbunkus commented on 2013-08-19 20:16 (UTC)

Thanks. However, I'm not using your patch: 1. Custom variables don't play nice with the AUR web interface[1]. Therefore I don't use them in the packages I maintain. 2. I've re-modeled the build/check/package functions to the way I usually handle them in other Perl AUR packages which also fixes the $srcdir issue. 3. I've added arm to the "arch" array as suggested. [1] https://wiki.archlinux.org/index.php/Arch_Packaging_Standards#Package_etiquette