Update to dvdrip-0.98.11. Add missing run deps on subtitleripper and xine,

install .desktop icon, provide useful default for DVD device name, and make
drive close/eject buttons work. Also tweak the Linux-specific DVD mounting
code which is required for subtitle ripping -- it now supports an fstab entry
or automatically mounts at a temporary dir, both intended for use with sysctl
kern.usermount=1 since running dvdrip as root is... not recommended.
ok sthen@
This commit is contained in:
stsp 2013-04-06 18:36:21 +00:00
parent 094c0f14d5
commit 6ef6e2e743
6 changed files with 150 additions and 11 deletions

View File

@ -1,10 +1,9 @@
# $OpenBSD: Makefile,v 1.14 2013/03/11 11:10:52 espie Exp $
# $OpenBSD: Makefile,v 1.15 2013/04/06 18:36:21 stsp Exp $
COMMENT= full featured DVD copy program
VERSION= 0.98.6
VERSION= 0.98.11
DISTNAME= dvdrip-${VERSION}
REVISION = 0
CATEGORIES= graphics audio multimedia perl5
HOMEPAGE= http://www.exit1.org/dvdrip/
@ -16,8 +15,11 @@ WANTLIB= c
MASTER_SITES= http://www.exit1.org/dvdrip/dist/
RUN_DEPENDS= graphics/ImageMagick \
devel/desktop-file-utils \
devel/p5-Event-ExecFlow \
multimedia/transcode \
multimedia/subtitleripper \
multimedia/xine-ui \
net/fping \
net/p5-Event-RPC \
x11/p5-Gtk2-Ex-FormFactory \
@ -41,5 +43,9 @@ pre-build:
post-install:
mv ${PREFIX}/${P5SITE}/LocaleData ${PREFIX}/share/locale
${INSTALL_DATA_DIR} ${PREFIX}/share/applications/
${INSTALL_DATA} ${WRKSRC}/dvdrip.desktop ${PREFIX}/share/applications
rm -f ${PREFIX}/${P5SITE}/Video/DVDRip/Config.pm.orig
rm -f ${PREFIX}/${P5SITE}/Video/DVDRip/GUI/Project/Title.pm.orig
.include <bsd.port.mk>

View File

@ -1,5 +1,2 @@
MD5 (dvdrip-0.98.6.tar.gz) = ASaYoqFYK361vhOIXVpehA==
RMD160 (dvdrip-0.98.6.tar.gz) = wHO9wrlro7jtmoZg2Mm1GJp7MiM=
SHA1 (dvdrip-0.98.6.tar.gz) = rxv/a+DD5g2BzJiTdG9BoNIrLoE=
SHA256 (dvdrip-0.98.6.tar.gz) = LEiXPOPpIfEUDY0ihyKgVDfXj9OyJn+4+G5wnhq/heU=
SIZE (dvdrip-0.98.6.tar.gz) = 1604449
SHA256 (dvdrip-0.98.11.tar.gz) = WGwglostqlXAr6rzNNW5uLaJbW6kUHild+FlgGhYw6U=
SIZE (dvdrip-0.98.11.tar.gz) = 2075302

View File

@ -0,0 +1,27 @@
$OpenBSD: patch-lib_Video_DVDRip_Config_pm,v 1.1 2013/04/06 18:36:21 stsp Exp $
DVD device detection relies on HAL, this is a workaround.
--- lib/Video/DVDRip/Config.pm.orig Sat Feb 28 19:28:00 2009
+++ lib/Video/DVDRip/Config.pm Fri Apr 5 18:02:19 2013
@@ -194,11 +194,11 @@ my %CONFIG_PARAMETER = (
dvd_device => {
label => __ "Default DVD device",
type => 'file',
- value => "",
+ value => "/dev/cd0c",
dvd_button => 1,
},
selected_dvd_device => {
- value => "/dev/dvd",
+ value => "/dev/cd0c",
},
eject_command => {
label => __ "Eject Command",
@@ -680,7 +680,7 @@ sub init_settings {
my $self = shift;
if ( $self->get_value("dvd_device") eq "" ) {
- $self->set_value( dvd_device => ($self->get_first_dvd_device || "/dev/dvd") );
+ $self->set_value( dvd_device => ($self->get_first_dvd_device || "/dev/cd0c") );
$self->save;
}

View File

@ -0,0 +1,34 @@
$OpenBSD: patch-lib_Video_DVDRip_GUI_Project_Title_pm,v 1.1 2013/04/06 18:36:21 stsp Exp $
Fix DVD drive close/eject buttons.
--- lib/Video/DVDRip/GUI/Project/Title.pm.orig Sat Feb 28 19:27:59 2009
+++ lib/Video/DVDRip/GUI/Project/Title.pm Fri Apr 5 18:42:11 2013
@@ -431,12 +431,10 @@ sub view_title {
sub eject_dvd {
my $self = shift;
- my $title = $self->selected_title;
+ my $dev = $self->project->dvd_device;
+ $dev =~ s/^\/dev\/(cd[0-9])[a-p]/\1/;
+ my $command = $self->config('eject_command') . " " . $dev;
- my $command
- = $self->config('eject_command') . " " .
- $title->project->dvd_device;
-
system("$command &");
1;
@@ -445,10 +443,9 @@ sub eject_dvd {
sub insert_dvd {
my $self = shift;
- my $title = $self->selected_title;
-
- my $command = $self->config('eject_command') . " -t "
- . $title->project->dvd_device;
+ my $dev = $self->project->dvd_device;
+ $dev =~ s/^\/dev\/(cd[0-9])[a-p]/\1/;
+ my $command = $self->config('eject_command') . " -t " . $dev;
system("$command &");

View File

@ -0,0 +1,69 @@
$OpenBSD: patch-lib_Video_DVDRip_Project_pm,v 1.1 2013/04/06 18:36:21 stsp Exp $
Fix DVD mounting so that IFO file copying works.
--- lib/Video/DVDRip/Project.pm.orig Sat Feb 28 19:28:00 2009
+++ lib/Video/DVDRip/Project.pm Sat Apr 6 14:03:47 2013
@@ -21,6 +21,7 @@ use Data::Dumper;
use File::Basename;
use File::Path;
use File::Copy;
+use File::Temp;
use Video::DVDRip::Content;
@@ -108,6 +109,7 @@ sub new {
selected_title_nr => undef,
version => $Video::DVDRip::VERSION,
created => 0,
+ tmp_mount_point => "",
}, $class;
my $content = Video::DVDRip::Content->new( project => $self );
@@ -367,14 +369,25 @@ sub get_mount_dir_from_mtab {
return $mount_dir;
}
+sub get_tmp_mount_dir {
+ my $self = shift;
+
+ if ( not $self->{tmp_mount_point} ) {
+ # mount at temporary directory; assumes sysctl.usermount=1
+ $self->{tmp_mount_point} = File::Temp->newdir("/tmp/dvdrip-XXXXXXXX");
+ }
+
+ return $self->{tmp_mount_point};
+}
+
sub dvd_mount_point {
my $self = shift;
my $dvd_device = $self->dvd_device;
my $dvd_mount_point
- = $self->get_mount_dir_from_mtab( $dvd_device, "/etc/mtab" )
- || $self->get_mount_dir_from_mtab( $dvd_device, "/etc/fstab" );
+ = $self->get_mount_dir_from_mtab( $dvd_device, "/etc/fstab" )
+ || $self->get_tmp_mount_dir;
return $dvd_mount_point;
}
@@ -446,13 +459,18 @@ sub mount_dvd {
)
);
- my $mount = qx[ mount $dvd_mount_point 2>&1 && echo EXECFLOW_OK ];
+ my $dvd_device = "";
+ if ( $self->{tmp_mount_point} ) {
+ $dvd_device = $self->dvd_device;
+ }
+ my $mount = qx[ mount $dvd_device $dvd_mount_point 2>&1 && echo EXECFLOW_OK ];
+
$mount =~ s/\s$//;
croak "msg:"
. __x(
- "Failed to mount DVD at {mount_point} ({mount_error})",
+ "Failed to mount DVD at {mount_point} ({mount_error}) (perhaps try again with sysctl kern.usermount=1)",
mount_point => $dvd_mount_point,
mount_error => $mount
)

View File

@ -1,12 +1,12 @@
@comment $OpenBSD: PLIST,v 1.5 2009/03/07 10:40:30 stsp Exp $
@comment $OpenBSD: PLIST,v 1.6 2013/04/06 18:36:21 stsp Exp $
bin/dvdrip
bin/dvdrip-exec
bin/dvdrip-master
bin/dvdrip-multitee
bin/dvdrip-progress
@bin bin/dvdrip-progress
bin/dvdrip-replex
bin/dvdrip-splash
bin/dvdrip-splitpipe
@bin bin/dvdrip-splitpipe
bin/dvdrip-subpng
bin/dvdrip-thumb
${P5SITE}/Video/
@ -87,6 +87,8 @@ ${P5SITE}/Video/DVDRip/Title.pm
${P5SITE}/Video/DVDRip/TranscodeRC.pm
${P5SITE}/Video/DVDRip/icon.xpm
${P5SITE}/Video/DVDRip/license.txt
${P5SITE}/Video/DVDRip/splash.ca.png
${P5SITE}/Video/DVDRip/splash.da.png
${P5SITE}/Video/DVDRip/splash.de.png
${P5SITE}/Video/DVDRip/splash.en.png
${P5SITE}/Video/DVDRip/splash.es.png
@ -99,7 +101,9 @@ ${P5SITE}/Video/DVDRip/translators.txt
@man man/man1/dvdrip.1
@man man/man3p/Video::DVDRip.3p
@man man/man3p/Video::DVDRip::CPAN::Scanf.3p
share/applications/dvdrip.desktop
share/locale/cs/LC_MESSAGES/video.dvdrip.mo
share/locale/da/LC_MESSAGES/video.dvdrip.mo
share/locale/de/LC_MESSAGES/video.dvdrip.mo
share/locale/es/LC_MESSAGES/video.dvdrip.mo
share/locale/fr/LC_MESSAGES/video.dvdrip.mo
@ -108,3 +112,5 @@ share/locale/sr/LC_MESSAGES/video.dvdrip.mo
share/locale/sr@Latn/
share/locale/sr@Latn/LC_MESSAGES/
share/locale/sr@Latn/LC_MESSAGES/video.dvdrip.mo
@exec %D/bin/update-desktop-database
@unexec-delete %D/bin/update-desktop-database