Subject: pkg/19819: New package: graphics/vlc
To: None <gnats-bugs@gnats.netbsd.org>
From: Rhialto <rhialto@azenomei.knuffel.net>
List: netbsd-bugs
Date: 01/12/2003 18:49:22
>Number:         19819
>Category:       pkg
>Synopsis:       New package: graphics/vlc
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 12 09:50:01 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Rhialto
>Release:        NetBSD 1.6
>Organization:
	
>Environment:
System: NetBSD azenomei.falu.nl 1.6 NetBSD 1.6 (AZENOMEI) #0: Sat Sep 28 16:49:44 UTC 2002 root@:/usr/src/sys/arch/alpha/compile/AZENOMEI alpha
Architecture: alpha
Machine: alpha
>Description:
	New package for VideoLAN Client. With some problems that I hope
	somebody who knows about pth can fix.
>How-To-Repeat:
>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	DESCR
#	Makefile
#	distinfo
#	patches
#	patches/patch-aa
#	patches/patch-ab
#
echo x - DESCR
sed 's/^X//' >DESCR << 'END-of-DESCR'
XVideoLAN is a project of French students from the Ecole        
XCentrale Paris and developers from all over the world. Its main    
Xgoals is MPEG streaming on a network, but it also features a       
Xstandalone multimedia player. The VideoLAN Server can stream       
Xvideo read from a hard disk, a DVD player, a satellite card or     
Xan MPEG 2 compression card, and unicast or multicast it on a       
Xnetwork. The VideoLAN Client can read the stream from the          
Xnetwork and display it. It can also be used to display video       
Xread locally on the computer : DVDs, VCDs, MPEG and DivX files     
Xand from a satellite card. It is multi-plaform : Linux,            
XWindows, Mac OS X, BeOS, BSD, Solaris, QNX, iPaq... The            
XVideoLAN Client and Server now have a full IPv6 support.           
X						
XVideoLAN is free software, and is released under the GNU       
XGeneral Public License.                                        
X
X**** This is an unfinished package: there are pthread-problems when
Xcompiling, and even if you patch around them, playback behaves very
Xstrangely. I have released this package in the hope that somebody will
Xbe able to find the problem.
END-of-DESCR
echo x - Makefile
sed 's/^X//' >Makefile << 'END-of-Makefile'
X# $NetBSD$
X# This is an experimental package, released in the hope that somebody will find
X# why playback is not working properly.
X
XVLC_VERSION=		0.4.6
XDISTNAME=		vlc-${VLC_VERSION}
XPKGNAME=		vlc
XCOMMENT=		VideoLan Client
XCATEGORIES=		graphics
XMASTER_SITES=		http://www.videolan.org/pub/videolan/vlc/${VLC_VERSION}/
XEXTRACT_SUFX=		.tar.bz2
X
XMAINTAINER=		packages@netbsd.org
XHOMEPAGE=		http://www.videolan.org/
X
XUSE_BUILDLINK2=		YES
XUSE_GMAKE=		YES
XHAS_CONFIGURE=		YES
XUSE_X11=        	# defined
XPTHREAD_OPTS+=		require
X
XCONFIGURE_ARGS+=	--prefix="${PREFIX}"
X.ifndef notdef
XCONFIGURE_ARGS+=	--with-dvdcss="${PREFIX}"
X.include "../../misc/libdvdcss/buildlink2.mk"
X.else
XCONFIGURE_ARGS+=	--enable-dvdread
X.include "../../misc/libdvdread/buildlink2.mk"
X.endif
XCONFIGURE_ARGS+=	--disable-arts
X#CONFIGURE_ARGS+=	--disable-vcd
XCONFIGURE_ARGS+=	--enable-aa
XCONFIGURE_ARGS+=	--enable-esd
XCONFIGURE_ARGS+=	--enable-gtk
XCONFIGURE_ARGS+=	--enable-gnome
XCONFIGURE_ARGS+=	--enable-familiar
XCONFIGURE_ARGS+=	--enable-release
XCONFIGURE_ARGS+=	--enable-debug
X
X.include "../../mk/bsd.prefs.mk"
X
X#.if ${MACHINE_ARCH} == "i386"
X#.if ${VLC_USE_REALMEDIA} == "YES"
X#CONFIGURE_ARGS+=	--with-reallibdir="${LOCALBASE}/lib/RealPlayer8/Codecs"
X#.endif
X#.endif
X
X# .include "../../audio/arts/buildlink2.mk"
X.include "../../audio/esound/buildlink2.mk"
X.include "../../audio/liba52/buildlink2.mk"
X.include "../../audio/libogg/buildlink2.mk"
X.include "../../devel/glib/buildlink2.mk"
X.include "../../devel/SDL/buildlink2.mk"
X.include "../../graphics/aalib/buildlink2.mk"
X.include "../../x11/gnome-libs/buildlink2.mk"
X.include "../../x11/gtk/buildlink2.mk"
X.include "../../mk/pthread.buildlink2.mk"
X.include "../../mk/bsd.pkg.mk"
END-of-Makefile
echo x - distinfo
sed 's/^X//' >distinfo << 'END-of-distinfo'
X$NetBSD$
X
XSHA1 (vlc-0.4.6.tar.bz2) = 29f6699c418dee50a9fb2af7b60c7786595d9e78
XSize (vlc-0.4.6.tar.bz2) = 1729199 bytes
XSHA1 (patch-aa) = 2f2eb1e89c0f59931b03b986935e3e14b20ddd01
XSHA1 (patch-ab) = b3ab90705a505903d9e5b8f9730f96eda2eedb0b
END-of-distinfo
echo c - patches
mkdir -p patches > /dev/null 2>&1
echo x - patches/patch-aa
sed 's/^X//' >patches/patch-aa << 'END-of-patches/patch-aa'
X$NetBSD$
X
X+++ plugins/vcd/cdrom_tools.c	Tue Nov 26 01:57:36 2002
X@@ -49,6 +49,10 @@
X #   include <IOKit/storage/IOCDTypes.h>
X #   include <IOKit/storage/IOCDMedia.h>
X #   include <IOKit/storage/IOCDMediaBSDClient.h>
X+#elif defined(__NetBSD__)
X+#   include <sys/inttypes.h>
X+#   include <sys/cdio.h>
X+#   include <sys/scsiio.h>
X #elif defined( HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H )
X #   include <sys/cdio.h>
X #   include <sys/cdrio.h>
X@@ -215,7 +219,23 @@
X     /* Fill the p_sectors structure with the track/sector matches */
X     for( i = 0 ; i <= i_tracks ; i++ )
X     {
X+#if __NetBSD__
X+        p_sectors[ i ] = toc_entries.data[i].addr.lba;
X+#else
X         p_sectors[ i ] = ntohl( toc_entries.data[i].addr.lba );
X+#endif
X+	printf("track %02d:  adr=%d  ctrl=%d  format=%d  %02d:%02d:%02d %d or %d sectors\n",
X+	    (int) i,
X+	    (int) toc_entries.data[i].addr_type,
X+	    (int) toc_entries.data[i].control,
X+	    (int) toc_entries.address_format,
X+	    (int) toc_entries.data[i].addr.msf.minute,
X+	    (int) toc_entries.data[i].addr.msf.second,
X+	    (int) toc_entries.data[i].addr.msf.frame,
X+	    (int) toc_entries.data[i].addr.lba,
X+	    (int) p_sectors[ i ]
X+	);
X+
X     }
X #else
X     struct cdrom_tochdr   tochdr;
X@@ -285,6 +305,55 @@
X         return( -1 );
X     }
X 
X+#elif defined( __NetBSD__ )
X+    struct scsireq  sc;
X+    int             lba = i_sector;
X+    int             blocks;
X+    int             sector_type;
X+    int             sync, header_code, user_data, edc_ecc, error_field;
X+    int             sub_channel;
X+    int             rc;
X+
X+    blocks = 1;
X+    sector_type = 5;              /* mode2/form2 */
X+    sync = 0;
X+    header_code = 0;
X+    user_data = 1;
X+    edc_ecc = 0;
X+    error_field = 0;
X+    sub_channel = 0;
X+
X+    memset(&sc, 0, sizeof(sc));
X+    sc.cmd[0] = 0xBE;
X+    sc.cmd[1] = (sector_type) << 2;
X+    sc.cmd[2] = (lba >> 24) & 0xff;
X+    sc.cmd[3] = (lba >> 16) & 0xff;
X+    sc.cmd[4] = (lba >> 8) & 0xff;
X+    sc.cmd[5] = lba & 0xff;
X+    sc.cmd[6] = (blocks >> 16) & 0xff;
X+    sc.cmd[7] = (blocks >> 8) & 0xff;
X+    sc.cmd[8] = blocks & 0xff;
X+    sc.cmd[9] = (sync << 7) | (header_code << 5) | (user_data << 4) |
X+	(edc_ecc << 3) | (error_field << 1);
X+    sc.cmd[10] = sub_channel;
X+    sc.cmdlen = 12;
X+    sc.databuf = (caddr_t) p_block;
X+    sc.datalen = VCD_SECTOR_SIZE; 	// was 2328 == VCD_DATA_SIZE + 4;
X+    sc.senselen = sizeof(sc.sense);
X+    sc.flags = SCCMD_READ;
X+    sc.timeout = 10000;
X+    rc = ioctl(i_fd, SCIOCCOMMAND, &sc);
X+    if (rc == -1) {
X+	perror("SCIOCCOMMAND");
X+	return -1;
X+    }
X+    if (sc.retsts || sc.error) {
X+	fprintf(stderr, "scsi command failed: status %d error %d\n", sc.retsts,
X+		sc.error);
X+	return -1;
X+    }
X+    fprintf(stderr, "%7d\r", i_sector);
X+
X #elif defined( HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H )
X     
X     int i_size = VCD_SECTOR_SIZE;
X@@ -324,8 +393,12 @@
X     }
X #endif
X 
X+#ifdef __NetBSD__
X+    FAST_MEMCPY( p_buffer, p_block, VCD_DATA_SIZE );
X+#else
X     /* We don't want to keep the header of the read sector */
X     FAST_MEMCPY( p_buffer, p_block + VCD_DATA_START, VCD_DATA_SIZE );
X+#endif
X 
X     return( 0 );
X }
END-of-patches/patch-aa
echo x - patches/patch-ab
sed 's/^X//' >patches/patch-ab << 'END-of-patches/patch-ab'
X$NetBSD$
X
X+++ ./src/input/input_ext-dec.c	Mon Dec  2 21:13:37 2002
X@@ -136,7 +136,7 @@
X             p_fifo->p_first = p_next;
X             p_fifo->i_depth--;
X 
X-            if( p_fifo->p_first == NULL )
X+            while( p_fifo->p_first == NULL )
X             {
X                 /* No PES in the FIFO. p_last is no longer valid. */
X                 p_fifo->pp_last = &p_fifo->p_first;
END-of-patches/patch-ab
exit

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert      -- The evil eye is caused by the black
\X/ rhialto/at/xs4all.nl        -- tongue - Tom Poes, "Het boze oog", 4456.
>Release-Note:
>Audit-Trail:
>Unformatted: