ports/68025: UPDATE PORT: multimedia/mmpython
Lewis Thompson
purple at lewiz.net
Wed Jun 16 23:40:28 UTC 2004
>Number: 68025
>Category: ports
>Synopsis: UPDATE PORT: multimedia/mmpython
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Jun 16 23:40:15 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Lewis Thompson
>Release: FreeBSD 5.2.1-RELEASE-p8 i386
>Organization:
>Environment:
System: FreeBSD majic.fajita.org 5.2.1-RELEASE-p8 FreeBSD 5.2.1-RELEASE-p8 #9: Thu May 27 21:29:56 BST 2004 lewiz at amnesia.fajita.org:/usr/src/sys/i386/compile/AMNESIA i386
>Description:
This is an update to multimedia/mmpython. I have bumped the
PORTREVISION to reflect the changes.
This fixes a fairly major compile-time bug that causes
ifoparser.so not to get compiled, which in turns prevents lsdvd from
working.
This also fixes a bug that would cause a traceback if no disc
was in a given device.
Comments have also been added to patches.
>How-To-Repeat:
>Fix:
diff -ruN mmpython.orig/Makefile mmpython/Makefile
--- mmpython.orig/Makefile Thu Jun 10 20:11:48 2004
+++ mmpython/Makefile Thu Jun 17 00:32:13 2004
@@ -7,6 +7,7 @@
PORTNAME= mmpython
PORTVERSION= 0.4.3
+PORTREVISION= 1
CATEGORIES= multimedia python
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -27,5 +28,9 @@
#USE_BZIP2= yes
USE_PYTHON= yes
USE_PYDISTUTILS=yes
+USE_REINPLACE= yes
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|gcc -ldvdread|gcc -L${LOCALBASE}/lib -ldvdread|' ${WRKSRC}/setup.py
.include <bsd.port.mk>
diff -ruN mmpython.orig/files/patch-disc_discinfo.py mmpython/files/patch-disc_discinfo.py
--- mmpython.orig/files/patch-disc_discinfo.py Thu Jun 10 20:04:24 2004
+++ mmpython/files/patch-disc_discinfo.py Thu Jun 17 00:08:38 2004
@@ -1,9 +1,17 @@
-
-$FreeBSD: ports/multimedia/mmpython/files/patch-disc_discinfo.py,v 1.1 2004/06/10 19:04:24 krion Exp $
-
---- disc/discinfo.py.orig Thu Jun 10 20:51:51 2004
-+++ disc/discinfo.py Thu Jun 10 20:52:32 2004
-@@ -223,22 +223,10 @@
+--- disc/discinfo.py Sun Feb 8 17:44:05 2004
++++ disc/discinfo.py Thu Jun 17 00:04:48 2004
+@@ -191,7 +191,9 @@
+
+ fd = open(device, 'rb')
+ try:
+- fd.seek(0x0000832d)
++ fd.seek(32768) # 2048 multiple boundary for FreeBSD
++ # FreeBSD doesn't return IOError unless we try and read:
++ fd.read(1)
+ except IOError:
+ fd.close()
+ return 3
+@@ -223,22 +225,12 @@
else:
f = open(device,'rb')
@@ -23,6 +31,8 @@
- id = id[813:829]
- else:
- label = f.read(32)
++ # FreeBSD can only seek to 2048 multiple boundaries.
++ # Below works on Linux and FreeBSD:
+ f.seek(32768)
+ id = f.read(829)
+ label = id[40:72]
diff -ruN mmpython.orig/files/patch-disc_dvdinfo.py mmpython/files/patch-disc_dvdinfo.py
--- mmpython.orig/files/patch-disc_dvdinfo.py Thu Jun 10 20:04:24 2004
+++ mmpython/files/patch-disc_dvdinfo.py Thu Jun 17 00:08:38 2004
@@ -9,8 +9,8 @@
f = open(device,'rb')
- f.seek(32808, 0)
- buffer = f.read(50000)
-+ f.seek(32768, 0)
-+ buffer = f.read(50040)
++ f.seek(32768, 0) # FreeBSD requires seeking to a 2048 multiple boundary.
++ buffer = f.read(50040) # Read 40 more to compensate for above seek.
if buffer.find('UDF') == -1:
f.close()
@@ -20,8 +20,8 @@
# brute force reading of the device to find out if it is a DVD
- f.seek(32808, 0)
- buffer = f.read(50000)
-+ f.seek(32768, 0)
-+ buffer = f.read(50040)
++ f.seek(32768, 0) # FreeBSD requires seeking to a 2048 multiple boundary.
++ buffer = f.read(50040) # Read 40 more to compensate for above seek.
if buffer.find('UDF') == -1:
return 0
diff -ruN mmpython.orig/files/patch-disc_lsdvd.py mmpython/files/patch-disc_lsdvd.py
--- mmpython.orig/files/patch-disc_lsdvd.py Thu Jun 10 20:04:24 2004
+++ mmpython/files/patch-disc_lsdvd.py Thu Jun 17 00:08:38 2004
@@ -9,8 +9,8 @@
f = open(device,'rb')
- f.seek(32808, 0)
- buffer = f.read(50000)
-+ f.seek(32768, 0)
-+ buffer = f.read(50040)
++ f.seek(32768, 0) # FreeBSD requires seeking to a 2048 multiple boundary.
++ buffer = f.read(50040) # Read 40 more to compensate for above seek.
if buffer.find('UDF') == -1:
f.close()
diff -ruN mmpython.orig/files/patch-disc_vcdinfo.py mmpython/files/patch-disc_vcdinfo.py
--- mmpython.orig/files/patch-disc_vcdinfo.py Thu Jun 10 20:04:24 2004
+++ mmpython/files/patch-disc_vcdinfo.py Thu Jun 17 00:08:38 2004
@@ -10,9 +10,9 @@
- f.seek(32808, 0)
- buffer = f.read(50000)
- f.close()
-+ f.seek(32768, 0)
-+ buffer = f.read(50040)
-+ f.close()
++ f.seek(32768, 0) # FreeBSD requires seeking to a 2048 multiple boundary.
++ buffer = f.read(50040) # Read 40 more to compensate for above seek.
++ f.close()
if buffer.find('SVCD') > 0 and buffer.find('TRACKS.SVD') > 0 and \
buffer.find('ENTRIES.SVD') > 0:
diff -ruN mmpython.orig/files/patch-video_vcdinfo.py mmpython/files/patch-video_vcdinfo.py
--- mmpython.orig/files/patch-video_vcdinfo.py Thu Jun 10 20:04:24 2004
+++ mmpython/files/patch-video_vcdinfo.py Thu Jun 17 00:08:38 2004
@@ -10,9 +10,9 @@
- f.seek(32808, 0)
- buffer = f.read(50000)
- f.close()
-+ f.seek(32768, 0)
-+ buffer = f.read(50040)
-+ f.close()
++ f.seek(32768, 0) # FreeBSD requires seeking to 2048 multiple boundary.
++ buffer = f.read(50040) # Read 40 more to compensate for above seek.
++ f.close()
if buffer.find('SVCD') > 0 and buffer.find('TRACKS.SVD') > 0 and \
buffer.find('ENTRIES.SVD') > 0:
diff -ruN mmpython.orig/pkg-plist mmpython/pkg-plist
--- mmpython.orig/pkg-plist Thu Jun 10 15:16:10 2004
+++ mmpython/pkg-plist Thu Jun 17 00:33:12 2004
@@ -66,6 +66,7 @@
%%PYTHON_SITELIBDIR%%/mmpython/disc/dvdinfo.py
%%PYTHON_SITELIBDIR%%/mmpython/disc/dvdinfo.pyc
%%PYTHON_SITELIBDIR%%/mmpython/disc/dvdinfo.pyo
+%%PYTHON_SITELIBDIR%%/mmpython/disc/ifoparser.so
%%PYTHON_SITELIBDIR%%/mmpython/disc/lsdvd.py
%%PYTHON_SITELIBDIR%%/mmpython/disc/lsdvd.pyc
%%PYTHON_SITELIBDIR%%/mmpython/disc/lsdvd.pyo
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list