diff options
author | Alexis Ballier <aballier@gentoo.org> | 2020-05-18 18:34:26 +0200 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2020-05-18 18:35:04 +0200 |
commit | e92c80f3bf681e9a92b15faf3ff194848d01b05c (patch) | |
tree | 7289dbc19b0fd7720c90cf7aad6eb1dac39c72dc /media-video | |
parent | dev-ros/visualization_marker_tutorials: eapi7 (diff) | |
download | gentoo-e92c80f3bf681e9a92b15faf3ff194848d01b05c.tar.gz gentoo-e92c80f3bf681e9a92b15faf3ff194848d01b05c.tar.bz2 gentoo-e92c80f3bf681e9a92b15faf3ff194848d01b05c.zip |
media-video/dvdbackup: fix build with latest libdvdread
Patch from freebsd/ubuntu provided to us by Christohper Harrington
Closes: https://bugs.gentoo.org/721732
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Alexis Ballier <aballier@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/dvdbackup/dvdbackup-0.4.2.ebuild | 1 | ||||
-rw-r--r-- | media-video/dvdbackup/files/libdvdread-6.1.0.diff | 92 |
2 files changed, 93 insertions, 0 deletions
diff --git a/media-video/dvdbackup/dvdbackup-0.4.2.ebuild b/media-video/dvdbackup/dvdbackup-0.4.2.ebuild index f4dfc5d11ca9..de49049c825e 100644 --- a/media-video/dvdbackup/dvdbackup-0.4.2.ebuild +++ b/media-video/dvdbackup/dvdbackup-0.4.2.ebuild @@ -16,6 +16,7 @@ RDEPEND=">=media-libs/libdvdread-4.2.0_pre nls? ( virtual/libintl )" DEPEND="${RDEPEND} nls? ( sys-devel/gettext )" +PATCHES=( "${FILESDIR}/libdvdread-6.1.0.diff" ) src_configure() { econf \ diff --git a/media-video/dvdbackup/files/libdvdread-6.1.0.diff b/media-video/dvdbackup/files/libdvdread-6.1.0.diff new file mode 100644 index 000000000000..06986c36c760 --- /dev/null +++ b/media-video/dvdbackup/files/libdvdread-6.1.0.diff @@ -0,0 +1,92 @@ +https://bugs.gentoo.org/721732 + +https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245228 +https://bugs.launchpad.net/dvdbackup/+bug/1869226 + +--- a/src/dvdbackup.c ++++ b/src/dvdbackup.c +@@ -1132,7 +1132,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_ + int size; + + /* DVD handler */ +- ifo_handle_t* ifo_file = NULL; ++ dvd_file_t* ifo_file = NULL; + + + if (title_set_info->number_of_title_sets + 1 < title_set) { +@@ -1181,7 +1181,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_ + if ((streamout_ifo = open(targetname_ifo, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) { + fprintf(stderr, _("Error creating %s\n"), targetname_ifo); + perror(PACKAGE); +- ifoClose(ifo_file); ++ DVDCloseFile(ifo_file); + free(buffer); + close(streamout_ifo); + close(streamout_bup); +@@ -1191,7 +1191,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_ + if ((streamout_bup = open(targetname_bup, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) { + fprintf(stderr, _("Error creating %s\n"), targetname_bup); + perror(PACKAGE); +- ifoClose(ifo_file); ++ DVDCloseFile(ifo_file); + free(buffer); + close(streamout_ifo); + close(streamout_bup); +@@ -1200,31 +1200,31 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_ + + /* Copy VIDEO_TS.IFO, since it's a small file try to copy it in one shot */ + +- if ((ifo_file = ifoOpen(dvd, title_set))== 0) { ++ if ((ifo_file = DVDOpenFile(dvd, title_set, DVD_READ_INFO_FILE))== 0) { + fprintf(stderr, _("Failed opening IFO for title set %d\n"), title_set); +- ifoClose(ifo_file); ++ DVDCloseFile(ifo_file); + free(buffer); + close(streamout_ifo); + close(streamout_bup); + return 1; + } + +- size = DVDFileSize(ifo_file->file) * DVD_VIDEO_LB_LEN; ++ size = DVDFileSize(ifo_file) * DVD_VIDEO_LB_LEN; + + if ((buffer = (unsigned char *)malloc(size * sizeof(unsigned char))) == NULL) { + perror(PACKAGE); +- ifoClose(ifo_file); ++ DVDCloseFile(ifo_file); + free(buffer); + close(streamout_ifo); + close(streamout_bup); + return 1; + } + +- DVDFileSeek(ifo_file->file, 0); ++ DVDFileSeek(ifo_file, 0); + +- if (DVDReadBytes(ifo_file->file,buffer,size) != size) { ++ if (DVDReadBytes(ifo_file,buffer,size) != size) { + fprintf(stderr, _("Error reading IFO for title set %d\n"), title_set); +- ifoClose(ifo_file); ++ DVDCloseFile(ifo_file); + free(buffer); + close(streamout_ifo); + close(streamout_bup); +@@ -1234,7 +1234,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_ + + if (write(streamout_ifo,buffer,size) != size) { + fprintf(stderr, _("Error writing %s\n"),targetname_ifo); +- ifoClose(ifo_file); ++ DVDCloseFile(ifo_file); + free(buffer); + close(streamout_ifo); + close(streamout_bup); +@@ -1243,7 +1243,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_ + + if (write(streamout_bup,buffer,size) != size) { + fprintf(stderr, _("Error writing %s\n"),targetname_bup); +- ifoClose(ifo_file); ++ DVDCloseFile(ifo_file); + free(buffer); + close(streamout_ifo); + close(streamout_bup); + |