import vlc-3.0.19-0.3.el9.1

i9cr changed/i9/vlc-3.0.19-0.3.el9.1
Arkady L. Shane 1 year ago
commit 7c5ac7904b
Signed by: tigro
GPG Key ID: 9C7900103E1C4F8B

1
.gitignore vendored

@ -0,0 +1 @@
SOURCES/vlc-3e48354.tar.gz

@ -0,0 +1 @@
0557127740b267324a22a76bac1d03747f7e5102 SOURCES/vlc-3e48354.tar.gz

@ -0,0 +1,38 @@
From 3039aec58203513f29edb03f84471ea941a0c226 Mon Sep 17 00:00:00 2001
From: Nicolas Chauvet <kwizart@gmail.com>
Date: Mon, 24 Sep 2018 18:28:26 +0200
Subject: [PATCH] Use @SYSTEM wide ciphers for gnutls
Gnutls upstream has support for system defined ciphers list
This is decribed at
https://fedoraproject.org/wiki/Packaging:CryptoPolicies
Also found on the debian wiki
https://wiki.debian.org/CryptoPolicy
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
---
modules/misc/gnutls.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules/misc/gnutls.c b/modules/misc/gnutls.c
index 7b63cc34c4..3ca665f3d3 100644
--- a/modules/misc/gnutls.c
+++ b/modules/misc/gnutls.c
@@ -768,12 +768,14 @@ static void CloseServer (vlc_tls_creds_t *crd)
"hash functions and compression methods can be selected. " \
"Refer to GNU TLS documentation for detailed syntax.")
static const char *const priorities_values[] = {
+ "@SYSTEM",
"PERFORMANCE",
"NORMAL",
"SECURE128",
"SECURE256",
};
static const char *const priorities_text[] = {
+ N_("System (default to system crypto ciphers policy)"),
N_("Performance (prioritize faster ciphers)"),
N_("Normal"),
N_("Secure 128-bits (exclude 256-bits ciphers)"),
--
2.25.4

@ -0,0 +1,44 @@
From fefc0d51b9d3ec6046a73cf317b31870048d1fc2 Mon Sep 17 00:00:00 2001
From: Nicolas Chauvet <kwizart@gmail.com>
Date: Mon, 6 Apr 2020 09:08:08 +0200
Subject: [PATCH] Lower libgcrypt to 1.5.3
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
---
configure.ac | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 1dfe2fce9b..cdac533e10 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4038,14 +4038,14 @@ AC_ARG_ENABLE(libgcrypt,
AC_ARG_VAR([GCRYPT_CFLAGS], [C compiler flags for gcrypt])
AC_ARG_VAR([GCRYPT_LIBS], [linker flags flags for gcrypt])
-# require libgcrypt >= 1.6.0
+# require libgcrypt >= 1.5.3
AS_IF([test "${enable_libgcrypt}" != "no"], [
- AC_CACHE_CHECK([for gcrypt 1.6.0 or later], [ac_cv_lib_gcrypt], [
+ AC_CACHE_CHECK([for gcrypt 1.5.3 or later], [ac_cv_lib_gcrypt], [
VLC_SAVE_FLAGS
CFLAGS="${CFLAGS} ${GCRYPT_CFLAGS}"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
[#include <gcrypt.h>
-#if GCRYPT_VERSION_NUMBER < 0x010600
+#if GCRYPT_VERSION_NUMBER < 0x010503
#error
#endif]])], [
ac_cv_lib_gcrypt=yes
@@ -4059,7 +4059,7 @@ AS_IF([test "${enable_libgcrypt}" != "no"], [
AC_DEFINE([HAVE_GCRYPT], 1, [Defined if having gcrypt])
], [
AS_IF([test "${enable_libgcrypt}" = "yes"], [
- AC_MSG_ERROR([libgcrypt version 1.6.0 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
+ AC_MSG_ERROR([libgcrypt version 1.5.3 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
])
])
])
--
2.25.1

@ -0,0 +1,94 @@
From 43332a4fa12ff79f284749177dc0743a495caea6 Mon Sep 17 00:00:00 2001
From: Nicolas Chauvet <kwizart@gmail.com>
Date: Sat, 18 Jul 2020 15:19:31 +0200
Subject: [PATCH 1/1] Restore support for thread callbacks for older gcrypt
---
include/vlc_gcrypt.h | 64 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/include/vlc_gcrypt.h b/include/vlc_gcrypt.h
index a04e1b1d86..4c7f1e86b0 100644
--- a/include/vlc_gcrypt.h
+++ b/include/vlc_gcrypt.h
@@ -25,6 +25,67 @@
#include <errno.h>
+#if GCRYPT_VERSION_NUMBER < 0x010600
+#ifdef LIBVLC_USE_PTHREAD
+/**
+ * If possible, use gcrypt-provided thread implementation. This is so that
+ * other non-VLC components (inside the process) can also use gcrypt safely.
+ */
+GCRY_THREAD_OPTION_PTHREAD_IMPL;
+# define gcry_threads_vlc gcry_threads_pthread
+#else
+
+/**
+ * gcrypt thread option VLC implementation
+ */
+
+static int gcry_vlc_mutex_init( void **p_sys )
+{
+ vlc_mutex_t *p_lock = (vlc_mutex_t *)malloc( sizeof( vlc_mutex_t ) );
+ if( p_lock == NULL)
+ return ENOMEM;
+
+ vlc_mutex_init( p_lock );
+ *p_sys = p_lock;
+ return VLC_SUCCESS;
+}
+
+static int gcry_vlc_mutex_destroy( void **p_sys )
+{
+ vlc_mutex_t *p_lock = (vlc_mutex_t *)*p_sys;
+ vlc_mutex_destroy( p_lock );
+ free( p_lock );
+ return VLC_SUCCESS;
+}
+
+static int gcry_vlc_mutex_lock( void **p_sys )
+{
+ vlc_mutex_lock( (vlc_mutex_t *)*p_sys );
+ return VLC_SUCCESS;
+}
+
+static int gcry_vlc_mutex_unlock( void **lock )
+{
+ vlc_mutex_unlock( (vlc_mutex_t *)*lock );
+ return VLC_SUCCESS;
+}
+
+static const struct gcry_thread_cbs gcry_threads_vlc =
+{
+ GCRY_THREAD_OPTION_USER,
+ NULL,
+ gcry_vlc_mutex_init,
+ gcry_vlc_mutex_destroy,
+ gcry_vlc_mutex_lock,
+ gcry_vlc_mutex_unlock,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+};
+#endif
+#endif
+
+/**
+ * Initializes gcrypt with proper locking.
+ */
static inline void vlc_gcrypt_init (void)
{
/* This would need a process-wide static mutex with all libraries linking
@@ -37,6 +98,9 @@ static inline void vlc_gcrypt_init (void)
vlc_global_lock (VLC_GCRYPT_MUTEX);
if (!done)
{
+#if GCRYPT_VERSION_NUMBER < 0x010600
+ gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_vlc);
+#endif
/* The suggested way for an application to make sure that global_init
* has been called is by using gcry_check_version. (see global_init
* comments in gcrypt sources) */
--
2.25.4

@ -0,0 +1,36 @@
From 3965d3cf07a62a7ed64c79f44a7cc416b76cb27e Mon Sep 17 00:00:00 2001
From: Leigh Scott <leigh123linux@gmail.com>
Date: Fri, 30 Oct 2020 10:51:52 +0100
Subject: [PATCH] Switch to Fedora lua-5.1
---
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 3aa07a8c715d..9bc7ceafb5ff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1681,7 +1681,7 @@ then
[
AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua 5.1 instead])
- PKG_CHECK_MODULES(LUA, lua5.1,
+ PKG_CHECK_MODULES(LUA, lua-5.1,
[ have_lua=yes ],
[
AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
@@ -1695,8 +1695,8 @@ then
[ have_lua=no ] )
AC_CHECK_LIB( lua5.2 , luaL_newstate,
[LUA_LIBS="-llua5.2"],
- AC_CHECK_LIB( lua5.1 , luaL_newstate,
- [LUA_LIBS="-llua5.1"],
+ AC_CHECK_LIB( lua-5.1 , luaL_newstate,
+ [LUA_LIBS="-llua-5.1"],
AC_CHECK_LIB( lua51 , luaL_newstate,
[LUA_LIBS="-llua51"],
AC_CHECK_LIB( lua , luaL_newstate,
--
2.25.4

@ -0,0 +1,101 @@
From c25400b146f7a7b3b4a29c0efa4daee9d1c49633 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
Date: Tue, 5 May 2020 18:48:06 +0300
Subject: [PATCH] notify: don't depend on any GTK version
If there's one in the process use it. If there's none fallback to
default VLC icon with the old code.
This not only avoids VLC builds depending on GTK, but this should
prevent crashes if GTK 2 is present in the process (e.g. through Qt plugin).
Adapted to vlc-3.x by "Nicolas Chauvet <kwizart@gmail.com>"
---
configure.ac | 2 +-
modules/notify/notify.c | 38 ++++++++++++++++++++++----------------
2 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/configure.ac b/configure.ac
index 09ac250ff483..a3ef64318561 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4206,7 +4206,7 @@ AS_IF([test "${enable_osx_notifications}" != "no"], [
dnl
dnl Libnotify notification plugin
dnl
-PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-3.0], [libnotify notification], [auto])
+PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
dnl
dnl libplacebo support
diff --git a/modules/notify/notify.c b/modules/notify/notify.c
index bd6bba6c32c8..20b7c4acb761 100644
--- a/modules/notify/notify.c
+++ b/modules/notify/notify.c
@@ -36,10 +36,16 @@
#include <vlc_playlist.h>
#include <vlc_url.h>
-#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <libnotify/notify.h>
+typedef struct GtkIconTheme GtkIconTheme;
+enum GtkIconLookupFlags { dummy = 0x7fffffff };
+
+__attribute__((weak)) GtkIconTheme *gtk_icon_theme_get_default(void);
+__attribute__((weak)) GdkPixbuf *gtk_icon_theme_load_icon(GtkIconTheme *,
+ const char *icon_name, int size, enum GtkIconLookupFlags, GError **);
+
#ifndef NOTIFY_CHECK_VERSION
# define NOTIFY_CHECK_VERSION(x,y,z) 0
#endif
@@ -222,30 +228,30 @@ static int ItemChange( vlc_object_t *p_this, const char *psz_var,
GError *p_error = NULL;
pix = gdk_pixbuf_new_from_file_at_scale( psz_arturl,
72, 72, TRUE, &p_error );
+ free( psz_arturl );
}
- else /* else we show state-of-the art logo */
+ else
+ /* else we show state-of-the art logo */
+ if( gtk_icon_theme_get_default != NULL
+ && gtk_icon_theme_load_icon != NULL )
{
/* First try to get an icon from the current theme. */
GtkIconTheme* p_theme = gtk_icon_theme_get_default();
pix = gtk_icon_theme_load_icon( p_theme, "vlc", 72, 0, NULL);
-
- if( !pix )
+ }
+ else
+ { /* Load icon from share/ */
+ GError *p_error = NULL;
+ char *psz_pixbuf;
+ char *psz_data = config_GetDataDir();
+ if( asprintf( &psz_pixbuf, "%s/icons/48x48/vlc.png", psz_data ) >= 0 )
{
- /* Load icon from share/ */
- GError *p_error = NULL;
- char *psz_pixbuf;
- char *psz_data = config_GetDataDir();
- if( asprintf( &psz_pixbuf, "%s/icons/48x48/vlc.png", psz_data ) >= 0 )
- {
- pix = gdk_pixbuf_new_from_file( psz_pixbuf, &p_error );
- free( psz_pixbuf );
- }
- free( psz_data );
+ pix = gdk_pixbuf_new_from_file( psz_pixbuf, &p_error );
+ free( psz_pixbuf );
}
+ free( psz_data );
}
- free( psz_arturl );
-
/* we need to replace '&' with '&amp;' because '&' is a keyword of
* notification-daemon parser */
const int i_len = strlen( psz_tmp );
--
2.25.4

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save