summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-11-19 14:01:44 +0000
committerSam James <sam@gentoo.org>2024-11-19 14:01:44 +0000
commit539da9b0ab9486281859611c1b5cf3bdeda39fb6 (patch)
tree26bd906127306447879fb04b607b99ec05efb753 /dev-perl
parentdev-libs/stfl: Stabilize 0.24-r5 x86, #922036 (diff)
downloadgentoo-539da9b0ab9486281859611c1b5cf3bdeda39fb6.tar.gz
gentoo-539da9b0ab9486281859611c1b5cf3bdeda39fb6.tar.bz2
gentoo-539da9b0ab9486281859611c1b5cf3bdeda39fb6.zip
dev-perl/Net-FreeDB: C99 fix, use gnudb
freedb.freedb.org -> gnudb.gnudb.org, as freedb is gone. Closes: https://bugs.gentoo.org/883603 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-perl')
-rw-r--r--dev-perl/Net-FreeDB/Net-FreeDB-0.100.0-r2.ebuild (renamed from dev-perl/Net-FreeDB/Net-FreeDB-0.100.0-r1.ebuild)11
-rw-r--r--dev-perl/Net-FreeDB/files/Net-FreeDB-0.100.0-c99.patch69
-rw-r--r--dev-perl/Net-FreeDB/files/Net-FreeDB-0.100.0-gnudb.patch52
3 files changed, 129 insertions, 3 deletions
diff --git a/dev-perl/Net-FreeDB/Net-FreeDB-0.100.0-r1.ebuild b/dev-perl/Net-FreeDB/Net-FreeDB-0.100.0-r2.ebuild
index c5c62a0121a2..b0c747f8de46 100644
--- a/dev-perl/Net-FreeDB/Net-FreeDB-0.100.0-r1.ebuild
+++ b/dev-perl/Net-FreeDB/Net-FreeDB-0.100.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,14 +19,19 @@ RDEPEND="
dev-perl/Moo
>=virtual/perl-libnet-2.120.0
"
-
-BDEPEND="${RDEPEND}
+BDEPEND="
+ ${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
test? (
dev-perl/Test-Most
)
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.100.0-c99.patch
+ "${FILESDIR}"/${PN}-0.100.0-gnudb.patch
+)
+
src_test() {
local my_test_control;
my_test_control=${DIST_TEST_OVERRIDE:-${DIST_TEST:-do parallel}}
diff --git a/dev-perl/Net-FreeDB/files/Net-FreeDB-0.100.0-c99.patch b/dev-perl/Net-FreeDB/files/Net-FreeDB-0.100.0-c99.patch
new file mode 100644
index 000000000000..fc05d9863cd4
--- /dev/null
+++ b/dev-perl/Net-FreeDB/files/Net-FreeDB-0.100.0-c99.patch
@@ -0,0 +1,69 @@
+https://bugs.gentoo.org/883603
+https://rt.cpan.org/Public/Bug/Display.html?id=152242
+
+Description: define read_toc() before using it in discdata get_disc_id()
+ otherwise the build fails with -Werror=implicit-function-declaration
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/1065999
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2024-03-10
+
+--- a/lib/linux.h
++++ b/lib/linux.h
+@@ -46,28 +46,6 @@
+ return ((n % 0xff) << 24 | t << 8 | tot_trks);
+ }
+
+-struct discdata get_disc_id(char* dev)
+-{
+- struct discdata data;
+- int i;
+-
+- data.num_of_trks = read_toc(dev);
+-
+- if (data.num_of_trks == -1) {
+- return data;
+- }
+-
+- data.discid = cddb_discid(data.num_of_trks);
+-
+- for (i = 0; i < data.num_of_trks; i++) {
+- data.track_offsets[i] = (cdtoc[i].frame);
+- }
+-
+- data.seconds = (cdtoc[data.num_of_trks].frame)/75;
+-
+- return data;
+-}
+-
+ int read_toc(char* dev)
+ {
+ int drive, i, status;
+@@ -151,4 +129,26 @@
+ return tochdr.cdth_trk1;
+ }
+
++struct discdata get_disc_id(char* dev)
++{
++ struct discdata data;
++ int i;
++
++ data.num_of_trks = read_toc(dev);
++
++ if (data.num_of_trks == -1) {
++ return data;
++ }
++
++ data.discid = cddb_discid(data.num_of_trks);
++
++ for (i = 0; i < data.num_of_trks; i++) {
++ data.track_offsets[i] = (cdtoc[i].frame);
++ }
++
++ data.seconds = (cdtoc[data.num_of_trks].frame)/75;
++
++ return data;
++}
++
+ #endif //LINUX_H
+
diff --git a/dev-perl/Net-FreeDB/files/Net-FreeDB-0.100.0-gnudb.patch b/dev-perl/Net-FreeDB/files/Net-FreeDB-0.100.0-gnudb.patch
new file mode 100644
index 000000000000..d2a780ae0ce2
--- /dev/null
+++ b/dev-perl/Net-FreeDB/files/Net-FreeDB-0.100.0-gnudb.patch
@@ -0,0 +1,52 @@
+https://rt.cpan.org/Public/Bug/Display.html?id=137752
+
+Description: replace default host freedb.freedb.org with gnudb.gnudb.org.
+ Also remove reference to inaccessible documentation, and fix the non-online
+ test which checks for the default host.
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/991089
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2021-07-16
+
+--- a/FreeDB.pm
++++ b/FreeDB.pm
+@@ -7,7 +7,7 @@
+ use File::Temp;
+
+ has hostname => (is => 'ro', default => $ENV{HOSTNAME} // 'unknown');
+-has remote_host => (is => 'rw', default => 'freedb.freedb.org');
++has remote_host => (is => 'rw', default => 'gnudb.gnudb.org');
+ has remote_port => (is => 'rw', default => 8880);
+ has user => (is => 'rw', default => $ENV{USER} // 'unknown');
+ has timeout => (is => 'rw', default => 120);
+@@ -449,7 +449,7 @@
+
+
+ new() creates and returns a new Net::FreeDB object that is connected
+- to either the given host or freedb.freedb.org as default.
++ to either the given host or gnudb.gnudb.org as default.
+
+ =item lscat
+
+@@ -723,10 +723,6 @@
+ giving the correct drive number will return in an
+ accurate return.
+
+-=head1 Resources
+- The current version of the CDDB Server Protocol can be
+- found at: http://ftp.freedb.org/pub/freedb/latest/CDDBPROTO
+-
+ =head1 AUTHOR
+ David Shultz E<lt>dshultz@cpan.orgE<gt>
+ Peter Pentchev E<lt>roam@ringlet.netE<gt>
+--- a/t/00-basic.t
++++ b/t/00-basic.t
+@@ -10,7 +10,7 @@
+ ok($freedb->hostname eq 'unknown', 'Error setting hostname');
+ }
+
+-ok($freedb->remote_host eq 'freedb.freedb.org', 'Error setting default host');
++ok($freedb->remote_host eq 'gnudb.gnudb.org', 'Error setting default host');
+
+ ok($freedb->remote_port == 8880, 'Error setting default port');
+