diff --git a/packages/multimedia/libdvdcss/build b/packages/multimedia/libdvdcss/build deleted file mode 100755 index f4aac6e467..0000000000 --- a/packages/multimedia/libdvdcss/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -. config/options - -$SCRIPTS/build toolchain - -cd $PKG_BUILD -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - --sysconfdir=/etc \ - --disable-static \ - --enable-shared \ - -make - -$MAKEINSTALL diff --git a/packages/multimedia/libdvdcss/install b/packages/multimedia/libdvdcss/install deleted file mode 100755 index 585701f591..0000000000 --- a/packages/multimedia/libdvdcss/install +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -. config/options - -mkdir -p $INSTALL/usr/lib -cp -PR $PKG_BUILD/src/.libs/libdvdcss.so* $INSTALL/usr/lib diff --git a/packages/multimedia/libdvdcss/patches/05_fuseiso_compat.diff b/packages/multimedia/libdvdcss/patches/05_fuseiso_compat.diff deleted file mode 100644 index 22e9f9611b..0000000000 --- a/packages/multimedia/libdvdcss/patches/05_fuseiso_compat.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nurp libdvdcss-1.2.9.orig/src/libdvdcss.c libdvdcss-1.2.9/src/libdvdcss.c ---- libdvdcss-1.2.9.orig/src/libdvdcss.c 2004-08-13 21:40:18.000000000 +0800 -+++ libdvdcss-1.2.9/src/libdvdcss.c 2008-07-02 00:09:24.000000000 +0800 -@@ -417,7 +417,7 @@ extern dvdcss_t dvdcss_open ( char *psz_ - } - - if( p_sector[0] == 0x00 && p_sector[1] == 0x00 -- && p_sector[2] == 0x01 && p_sector[3] == 0xba ) -+ && p_sector[2] == 0x01 && p_sector[3] == 0xba || !strncmp(p_sector,"DVDVIDEO",8)) - { - goto nocache; - } diff --git a/packages/multimedia/libdvdcss/patches/10_no-doc.diff b/packages/multimedia/libdvdcss/patches/10_no-doc.diff deleted file mode 100644 index 4898677a6a..0000000000 --- a/packages/multimedia/libdvdcss/patches/10_no-doc.diff +++ /dev/null @@ -1,36 +0,0 @@ -diff -Naur libdvdcss-1.2.10.orig/Makefile.am libdvdcss-1.2.10/Makefile.am ---- libdvdcss-1.2.10.orig/Makefile.am 2008-09-11 20:50:40.000000000 +0200 -+++ libdvdcss-1.2.10/Makefile.am 2008-09-11 20:51:37.000000000 +0200 -@@ -4,9 +4,3 @@ - EXTRA_DIST = libdvdcss.spec bootstrap - - AUTOMAKE_OPTIONS = foreign dist-bzip2 subdir-objects -- --doc-dummy: -- --doc: doc-dummy -- $(MAKE) -C doc doc -- -diff -Naur libdvdcss-1.2.10.orig/Makefile.in libdvdcss-1.2.10/Makefile.in ---- libdvdcss-1.2.10.orig/Makefile.in 2008-09-11 20:50:40.000000000 +0200 -+++ libdvdcss-1.2.10/Makefile.in 2008-09-11 20:52:05.000000000 +0200 -@@ -189,7 +189,7 @@ - target_vendor = @target_vendor@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = src test doc -+SUBDIRS = src test - DIST_SUBDIRS = $(SUBDIRS) - EXTRA_DIST = libdvdcss.spec bootstrap - AUTOMAKE_OPTIONS = foreign dist-bzip2 subdir-objects -@@ -642,10 +642,6 @@ - tags tags-recursive uninstall uninstall-am - - --doc-dummy: -- --doc: doc-dummy -- $(MAKE) -C doc doc - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: diff --git a/packages/multimedia/libdvdcss/patches/20_git.diff b/packages/multimedia/libdvdcss/patches/20_git.diff deleted file mode 100644 index 2cd226088e..0000000000 --- a/packages/multimedia/libdvdcss/patches/20_git.diff +++ /dev/null @@ -1,409 +0,0 @@ ---- a/src/css.c 2008-08-30 02:42:47.000000000 +0800 -+++ b/src/css.c 2009-05-26 20:25:07.000000000 +0800 -@@ -89,10 +89,19 @@ static int AttackPadding ( uint8_t co - - /***************************************************************************** - * _dvdcss_test: check if the disc is encrypted or not -+ ***************************************************************************** -+ * Return values: -+ * 1: DVD is scrambled but can be read -+ * 0: DVD is not scrambled and can be read -+ * -1: could not get "copyright" information -+ * -2: could not get RPC information (reading the disc might be possible) -+ * -3: drive is RPC-II, region is not set, and DVD is scrambled: the RPC -+ * scheme will prevent us from reading the scrambled data - *****************************************************************************/ - int _dvdcss_test( dvdcss_t dvdcss ) - { -- int i_ret, i_copyright; -+ char const *psz_type, *psz_rpc; -+ int i_ret, i_copyright, i_type, i_mask, i_rpc; - - i_ret = ioctl_ReadCopyright( dvdcss->i_fd, 0 /* i_layer */, &i_copyright ); - -@@ -115,14 +124,51 @@ int _dvdcss_test( dvdcss_t dvdcss ) - if( i_ret < 0 ) - { - /* Since it's the first ioctl we try to issue, we add a notice */ -- print_error( dvdcss, "css error: ioctl_ReadCopyright failed, " -- "make sure there is a DVD in the drive, and that " -- "you have used the correct device node." ); -+ print_error( dvdcss, "css error: could not get \"copyright\"" -+ " information, make sure there is a DVD in the drive," -+ " and that you have used the correct device node." ); -+ -+ return -1; -+ } -+ -+ print_debug( dvdcss, "disc reports copyright information 0x%x", -+ i_copyright ); -+ -+ i_ret = ioctl_ReportRPC( dvdcss->i_fd, &i_type, &i_mask, &i_rpc); -+ -+ if( i_ret < 0 ) -+ { -+ print_error( dvdcss, "css error: could not get RPC status" ); -+ return -2; -+ } - -- return i_ret; -+ switch( i_rpc ) -+ { -+ case 0: psz_rpc = "RPC-I"; break; -+ case 1: psz_rpc = "RPC-II"; break; -+ default: psz_rpc = "unknown RPC scheme"; break; -+ } -+ -+ switch( i_type ) -+ { -+ case 0: psz_type = "no region code set"; break; -+ case 1: psz_type = "region code set"; break; -+ case 2: psz_type = "one region change remaining"; break; -+ case 3: psz_type = "region code set permanently"; break; -+ default: psz_type = "unknown status"; break; -+ } -+ -+ print_debug( dvdcss, "drive region mask 0x%x, %s, %s", -+ i_mask, psz_rpc, psz_type ); -+ -+ if( i_copyright && i_rpc == 1 && i_type == 0 ) -+ { -+ print_error( dvdcss, "css error: drive will prevent access to " -+ "scrambled data" ); -+ return -3; - } - -- return i_copyright; -+ return i_copyright ? 1 : 0; - } - - /***************************************************************************** ---- a/src/device.c 2008-07-13 20:25:49.000000000 +0800 -+++ b/src/device.c 2009-05-26 20:25:07.000000000 +0800 -@@ -65,6 +65,12 @@ - # include - #endif - -+#ifdef SYS_OS2 -+# define INCL_DOS -+# define INCL_DOSDEVIOCTL -+# include -+#endif -+ - #include "dvdcss/dvdcss.h" - - #include "common.h" -@@ -91,6 +97,12 @@ static int aspi_read ( dvdcss_t, void * - static int win_readv ( dvdcss_t, struct iovec *, int ); - - static int aspi_read_internal ( int, void *, int ); -+#elif defined( SYS_OS2 ) -+static int os2_open ( dvdcss_t, char const * ); -+/* just use macros for libc */ -+# define os2_seek libc_seek -+# define os2_read libc_read -+# define os2_readv libc_readv - #endif - - int _dvdcss_use_ioctls( dvdcss_t dvdcss ) -@@ -110,6 +122,16 @@ int _dvdcss_use_ioctls( dvdcss_t dvdcss - { - return 1; - } -+#elif defined( SYS_OS2 ) -+ ULONG ulMode; -+ -+ if( DosQueryFHState( dvdcss->i_fd, &ulMode ) != 0 ) -+ return 1; /* What to do? Be conservative and try to use the ioctls */ -+ -+ if( ulMode & OPEN_FLAGS_DASD ) -+ return 1; -+ -+ return 0; - #else - struct stat fileinfo; - int ret; -@@ -157,6 +179,28 @@ void _dvdcss_check ( dvdcss_t dvdcss ) - kern_return_t kern_result; - io_iterator_t media_iterator; - CFMutableDictionaryRef classes_to_match; -+#elif defined( SYS_OS2 ) -+#pragma pack( 1 ) -+ struct -+ { -+ BYTE bCmdInfo; -+ BYTE bDrive; -+ } param; -+ -+ struct -+ { -+ BYTE abEBPB[31]; -+ USHORT usCylinders; -+ BYTE bDevType; -+ USHORT usDevAttr; -+ } data; -+#pragma pack() -+ -+ ULONG ulParamLen; -+ ULONG ulDataLen; -+ ULONG rc; -+ -+ int i; - #else - char *ppsz_devices[] = { "/dev/dvd", "/dev/cdrom", "/dev/hdc", NULL }; - int i, i_fd; -@@ -270,6 +314,32 @@ void _dvdcss_check ( dvdcss_t dvdcss ) - } - - IOObjectRelease( media_iterator ); -+#elif defined( SYS_OS2 ) -+ for( i = 0; i < 26; i++ ) -+ { -+ param.bCmdInfo = 0; -+ param.bDrive = i; -+ -+ rc = DosDevIOCtl( ( HFILE )-1, IOCTL_DISK, DSK_GETDEVICEPARAMS, -+ ¶m, sizeof( param ), &ulParamLen, -+ &data, sizeof( data ), &ulDataLen ); -+ -+ if( rc == 0 ) -+ { -+ /* Check for removable and for cylinders */ -+ if( ( data.usDevAttr & 1 ) == 0 && data.usCylinders == 0xFFFF ) -+ { -+ char psz_dvd[] = "A:"; -+ -+ psz_dvd[0] += i; -+ -+ print_debug( dvdcss, "defaulting to drive `%s'", psz_dvd ); -+ free( dvdcss->psz_device ); -+ dvdcss->psz_device = strdup( psz_dvd ); -+ return; -+ } -+ } -+ } - #else - for( i = 0; ppsz_devices[i]; i++ ) - { -@@ -322,6 +392,18 @@ int _dvdcss_open ( dvdcss_t dvdcss ) - return aspi_open( dvdcss, psz_device ); - } - else -+#elif defined( SYS_OS2 ) -+ /* If device is "X:" or "X:\", we are not actually opening a file. */ -+ if( psz_device[0] && psz_device[1] == ':' && -+ ( !psz_device[2] || ( psz_device[2] == '\\' && !psz_device[3] ) ) ) -+ { -+ print_debug( dvdcss, "using OS2 API for access" ); -+ dvdcss->pf_seek = os2_seek; -+ dvdcss->pf_read = os2_read; -+ dvdcss->pf_readv = os2_readv; -+ return os2_open( dvdcss, psz_device ); -+ } -+ else - #endif - { - print_debug( dvdcss, "using libc for access" ); -@@ -332,7 +414,7 @@ int _dvdcss_open ( dvdcss_t dvdcss ) - } - } - --#ifndef WIN32 -+#if !defined(WIN32) && !defined(SYS_OS2) - int _dvdcss_raw_open ( dvdcss_t dvdcss, char const *psz_device ) - { - dvdcss->i_raw_fd = open( psz_device, 0 ); -@@ -385,11 +467,13 @@ int _dvdcss_close ( dvdcss_t dvdcss ) - #else - close( dvdcss->i_fd ); - -+#ifndef SYS_OS2 - if( dvdcss->i_raw_fd >= 0 ) - { - close( dvdcss->i_raw_fd ); - dvdcss->i_raw_fd = -1; - } -+#endif - - return 0; - #endif -@@ -402,7 +486,7 @@ int _dvdcss_close ( dvdcss_t dvdcss ) - *****************************************************************************/ - static int libc_open ( dvdcss_t dvdcss, char const *psz_device ) - { --#if !defined( WIN32 ) -+#if !defined( WIN32 ) && !defined( SYS_OS2 ) - dvdcss->i_fd = dvdcss->i_read_fd = open( psz_device, 0 ); - #else - dvdcss->i_fd = dvdcss->i_read_fd = open( psz_device, O_BINARY ); -@@ -578,6 +662,35 @@ static int aspi_open( dvdcss_t dvdcss, c - } - #endif - -+#ifdef SYS_OS2 -+static int os2_open ( dvdcss_t dvdcss, char const *psz_device ) -+{ -+ char psz_dvd[] = "X:"; -+ HFILE hfile; -+ ULONG ulAction; -+ ULONG rc; -+ -+ psz_dvd[0] = psz_device[0]; -+ -+ rc = DosOpen( ( PSZ )psz_dvd, &hfile, &ulAction, 0, FILE_NORMAL, -+ OPEN_ACTION_OPEN_IF_EXISTS | OPEN_ACTION_FAIL_IF_NEW, -+ OPEN_ACCESS_READONLY | OPEN_SHARE_DENYNONE | OPEN_FLAGS_DASD, -+ NULL ); -+ -+ if( rc ) -+ { -+ print_error( dvdcss, "failed to open device" ); -+ return -1; -+ } -+ -+ dvdcss->i_fd = dvdcss->i_read_fd = hfile; -+ -+ dvdcss->i_pos = 0; -+ -+ return 0; -+} -+#endif -+ - /***************************************************************************** - * Seek commands. - *****************************************************************************/ ---- a/src/device.h 2008-08-30 02:39:44.000000000 +0800 -+++ b/src/device.h 2009-05-26 20:25:07.000000000 +0800 -@@ -52,7 +52,7 @@ int _dvdcss_close ( dvdcss_t ); - /***************************************************************************** - * Device reading prototypes, raw-device specific - *****************************************************************************/ --#ifndef WIN32 -+#if !defined(WIN32) && !defined(SYS_OS2) - int _dvdcss_raw_open ( dvdcss_t, char const * ); - #endif - ---- a/src/libdvdcss.c 2008-08-30 02:41:51.000000000 +0800 -+++ b/src/libdvdcss.c 2009-05-26 20:25:07.000000000 +0800 -@@ -166,9 +173,10 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( - char *psz_method = getenv( "DVDCSS_METHOD" ); - char *psz_verbose = getenv( "DVDCSS_VERBOSE" ); - char *psz_cache = getenv( "DVDCSS_CACHE" ); --#ifndef WIN32 -+#if !defined(WIN32) && !defined(SYS_OS2) - char *psz_raw_device = getenv( "DVDCSS_RAW_DEVICE" ); - #endif -+ char *psz_ignore_rpc = getenv( "DVDCSS_IGNORE_RPC" ); - - dvdcss_t dvdcss; - -@@ -184,7 +192,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( - /* - * Initialize structure with default values - */ --#ifndef WIN32 -+#if !defined(WIN32) && !defined(SYS_OS2) - dvdcss->i_raw_fd = -1; - #endif - dvdcss->p_titles = NULL; -@@ -194,6 +202,7 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( - dvdcss->psz_cachefile[0] = '\0'; - dvdcss->b_debug = 0; - dvdcss->b_errors = 0; -+ dvdcss->b_ignore_rpc = 0; - - /* - * Find verbosity from DVDCSS_VERBOSE environment variable -@@ -306,7 +315,25 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( - /* Cache our keys in ${HOME}/.dvdcss/ */ - if( psz_home ) - { -- snprintf( psz_buffer, PATH_MAX, "%s/.dvdcss", psz_home ); -+ int home_pos = 0; -+ -+#ifdef SYS_OS2 -+ if( *psz_home == '/' || *psz_home == '\\') -+ { -+ char *psz_unixroot = getenv("UNIXROOT"); -+ -+ if( psz_unixroot && -+ psz_unixroot[0] && -+ psz_unixroot[1] == ':' && -+ psz_unixroot[2] == '\0') -+ { -+ strcpy( psz_buffer, psz_unixroot ); -+ home_pos = 2; -+ } -+ } -+#endif -+ snprintf( psz_buffer + home_pos, PATH_MAX - home_pos, -+ "%s/.dvdcss", psz_home ); - psz_buffer[PATH_MAX-1] = '\0'; - psz_cache = psz_buffer; - } -@@ -345,11 +372,20 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( - - dvdcss->b_scrambled = 1; /* Assume the worst */ - dvdcss->b_ioctls = _dvdcss_use_ioctls( dvdcss ); -+ dvdcss->b_ignore_rpc = psz_ignore_rpc ? atoi( psz_ignore_rpc ) : 0; - - if( dvdcss->b_ioctls ) - { - i_ret = _dvdcss_test( dvdcss ); -- if( i_ret < 0 ) -+ -+ if( i_ret == -3 && !dvdcss->b_ignore_rpc ) -+ { -+ /* Scrambled disk, RPC-II drive, no region set: bail out */ -+ free( dvdcss->psz_device ); -+ free( dvdcss ); -+ return NULL; -+ } -+ else if( i_ret < 0 ) - { - /* Disable the CSS ioctls and hope that it works? */ - print_debug( dvdcss, -@@ -402,7 +438,6 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( - if( psz_cache ) - { - uint8_t p_sector[DVDCSS_BLOCK_SIZE]; -- char psz_debug[PATH_MAX + 30]; - char psz_key[1 + KEY_SIZE * 2 + 1]; - char *psz_title; - uint8_t *psz_serial; -@@ -530,13 +565,12 @@ LIBDVDCSS_EXPORT dvdcss_t dvdcss_open ( - /* Pointer to the filename we will use. */ - dvdcss->psz_block = dvdcss->psz_cachefile + i; - -- sprintf( psz_debug, "using CSS key cache dir: %s", -- dvdcss->psz_cachefile ); -- print_debug( dvdcss, psz_debug ); -+ print_debug( dvdcss, "using CSS key cache dir: %s", -+ dvdcss->psz_cachefile ); - } - nocache: - --#ifndef WIN32 -+#if !defined(WIN32) && !defined(SYS_OS2) - if( psz_raw_device != NULL ) - { - _dvdcss_raw_open( dvdcss, psz_raw_device ); ---- a/src/libdvdcss.h 2008-08-30 02:39:56.000000000 +0800 -+++ b/src/libdvdcss.h 2009-05-26 20:25:07.000000000 +0800 -@@ -45,6 +45,7 @@ struct dvdcss_s - css_t css; - int b_ioctls; - int b_scrambled; -+ int b_ignore_rpc; - dvd_title_t *p_titles; - - /* Key cache directory and pointer to the filename */ -@@ -62,7 +63,7 @@ struct dvdcss_s - int i_readv_buf_size; - #endif - --#ifndef WIN32 -+#if !defined(WIN32) && !defined(SYS_OS2) - int i_raw_fd; - #endif - }; diff --git a/packages/multimedia/libdvdcss/url b/packages/multimedia/libdvdcss/url deleted file mode 100644 index e6c3d410b4..0000000000 --- a/packages/multimedia/libdvdcss/url +++ /dev/null @@ -1 +0,0 @@ -http://download.videolan.org/pub/libdvdcss/1.2.10/libdvdcss-1.2.10.tar.bz2