Improve support for NetBSD
This commit is contained in:
parent
0062609383
commit
c1eb696e2e
4 changed files with 103 additions and 4 deletions
|
@ -1,6 +1,8 @@
|
|||
$NetBSD: distinfo,v 1.4 2005/11/10 22:34:45 dhowland Exp $
|
||||
$NetBSD: distinfo,v 1.5 2005/11/20 20:10:44 dhowland Exp $
|
||||
|
||||
SHA1 (mmpython-0.4.9.tar.gz) = 537fd18de6cbd4400faf62ac5744393de32e9d72
|
||||
RMD160 (mmpython-0.4.9.tar.gz) = d7096d74dfea2e0b0c7fae0b8d50d0306b578b30
|
||||
Size (mmpython-0.4.9.tar.gz) = 127953 bytes
|
||||
SHA1 (patch-aa) = 61ddeafa973f24f0c7794bb61a2d0c8fc388d176
|
||||
SHA1 (patch-aa) = d3d7ddbac1dc3bf4a198f2d6d6b2c193eb1d2eb1
|
||||
SHA1 (patch-ab) = 61a51cc047d70bfc2bdd94026820a860e7e79144
|
||||
SHA1 (patch-ac) = feea09af083f49c1c9cbc7306eae854fee7642f3
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
$NetBSD: patch-aa,v 1.1 2005/11/10 06:00:47 dhowland Exp $
|
||||
$NetBSD: patch-aa,v 1.2 2005/11/20 20:10:44 dhowland Exp $
|
||||
|
||||
--- disc/cdrommodule.c.orig 2005-11-10 00:57:23.000000000 -0500
|
||||
--- disc/cdrommodule.c.orig 2003-06-23 15:26:16.000000000 -0400
|
||||
+++ disc/cdrommodule.c
|
||||
@@ -41,7 +41,7 @@
|
||||
#include <linux/cdrom.h>
|
||||
|
@ -20,3 +20,48 @@ $NetBSD: patch-aa,v 1.1 2005/11/10 06:00:47 dhowland Exp $
|
|||
|
||||
#define CDDB_TOC_HEADER_STRUCT ioc_toc_header
|
||||
#define CDDB_STARTING_TRACK_FIELD starting_track
|
||||
@@ -136,7 +136,7 @@ static PyObject *cdrom_toc_entry(PyObjec
|
||||
int cdrom_fd;
|
||||
unsigned char track;
|
||||
|
||||
-#if defined(__OpenBSD__)
|
||||
+#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
struct cd_toc_entry data;
|
||||
#endif
|
||||
|
||||
@@ -148,7 +148,7 @@ static PyObject *cdrom_toc_entry(PyObjec
|
||||
entry.CDDB_TRACK_FIELD = track;
|
||||
entry.CDDB_FORMAT_FIELD = CDDB_MSF_FORMAT;
|
||||
|
||||
-#if defined(__OpenBSD__)
|
||||
+#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
entry.data = &data;
|
||||
entry.data_len = sizeof(data);
|
||||
#endif
|
||||
@@ -169,7 +169,7 @@ static PyObject *cdrom_leadout(PyObject
|
||||
PyObject *cdrom_fileobj;
|
||||
int cdrom_fd;
|
||||
|
||||
-#if defined(__OpenBSD__)
|
||||
+#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
struct cd_toc_entry data;
|
||||
#endif
|
||||
|
||||
@@ -181,7 +181,7 @@ static PyObject *cdrom_leadout(PyObject
|
||||
entry.CDDB_TRACK_FIELD = CDDB_CDROM_LEADOUT;
|
||||
entry.CDDB_FORMAT_FIELD = CDDB_MSF_FORMAT;
|
||||
|
||||
-#if defined(__OpenBSD__)
|
||||
+#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
entry.data = &data;
|
||||
entry.data_len = sizeof(data);
|
||||
#endif
|
||||
@@ -206,7 +206,7 @@ static PyObject *cdrom_really_close(PyOb
|
||||
PyObject *cdrom_fileobj;
|
||||
int cdrom_fd;
|
||||
|
||||
-#if defined(__OpenBSD__)
|
||||
+#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
struct cd_toc_entry data;
|
||||
#endif
|
||||
|
||||
|
|
13
py-mmpython/patches/patch-ab
Normal file
13
py-mmpython/patches/patch-ab
Normal file
|
@ -0,0 +1,13 @@
|
|||
$NetBSD: patch-ab,v 1.1 2005/11/20 20:10:44 dhowland Exp $
|
||||
|
||||
--- factory.py.orig 2005-05-07 07:37:08.000000000 -0400
|
||||
+++ factory.py
|
||||
@@ -247,7 +247,7 @@ class Factory:
|
||||
if not os.path.exists(name):
|
||||
return None
|
||||
try:
|
||||
- if (os.uname()[0] == 'FreeBSD' and \
|
||||
+ if (((os.uname()[0] == 'FreeBSD') or (os.uname()[0] == 'NetBSD')) and \
|
||||
stat.S_ISCHR(os.stat(name)[stat.ST_MODE])) \
|
||||
or stat.S_ISBLK(os.stat(name)[stat.ST_MODE]):
|
||||
return self.create_from_device(name)
|
39
py-mmpython/patches/patch-ac
Normal file
39
py-mmpython/patches/patch-ac
Normal file
|
@ -0,0 +1,39 @@
|
|||
$NetBSD: patch-ac,v 1.1 2005/11/20 20:10:44 dhowland Exp $
|
||||
|
||||
--- disc/discinfo.py.orig 2004-09-14 16:12:25.000000000 -0400
|
||||
+++ disc/discinfo.py
|
||||
@@ -138,13 +138,13 @@ def cdrom_disc_status(device, handle_mix
|
||||
# XXX 0xc0086305 below creates a warning, but 0xc0086305L
|
||||
# doesn't work. Suppress that warning for Linux users,
|
||||
# until a better solution can be found.
|
||||
- if os.uname()[0] == 'FreeBSD':
|
||||
- CDIOREADTOCENTRYS = 0xc0086305L
|
||||
+ if ((os.uname()[0] == 'FreeBSD') or (os.uname()[0] == 'NetBSD')):
|
||||
+ CDIOREADTOCENTRYS = 0xc0086305
|
||||
CD_MSF_FORMAT = 2
|
||||
|
||||
try:
|
||||
fd = os.open(device, os.O_RDONLY | os.O_NONBLOCK)
|
||||
- if os.uname()[0] == 'FreeBSD':
|
||||
+ if ((os.uname()[0] == 'FreeBSD') or (os.uname()[0] == 'NetBSD')):
|
||||
try:
|
||||
cd_toc_entry = array.array('c', '\000'*4096)
|
||||
(address, length) = cd_toc_entry.buffer_info()
|
||||
@@ -172,7 +172,7 @@ def cdrom_disc_status(device, handle_mix
|
||||
# no disc, error, whatever
|
||||
return 0
|
||||
|
||||
- if os.uname()[0] == 'FreeBSD':
|
||||
+ if ((os.uname()[0] == 'FreeBSD') or (os.uname()[0] == 'NetBSD')):
|
||||
s = 0
|
||||
# We already have the TOC from above
|
||||
for i in range(0, 4096, 8):
|
||||
@@ -239,7 +239,7 @@ def cdrom_disc_id(device, handle_mix=0):
|
||||
else:
|
||||
f = open(device,'rb')
|
||||
|
||||
- if os.uname()[0] == 'FreeBSD':
|
||||
+ if ((os.uname()[0] == 'FreeBSD') or (os.uname()[0] == 'NetBSD')):
|
||||
# FreeBSD can only seek to 2048 multiple boundaries.
|
||||
# Below works on Linux and FreeBSD:
|
||||
f.seek(32768)
|
Loading…
Reference in a new issue