mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
gnu: dvdbackup: Fix build with libdvdread 6.1.0+.
* gnu/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch: Add the patch to fix the build. * gnu/local.mk: Ship it. * gnu/packages/video.scm: Use it.
This commit is contained in:
parent
d392af43c5
commit
4eef7ffd5e
3 changed files with 92 additions and 1 deletions
|
|
@ -1201,6 +1201,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/duc-fix-test-sh.patch \
|
||||
%D%/packages/patches/dune-common-skip-failing-tests.patch \
|
||||
%D%/packages/patches/durden-shadow-arcan.patch \
|
||||
%D%/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch \
|
||||
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
||||
%D%/packages/patches/dwarves-threading-reproducibility.patch \
|
||||
%D%/packages/patches/efivar-fix-fprint-format.patch \
|
||||
|
|
|
|||
88
gnu/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch
Normal file
88
gnu/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
diff --git a/src/dvdbackup.c b/src/dvdbackup.c
|
||||
index 5888ce5..fae109d 100644
|
||||
--- a/src/dvdbackup.c
|
||||
+++ b/src/dvdbackup.c
|
||||
@@ -1132,7 +1132,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_info_t* title_set_info, in
|
||||
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_info_t* title_set_info, in
|
||||
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_info_t* title_set_info, in
|
||||
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_info_t* title_set_info, in
|
||||
|
||||
/* 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_info_t* title_set_info, in
|
||||
|
||||
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_info_t* title_set_info, in
|
||||
|
||||
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);
|
||||
|
|
@ -6497,7 +6497,9 @@ Theora videos. Theorafile was written to be used for FNA's VideoPlayer.")
|
|||
"dvdbackup-" version "/"
|
||||
"dvdbackup-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1rl3h7waqja8blmbpmwy01q9fgr5r0c32b8dy3pbf59bp3xmd37g"))))
|
||||
(base32 "1rl3h7waqja8blmbpmwy01q9fgr5r0c32b8dy3pbf59bp3xmd37g"))
|
||||
;; XXX: https://bugs.launchpad.net/dvdbackup/+bug/1869226
|
||||
(patches (search-patches "dvdbackup-with-libdvdread-6.1.0+.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list libdvdcss libdvdread))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue