mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-18 00:10:04 +00:00
audio/p5-Ogg-Vorbis-Header: unbreak the port's build against Clang 16
write_vorbis() must return an integer, but was returning &PL_sv_undef in several places vs. zero in other error paths. Follow the original* implementation and replace those with zeros as well. To make hunting potential compiler-related bugs easier in the future, respect ${CC} and mute one harmless but particularly annoying warning which clutters the build log way more than does any good. *) https://www.perlmonks.org/?node_id=200588
This commit is contained in:
parent
d4ae0918a3
commit
082c2a3364
@ -5,18 +5,16 @@ MASTER_SITES= CPAN
|
||||
PKGNAMEPREFIX= p5-
|
||||
|
||||
MAINTAINER= perl@FreeBSD.org
|
||||
COMMENT= Manipulate / fetch info from Ogg-Vorbis audio files
|
||||
COMMENT= Fetch/manipulate information from Ogg-Vorbis audio files
|
||||
WWW= https://metacpan.org/release/Ogg-Vorbis-Header
|
||||
|
||||
LICENSE= GPLv2+
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE.GPL
|
||||
|
||||
BROKEN_FreeBSD_14= fails to compile: incompatible pointer to integer conversion returning 'SV *' (aka 'struct sv *')
|
||||
|
||||
BUILD_DEPENDS= ${RUN_DEPENDS}
|
||||
LIB_DEPENDS= libogg.so:audio/libogg \
|
||||
libvorbis.so:audio/libvorbis
|
||||
RUN_DEPENDS= p5-Inline>=0:devel/p5-Inline \
|
||||
RUN_DEPENDS= p5-Inline>=0.44:devel/p5-Inline \
|
||||
p5-Inline-C>=0:devel/p5-Inline-C
|
||||
|
||||
USES= perl5
|
||||
|
@ -0,0 +1,66 @@
|
||||
--- lib/Ogg/Vorbis/Header.pm.orig 2021-01-04 13:38:15 UTC
|
||||
+++ lib/Ogg/Vorbis/Header.pm
|
||||
@@ -7,8 +7,9 @@ use warnings;
|
||||
our $VERSION = '0.11';
|
||||
|
||||
use Inline C => 'DATA',
|
||||
+ CC => $ENV{CC},
|
||||
+ CCFLAGSEX => '-Wno-compound-token-split-by-macro',
|
||||
LIBS => '-logg -lvorbis -lvorbisfile',
|
||||
- INC => '-I/inc',
|
||||
AUTO_INCLUDE => '#include "inc/vcedit.h"',
|
||||
AUTO_INCLUDE => '#include "inc/vcedit.c"',
|
||||
VERSION => '0.11',
|
||||
@@ -476,14 +477,14 @@ int write_vorbis (SV *obj)
|
||||
if ((fd = fopen(inpath, "rb")) == NULL) {
|
||||
perror("Error opening file in Ogg::Vorbis::Header::write\n");
|
||||
free(outpath);
|
||||
- return &PL_sv_undef;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
if ((fd2 = fopen(outpath, "w+b")) == NULL) {
|
||||
perror("Error opening temp file in Ogg::Vorbis::Header::write\n");
|
||||
fclose(fd);
|
||||
free(outpath);
|
||||
- return &PL_sv_undef;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
/* Setup the state and comments structs */
|
||||
@@ -494,7 +495,7 @@ int write_vorbis (SV *obj)
|
||||
fclose(fd2);
|
||||
unlink(outpath);
|
||||
free(outpath);
|
||||
- return &PL_sv_undef;
|
||||
+ return 0;
|
||||
}
|
||||
vc = vcedit_comments(state);
|
||||
|
||||
@@ -526,7 +527,7 @@ int write_vorbis (SV *obj)
|
||||
vcedit_clear(state);
|
||||
unlink(outpath);
|
||||
free(outpath);
|
||||
- return &PL_sv_undef;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
fclose(fd);
|
||||
@@ -536,7 +537,7 @@ int write_vorbis (SV *obj)
|
||||
perror("Error copying tempfile in Ogg::Vorbis::Header::add_comment\n");
|
||||
unlink(outpath);
|
||||
free(outpath);
|
||||
- return &PL_sv_undef;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
if ((fd2 = fopen(inpath, "wb")) == NULL) {
|
||||
@@ -544,7 +545,7 @@ int write_vorbis (SV *obj)
|
||||
fclose(fd);
|
||||
unlink(outpath);
|
||||
free(outpath);
|
||||
- return &PL_sv_undef;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
while ((bytes = fread(buffer, 1, BUFFSIZE, fd)) > 0)
|
@ -1 +1 @@
|
||||
Fetch/manipulate from Ogg-Vorbis audio files.
|
||||
Perl module to fetch and manipulate information from Ogg-Vorbis audio files.
|
||||
|
Loading…
Reference in New Issue
Block a user