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: