[vlc-commits] [Git][videolan/vlc][master] 5 commits: meson: sid: do not abort setup when resid-builder is missing

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Oct 10 17:00:37 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
ea7633b9 by Wassim Lalaoui at 2026-10-10T16:36:40+00:00
meson: sid: do not abort setup when resid-builder is missing

It avoids build being aborted in some cases, for example if a system provides libsidplay2
without resid-builder.

- - - - -
20d8bbbf by Wassim Lalaoui at 2026-10-10T16:36:40+00:00
access: replace gpg_strerror by gcry_strerror

this removes gpg_error dependency

- - - - -
6e6d00fa by Wassim Lalaoui at 2026-10-10T16:36:40+00:00
meson: remove gpg_error  dependency for access_output_livehttp

- - - - -
669d5fdc by Wassim Lalaoui at 2026-10-10T16:36:40+00:00
configure.ac: handle gcrypt with PKG_CHECK_MODULES

- - - - -
00b15a00 by Wassim Lalaoui at 2026-10-10T16:36:40+00:00
build: require libgcrypt 1.8.5 or higher

- - - - -


7 changed files:

- configure.ac
- contrib/src/gcrypt/rules.mak
- meson.build
- modules/access/dcp/dcpdecrypt.cpp
- modules/access_output/livehttp.c
- modules/access_output/meson.build
- modules/demux/meson.build


Changes:

=====================================
configure.ac
=====================================
@@ -5001,51 +5001,18 @@ dnl libgcrypt
 dnl
 AC_ARG_ENABLE([libgcrypt],
   AS_HELP_STRING([--disable-libgcrypt], [gcrypt support (default enabled)]))
-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
+have_gcrypt="no"
 AS_IF([test "${enable_libgcrypt}" != "no"], [
-  AC_CACHE_CHECK([for gcrypt 1.6.0 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
-#error
-#endif]])], [
-      ac_cv_lib_gcrypt=yes
-    ], [
-      ac_cv_lib_gcrypt=no
-    ])
-    VLC_RESTORE_FLAGS
-  ])
-
-  AS_IF([test "${ac_cv_lib_gcrypt}" = "yes"], [
+  PKG_CHECK_MODULES([GCRYPT], [libgcrypt >= 1.8.5], [
+    have_gcrypt="yes"
     AC_DEFINE([HAVE_GCRYPT], 1, [Defined if having gcrypt])
-    PKG_CHECK_MODULES([GPGERROR], [gpg-error], [
-      have_gpg_error="yes"
-    ], [
-      have_gpg_error="no"
-    ])
   ], [
     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.8.5 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
     ])
   ])
 ])
-
-AS_IF([test -z "$GCRYPT_LIBS"], [
-  AS_IF([test "${have_gpg_error}" = "yes"],[
-    GCRYPT_LIBS="-lgcrypt ${GPGERROR_LIBS}"
-  ],[
-    GCRYPT_LIBS="-lgcrypt -lgpg-error"
-  ])
-])
-
-AC_SUBST([GCRYPT_CFLAGS])
-AC_SUBST([GCRYPT_LIBS])
-AM_CONDITIONAL([HAVE_GCRYPT], [test "${ac_cv_lib_gcrypt}" = "yes"])
+AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_gcrypt}" = "yes"])
 
 dnl
 dnl TLS/SSL
@@ -5101,7 +5068,7 @@ AC_ARG_ENABLE([update-check],
   AS_HELP_STRING([--enable-update-check], [update checking system (default disabled)]))
 if test "${enable_update_check}" = "yes"
 then
- AS_IF([test "${ac_cv_lib_gcrypt}" != "yes"],[
+ AS_IF([test "${have_gcrypt}" != "yes"],[
     AC_MSG_ERROR([libgcrypt is required for update checking system]) ])
 fi
 AM_CONDITIONAL([UPDATE_CHECK], [test "${enable_update_check}" = "yes"])


=====================================
contrib/src/gcrypt/rules.mak
=====================================
@@ -3,7 +3,7 @@ GCRYPT_VERSION := 1.12.2
 GCRYPT_URL := $(GNUGPG)/libgcrypt/libgcrypt-$(GCRYPT_VERSION).tar.bz2
 
 PKGS += gcrypt
-ifeq ($(call need_pkg,"libgcrypt >= 1.6.0"),)
+ifeq ($(call need_pkg,"libgcrypt >= 1.8.5"),)
 PKGS_FOUND += gcrypt
 else
 PKGS.tools += gcrypt


=====================================
meson.build
=====================================
@@ -1135,7 +1135,7 @@ if get_option('default_monospace_font_family') != ''
 endif
 
 gcrypt_dep = dependency('libgcrypt',
-                         version: '>= 1.6.0',
+                         version: '>= 1.8.5',
                          required: get_option('libgcrypt'))
 if gcrypt_dep.found()
     cdata.set('HAVE_GCRYPT', 1)


=====================================
modules/access/dcp/dcpdecrypt.cpp
=====================================
@@ -547,7 +547,7 @@ int RSAKey::readDER( unsigned char const* ps_data_der, size_t length )
         err = gcry_mpi_scan( key_params + i, GCRYMPI_FMT_USG, ps_data_der, tag_inf.length, NULL );
         if( err )
         {
-            msg_Err( this->p_demux, "error scanning RSA parameter %d: %s", i, gpg_strerror( err ) );
+            msg_Err( this->p_demux, "error scanning RSA parameter %d: %s", i, gcry_strerror( err ) );
             goto error;
         }
         ps_data_der += tag_inf.length;
@@ -570,7 +570,7 @@ int RSAKey::readDER( unsigned char const* ps_data_der, size_t length )
                          key_params[3], key_params[4], key_params[7] );
     if( err )
     {
-        msg_Err( this->p_demux, "error building S-expression: %s", gpg_strerror( err ) );
+        msg_Err( this->p_demux, "error building S-expression: %s", gcry_strerror( err ) );
         goto error;
     }
 


=====================================
modules/access_output/livehttp.c
=====================================
@@ -339,7 +339,7 @@ static int CryptSetup( sout_access_out_t *p_access, char *key_file )
                                          GCRY_CIPHER_MODE_CBC, 0 );
     if( err )
     {
-        msg_Err( p_access, "Opening AES Cipher failed: %s", gpg_strerror(err));
+        msg_Err( p_access, "Opening AES Cipher failed: %s", gcry_strerror(err));
         free( keyfile );
         return VLC_EGENERIC;
     }
@@ -368,7 +368,7 @@ static int CryptSetup( sout_access_out_t *p_access, char *key_file )
     err = gcry_cipher_setkey( p_sys->aes_ctx, key, 16 );
     if(err)
     {
-        msg_Err(p_access, "Setting AES key failed: %s", gpg_strerror(err));
+        msg_Err(p_access, "Setting AES key failed: %s", gcry_strerror(err));
         gcry_cipher_close( p_sys->aes_ctx );
         return VLC_EGENERIC;
     }
@@ -465,7 +465,7 @@ static int CryptKey( sout_access_out_t *p_access, uint32_t i_segment )
                                           p_sys->aes_ivs, 16);
     if( err )
     {
-        msg_Err(p_access, "Setting AES IVs failed: %s", gpg_strerror(err) );
+        msg_Err(p_access, "Setting AES IVs failed: %s", gcry_strerror(err) );
         gcry_cipher_close( p_sys->aes_ctx);
         return VLC_EGENERIC;
     }
@@ -720,7 +720,7 @@ static void closeCurrentSegment( sout_access_out_t *p_access, sout_access_out_sy
             gcry_error_t err = gcry_cipher_encrypt( p_sys->aes_ctx, p_sys->stuffing_bytes, 16, NULL, 0 );
 
             if( err ) {
-               msg_Err( p_access, "Couldn't encrypt 16 bytes: %s", gpg_strerror(err) );
+               msg_Err( p_access, "Couldn't encrypt 16 bytes: %s", gcry_strerror(err) );
             } else {
 
             int ret = vlc_write( p_sys->i_handle, p_sys->stuffing_bytes, 16 );
@@ -978,7 +978,7 @@ static ssize_t writeSegment( sout_access_out_t *p_access )
                                 output->p_buffer, output->i_buffer, NULL, 0 );
             if( err )
             {
-                msg_Err( p_access, "Encryption failure: %s ", gpg_strerror(err) );
+                msg_Err( p_access, "Encryption failure: %s ", gcry_strerror(err) );
                 return -1;
             }
             encrypted=true;


=====================================
modules/access_output/meson.build
=====================================
@@ -25,12 +25,11 @@ vlc_modules += {
 }
 
 # liveHTTP
-gpg_error_dep = cc.find_library('gpg-error', dirs: contrib_libdir, required: false)
 vlc_modules += {
     'name' : 'access_output_livehttp',
     'sources' : files('livehttp.c'),
-    'dependencies' : [ gcrypt_dep, gpg_error_dep ],
-    'enabled' : gcrypt_dep.found() and gpg_error_dep.found(),
+    'dependencies' : [ gcrypt_dep ],
+    'enabled' : gcrypt_dep.found(),
     'shortname' : 'a_o_live',
     'plugin_dir' : 'access_output',
 }


=====================================
modules/demux/meson.build
=====================================
@@ -456,7 +456,7 @@ vlc_modules += {
 # sid
 sid_dep = dependency('libsidplay2', required: get_option('sid'))
 if cpp.check_header('sidplay/builders/resid.h', dependencies: sid_dep)
-resid_dep = cpp.find_library('resid-builder', dirs: contrib_libdir)
+resid_dep = cpp.find_library('resid-builder', dirs: contrib_libdir, required: get_option('sid'))
 vlc_modules += {
     'name' : 'sid',
     'sources' : files('sid.cpp'),



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/925460a269aeddfc0216e483983423764ee26cf8...00b15a008ae519b8fc97bd73e242819128013e1c

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/925460a269aeddfc0216e483983423764ee26cf8...00b15a008ae519b8fc97bd73e242819128013e1c
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list