ports/141393: Update multimedia/vlc to 1.0.4

Joseph S. Atkinson jsa at wickedmachine.net
Sat Dec 12 03:30:02 UTC 2009


>Number:         141393
>Category:       ports
>Synopsis:       Update multimedia/vlc to 1.0.4
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 12 03:30:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Joseph S. Atkinson
>Release:        
>Organization:
>Environment:
>Description:
Update vlc to the latest 1.0.4.

This also moves around a few clauses to work around an angry portlint(1). Should fix the issue in ports/141348.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -ruN /usr/ports/multimedia/vlc/Makefile vlc/Makefile
--- /usr/ports/multimedia/vlc/Makefile	2009-12-11 20:51:42.000000000 -0500
+++ vlc/Makefile	2009-12-11 22:03:08.000000000 -0500
@@ -9,8 +9,7 @@
 #
 
 PORTNAME=	vlc
-DISTVERSION=	1.0.3
-PORTREVISION=	4
+DISTVERSION=	1.0.4
 PORTEPOCH=	3
 CATEGORIES=	multimedia audio ipv6 net www
 MASTER_SITES=	http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/ \
@@ -70,6 +69,10 @@
 .if !defined(WITHOUT_SDL) && !defined(WITHOUT_X11)
 WANT_SDL=	yes
 .endif
+.if !defined(WITHOUT_QT4) && !defined(WITHOUT_X11)
+USE_QT_VER+=	4
+QT_COMPONENTS+=	gui corelib moc_build rcc_build uic_build
+.endif
 USE_ICONV=	yes
 USE_PERL5_BUILD=yes
 
@@ -109,8 +112,6 @@
 .endif
 
 .if !defined(WITHOUT_QT4) && !defined(WITHOUT_X11)
-USE_QT_VER+=	4
-QT_COMPONENTS+=	gui corelib moc_build rcc_build uic_build
 CONFIGURE_ARGS+=--enable-qt4
 .else
 CONFIGURE_ARGS+=--disable-qt4
diff -ruN /usr/ports/multimedia/vlc/distinfo vlc/distinfo
--- /usr/ports/multimedia/vlc/distinfo	2009-11-04 16:23:20.000000000 -0500
+++ vlc/distinfo	2009-12-11 21:30:42.000000000 -0500
@@ -1,3 +1,3 @@
-MD5 (vlc-1.0.3.tar.bz2) = d0945c2489551c102a3f0f15e4591555
-SHA256 (vlc-1.0.3.tar.bz2) = e44e3b9fe27eb6e9b0f543ba54c0ebd2bc3e41851fb347dc2e8b7123fa7a7c77
-SIZE (vlc-1.0.3.tar.bz2) = 21115820
+MD5 (vlc-1.0.4.tar.bz2) = 3a0db00380b6d5b24dc7eb73e5d8ae51
+SHA256 (vlc-1.0.4.tar.bz2) = dbff0ba0cd60a4323f85fd8b918f2a4477a11c5a8f628d1b868fb5947e8e9896
+SIZE (vlc-1.0.4.tar.bz2) = 21622966
diff -ruN /usr/ports/multimedia/vlc/files/patch-modules_control_globalhotkeys_xcb.c vlc/files/patch-modules_control_globalhotkeys_xcb.c
--- /usr/ports/multimedia/vlc/files/patch-modules_control_globalhotkeys_xcb.c	2009-11-17 17:00:02.000000000 -0500
+++ vlc/files/patch-modules_control_globalhotkeys_xcb.c	1969-12-31 19:00:00.000000000 -0500
@@ -1,308 +0,0 @@
---- ./modules/control/globalhotkeys/xcb.c.orig	2009-05-10 19:03:55.000000000 -0400
-+++ ./modules/control/globalhotkeys/xcb.c	2009-11-17 13:39:36.000000000 -0500
-@@ -28,6 +28,7 @@
- #include <vlc_interface.h>
- #include <vlc_keys.h>
- #include <ctype.h>
-+#include <errno.h>
- 
- #include <xcb/xcb.h>
- #include <xcb/xcb_keysyms.h>
-@@ -56,7 +57,11 @@
- 
- typedef struct
- {
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-     xcb_keycode_t i_x11;
-+#else
-+    xcb_keycode_t *p_keys;
-+#endif
-     unsigned      i_modifier;
-     int           i_action;
- } hotkey_mapping_t;
-@@ -96,7 +101,7 @@
-     p_sys->p_connection = xcb_connect( psz_display, &i_screen_default );
-     free( psz_display );
- 
--    if( !p_sys->p_connection )
-+    if( xcb_connection_has_error( p_sys->p_connection ) )
-         goto error;
- 
-     /* Get the root windows of the default screen */
-@@ -125,6 +130,10 @@
-     if( vlc_clone( &p_sys->thread, Thread, p_intf, VLC_THREAD_PRIORITY_LOW ) )
-     {
-         Unregister( p_intf );
-+#ifndef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-+        if( p_sys->p_map )
-+            free( p_sys->p_map->p_keys );
-+#endif
-         free( p_sys->p_map );
-         goto error;
-     }
-@@ -133,8 +142,7 @@
- error:
-     if( p_sys->p_symbols )
-         xcb_key_symbols_free( p_sys->p_symbols );
--    if( p_sys->p_connection )
--        xcb_disconnect( p_sys->p_connection );
-+    xcb_disconnect( p_sys->p_connection );
-     free( p_sys );
-     return VLC_EGENERIC;
- }
-@@ -151,6 +159,10 @@
-     vlc_join( p_sys->thread, NULL );
- 
-     Unregister( p_intf );
-+#ifndef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-+    if( p_sys->p_map )
-+        free( p_sys->p_map->p_keys );
-+#endif
-     free( p_sys->p_map );
- 
-     xcb_key_symbols_free( p_sys->p_symbols );
-@@ -164,16 +176,43 @@
- static unsigned GetModifier( xcb_connection_t *p_connection, xcb_key_symbols_t *p_symbols, xcb_keysym_t sym )
- {
-     static const unsigned pi_mask[8] = {
--        XCB_MOD_MASK_SHIFT, XCB_MOD_MASK_LOCK, XCB_MOD_MASK_CONTROL, XCB_MOD_MASK_1,
--        XCB_MOD_MASK_2, XCB_MOD_MASK_3, XCB_MOD_MASK_4, XCB_MOD_MASK_5
-+        XCB_MOD_MASK_SHIFT, XCB_MOD_MASK_LOCK, XCB_MOD_MASK_CONTROL,
-+        XCB_MOD_MASK_1, XCB_MOD_MASK_2, XCB_MOD_MASK_3,
-+        XCB_MOD_MASK_4, XCB_MOD_MASK_5
-     };
- 
-+    if( sym == 0 )
-+        return 0; /* no modifier */
-+
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-     const xcb_keycode_t key = xcb_key_symbols_get_keycode( p_symbols, sym );
-     if( key == 0 )
-         return 0;
-+#else
-+    const xcb_keycode_t *p_keys = xcb_key_symbols_get_keycode( p_symbols, sym );
-+    if( !p_keys )
-+        return 0;
- 
--    xcb_get_modifier_mapping_cookie_t r = xcb_get_modifier_mapping( p_connection );
--    xcb_get_modifier_mapping_reply_t *p_map = xcb_get_modifier_mapping_reply( p_connection, r, NULL );
-+    int i = 0;
-+    bool no_modifier = true;
-+    while( p_keys[i] != XCB_NO_SYMBOL )
-+    {
-+        if( p_keys[i] != 0 )
-+        {
-+            no_modifier = false;
-+            break;
-+        }
-+        i++;
-+    }
-+
-+    if( no_modifier )
-+        return 0;
-+#endif
-+
-+    xcb_get_modifier_mapping_cookie_t r =
-+            xcb_get_modifier_mapping( p_connection );
-+    xcb_get_modifier_mapping_reply_t *p_map =
-+            xcb_get_modifier_mapping_reply( p_connection, r, NULL );
-     if( !p_map )
-         return 0;
- 
-@@ -181,20 +220,30 @@
-     if( !p_keycode )
-         return 0;
- 
--    unsigned i_mask = 0;
-     for( int i = 0; i < 8; i++ )
--    {
-         for( int j = 0; j < p_map->keycodes_per_modifier; j++ )
--        {
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-             if( p_keycode[i * p_map->keycodes_per_modifier + j] == key )
--                i_mask = pi_mask[i];
--        }
--    }
-+            {
-+                free( p_map );
-+                return pi_mask[i];
-+            }
-+#else
-+            for( int k = 0; p_keys[k] != XCB_NO_SYMBOL; k++ )
-+                if( p_keycode[i*p_map->keycodes_per_modifier + j] == p_keys[k])
-+                {
-+                    free( p_map );
-+                    return pi_mask[i];
-+                }
-+#endif
- 
-     free( p_map ); // FIXME to check
--    return i_mask;
-+    return 0;
- }
--static unsigned GetX11Modifier( xcb_connection_t *p_connection, xcb_key_symbols_t *p_symbols, unsigned i_vlc )
-+
-+
-+static unsigned GetX11Modifier( xcb_connection_t *p_connection,
-+        xcb_key_symbols_t *p_symbols, unsigned i_vlc )
- {
-     unsigned i_mask = 0;
- 
-@@ -225,7 +274,6 @@
- 
-     { XK_Return, KEY_ENTER },
-     { XK_KP_Enter, KEY_ENTER },
--    { XK_space, KEY_SPACE },
-     { XK_Escape, KEY_ESC },
- 
-     { XK_Menu, KEY_MENU },
-@@ -253,16 +301,16 @@
- };
- static xcb_keysym_t GetX11Key( unsigned i_vlc )
- {
-+    /* X11 and VLC use ASCII for printable ASCII characters */
-+    if( i_vlc >= 32 && i_vlc <= 127 )
-+        return i_vlc;
-+
-     for( int i = 0; x11keys_to_vlckeys[i].i_vlc != 0; i++ )
-     {
-         if( x11keys_to_vlckeys[i].i_vlc == i_vlc )
-             return x11keys_to_vlckeys[i].i_x11;
-     }
- 
--    /* Copied from xcb, it seems that xcb use ascii code for ascii characters */
--    if( isascii( i_vlc ) )
--        return i_vlc;
--
-     return XK_VoidSymbol;
- }
- 
-@@ -281,7 +329,7 @@
-     p_sys->p_map = NULL;
- 
-     /* Registering of Hotkeys */
--    for( struct hotkey *p_hotkey = p_intf->p_libvlc->p_hotkeys;
-+    for( const struct hotkey *p_hotkey = p_intf->p_libvlc->p_hotkeys;
-             p_hotkey->psz_action != NULL;
-             p_hotkey++ )
-     {
-@@ -291,23 +339,34 @@
- 
-         const int i_vlc_action = p_hotkey->i_action;
-         const int i_vlc_key = config_GetInt( p_intf, psz_hotkey );
--
-         free( psz_hotkey );
- 
-         if( !i_vlc_key )
-             continue;
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-+        const xcb_keycode_t key = xcb_key_symbols_get_keycode(
-+                p_sys->p_symbols, GetX11Key( i_vlc_key & ~KEY_MODIFIER ) );
-+#else
-+        xcb_keycode_t *p_keys = xcb_key_symbols_get_keycode(
-+                p_sys->p_symbols, GetX11Key( i_vlc_key & ~KEY_MODIFIER ) );
-+        if( !p_keys )
-+            continue;
-+#endif
-+        const unsigned i_modifier = GetX11Modifier( p_sys->p_connection,
-+                p_sys->p_symbols, i_vlc_key & KEY_MODIFIER );
- 
--        const xcb_keycode_t key = xcb_key_symbols_get_keycode( p_sys->p_symbols, GetX11Key( i_vlc_key & ~KEY_MODIFIER ) );
--        const unsigned i_modifier = GetX11Modifier( p_sys->p_connection, p_sys->p_symbols, i_vlc_key & KEY_MODIFIER );
--
--        for( int j = 0; j < sizeof(p_x11_modifier_ignored)/sizeof(*p_x11_modifier_ignored); j++ )
-+        const size_t max = sizeof(p_x11_modifier_ignored) /
-+                sizeof(*p_x11_modifier_ignored);
-+        for( unsigned int i = 0; i < max; i++ )
-         {
--            const unsigned i_ignored = GetModifier( p_sys->p_connection, p_sys->p_symbols, p_x11_modifier_ignored[j] );
--            if( j != 0 && i_ignored == 0x00)
-+            const unsigned i_ignored = GetModifier( p_sys->p_connection,
-+                    p_sys->p_symbols, p_x11_modifier_ignored[i] );
-+            if( i != 0 && i_ignored == 0)
-                 continue;
- 
-             hotkey_mapping_t *p_map_old = p_sys->p_map;
--            p_sys->p_map = realloc( p_sys->p_map, sizeof(*p_sys->p_map) * (p_sys->i_map+1) );
-+            p_sys->p_map = realloc( p_sys->p_map,
-+                    sizeof(*p_sys->p_map) * (p_sys->i_map+1) );
-             if( !p_sys->p_map )
-             {
-                 p_sys->p_map = p_map_old;
-@@ -315,7 +374,11 @@
-             }
-             hotkey_mapping_t *p_map = &p_sys->p_map[p_sys->i_map++];
- 
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-             p_map->i_x11 = key;
-+#else
-+            p_map->p_keys = p_keys;
-+#endif
-             p_map->i_modifier = i_modifier|i_ignored;
-             p_map->i_action = i_vlc_action;
-         }
-@@ -329,9 +392,18 @@
-     for( int i = 0; i < p_sys->i_map; i++ )
-     {
-         const hotkey_mapping_t *p_map = &p_sys->p_map[i];
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-         xcb_grab_key( p_sys->p_connection, true, p_sys->root,
-                       p_map->i_modifier, p_map->i_x11,
-                       XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC );
-+#else
-+        for( int j = 0; p_map->p_keys[j] != XCB_NO_SYMBOL; j++ )
-+        {
-+            xcb_grab_key( p_sys->p_connection, true, p_sys->root,
-+                          p_map->i_modifier, p_map->p_keys[j],
-+                          XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC );
-+        }
-+#endif
-     }
- }
- static void Unregister( intf_thread_t *p_intf )
-@@ -341,7 +413,14 @@
-     for( int i = 0; i < p_sys->i_map; i++ )
-     {
-         const hotkey_mapping_t *p_map = &p_sys->p_map[i];
--        xcb_ungrab_key( p_sys->p_connection, p_map->i_x11, p_sys->root, p_map->i_modifier );
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-+        xcb_ungrab_key( p_sys->p_connection, p_map->i_x11, p_sys->root,
-+                p_map->i_modifier );
-+#else
-+        for( int j = 0; p_map->p_keys[j] != XCB_NO_SYMBOL; j++ )
-+            xcb_ungrab_key( p_sys->p_connection, p_map->p_keys[j], p_sys->root,
-+                    p_map->i_modifier );
-+#endif
-     }
- }
- 
-@@ -387,12 +466,28 @@
-             {
-                 hotkey_mapping_t *p_map = &p_sys->p_map[i];
- 
-+#ifdef XCB_KEYSYM_OLD_API /* as seen in Debian Lenny */
-                 if( p_map->i_x11 == e->detail &&
-                     p_map->i_modifier == e->state )
-                 {
--                    var_SetInteger( p_intf->p_libvlc, "key-action", p_map->i_action );
-+                    var_SetInteger( p_intf->p_libvlc, "key-action",
-+                            p_map->i_action );
-                     break;
-                 }
-+#else
-+            bool loop_break = false;
-+            for( int j = 0; p_map->p_keys[j] != XCB_NO_SYMBOL; j++ )
-+                if( p_map->p_keys[j] == e->detail &&
-+                    p_map->i_modifier == e->state )
-+                {
-+                    var_SetInteger( p_intf->p_libvlc, "key-action",
-+                            p_map->i_action );
-+                    loop_break = true;
-+                    break;
-+                }
-+            if( loop_break )
-+                break;
-+#endif
-             }
-             free( p_event );
-         }


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list