[vlc-commits] [Git][videolan/vlc][3.0.x] 7 commits: tools: fix libtool version check for Debian

Thomas Guillem (@tguillem) gitlab at videolan.org
Thu Sep 11 13:41:19 UTC 2025



Thomas Guillem pushed to branch 3.0.x at VideoLAN / VLC


Commits:
940dae52 by Romain Vimont at 2025-09-11T13:32:29+02:00
tools: fix libtool version check for Debian

On Debian, the libtool version is prefixed by "Debian-":

    $ libtool --version | head -1
    libtool (GNU libtool) 2.5.4 Debian-2.5.4-4

As a consequence, the extracted version is incorrect:

    $ libtool --version | head -1 | sed s/'.* '//
    Debian-2.5.4-4

causing the bootstrap script to fail:

    ./bootstrap: 31: [: Illegal number: Debian-2
    ./bootstrap: 32: [: Illegal number: Debian-2
    ./bootstrap: 33: [: Illegal number: Debian-2

Extract the first pattern matching NUM.NUM or NUM.NUM.NUM.

(cherry picked from commit 42e32fb792a7d9962e35a1cc6e2e4d96c9bf7708)

- - - - -
f555dff5 by Steve Lhomme at 2025-09-11T13:33:47+02:00
tools: don't show untar'ed files in non verbose mode

This avoids being bombarded with logs when building like the 6000 lines of meson.

Similar to 0a555fa1ac6db47923c9db03faa8d49393f571ec for tools.

(cherry picked from commit 66aa9ee86f897bcabf0a36cc0b90ec4687a57bfa)

- - - - -
c26b4600 by Steve Lhomme at 2025-09-11T13:49:36+02:00
contrib: breakpad: fix support for Windows ARM64

- - - - -
a3c6bc27 by Steve Lhomme at 2025-09-11T13:49:37+02:00
configure.ac: Correctly set version to 3.0.22-rc1

Similar to ed93768cedee7dae31a5b44d57a38d59da4dd1cf

- - - - -
ba3e9c6a by Steve Lhomme at 2025-09-11T15:06:17+02:00
package/win32: generate the .exe and .msi installer in release builds

So we don't have to generate package-win-strip again and possibly
have different binary signatures.

The .msi package generation is tricky and requires many calls. It's easier
to let the makefile do it.

- - - - -
00cb8229 by Steve Lhomme at 2025-09-11T15:06:18+02:00
CI: add missing UWP_EXTRA_BUILD_FLAGS to Windows releases

That will turn the ARM build into a UCRT build.

- - - - -
40530db7 by Steve Lhomme at 2025-09-11T15:06:46+02:00
CI: keep the .exe/.msi Windows installer in release builds

- - - - -


8 changed files:

- configure.ac
- contrib/src/breakpad/rules.mak
- + contrib/src/breakpad/windows-arm64.patch
- extras/ci/gitlab-ci.yml
- extras/package/win32/build.sh
- extras/package/win32/package.mak
- extras/tools/bootstrap
- extras/tools/tools.mak


Changes:

=====================================
configure.ac
=====================================
@@ -2,7 +2,7 @@ dnl Autoconf settings for vlc
 
 AC_COPYRIGHT([Copyright 1999-2025 VLC authors and VideoLAN])
 
-AC_INIT(vlc, 3.0.22)
+AC_INIT(vlc, 3.0.22-rc1)
 VERSION_MAJOR=3
 VERSION_MINOR=0
 VERSION_REVISION=22


=====================================
contrib/src/breakpad/rules.mak
=====================================
@@ -16,6 +16,7 @@ $(TARBALLS)/breakpad-$(BREAKPAD_VERSION).tar.gz:
 breakpad: breakpad-$(BREAKPAD_VERSION).tar.gz .sum-breakpad
 	$(UNPACK)
 	$(APPLY) $(SRC)/breakpad/0001-mac-client-Upgrade-Breakpad.xib-to-new-format.patch
+	$(APPLY) $(SRC)/breakpad/windows-arm64.patch
 	sed -i.orig -e "s/GCC_TREAT_WARNINGS_AS_ERRORS = YES/GCC_TREAT_WARNINGS_AS_ERRORS = NO/" "$(UNPACK_DIR)/src/common/mac/Breakpad.xcconfig"
 	$(MOVE)
 


=====================================
contrib/src/breakpad/windows-arm64.patch
=====================================
@@ -0,0 +1,28 @@
+From b988fa74ec18de6214b18f723e48331d9a7802ae Mon Sep 17 00:00:00 2001
+From: Tom Tan <Tom.Tan at microsoft.com>
+Date: Wed, 2 Jan 2019 15:06:59 -0800
+Subject: [PATCH] Extract intruction pointer correctly for Windows ARM64
+
+Bug: 893460
+Change-Id: Ibbdf734e72c29c4779b6a701dceec1626056a9ba
+Reviewed-on: https://chromium-review.googlesource.com/c/1393763
+Reviewed-by: Joshua Peraza <jperaza at chromium.org>
+---
+ src/client/windows/handler/exception_handler.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/client/windows/handler/exception_handler.cc b/src/client/windows/handler/exception_handler.cc
+index c369b65d6..ad45b2000 100644
+--- a/src/client/windows/handler/exception_handler.cc
++++ b/src/client/windows/handler/exception_handler.cc
+@@ -976,7 +976,9 @@ bool ExceptionHandler::WriteMinidumpWithExceptionForProcess(
+ #if defined(_M_IX86)
+           exinfo->ContextRecord->Eip;
+ #elif defined(_M_AMD64)
+-        exinfo->ContextRecord->Rip;
++          exinfo->ContextRecord->Rip;
++#elif defined(_M_ARM64)
++          exinfo->ContextRecord->Pc;
+ #else
+ #error Unsupported platform
+ #endif


=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -197,16 +197,18 @@ nightly-win64-arm-llvm:
       - export RELEASE_TAG=$(echo $CI_COMMIT_TAG | cut -f 1 -d -)
     script:
       - export PATH=/opt/breakpad/bin:$PATH
-      - ./extras/package/win32/build.sh -r -l -i u -a $HOST_ARCH -b https://win.crashes.videolan.org
+      - ./extras/package/win32/build.sh -r -l -i u -a $HOST_ARCH -b https://win.crashes.videolan.org $UWP_EXTRA_BUILD_FLAGS
       - >
         ./extras/breakpad/symb_upload.py
         --upload-url $CRASH_DRAGON_SUBMIT_URL
         -p win --version $RELEASE_TAG
         --prod VLC --log INFO
-        --strip-path $CI_PROJECT_DIR $CI_PROJECT_DIR/$SHORTARCH/symbols-$RELEASE_TAG
+        --strip-path $CI_PROJECT_DIR $CI_PROJECT_DIR/${VLCARCH}/symbols-$RELEASE_TAG
     artifacts:
       paths:
-        - $CI_PROJECT_DIR/$SHORTARCH/vlc-*release.7z
+        - $CI_PROJECT_DIR/${VLCARCH}/vlc-*-*-release.7z
+        - $CI_PROJECT_DIR/${VLCARCH}/vlc-*-*.exe
+        - $CI_PROJECT_DIR/${VLCARCH}/vlc-*-*.msi
 
 release-win32:
     extends: .release-win-common


=====================================
extras/package/win32/build.sh
=====================================
@@ -522,8 +522,10 @@ make -j$JOBS package-win32 package-msi
 elif [ "$INSTALLER" = "r" ]; then
 make package-win32
 elif [ "$INSTALLER" = "u" ]; then
-make package-win32-release
+make -j$JOBS package-win32-release package-win32-exe package-msi
 sha512sum vlc-*-release.7z
+sha512sum vlc-*-*.exe
+sha512sum vlc-*-*.msi
 elif [ -n "$INSTALL_PATH" ]; then
 make package-win-install
 fi


=====================================
extras/package/win32/package.mak
=====================================
@@ -128,16 +128,16 @@ else
 	$(STRIP) $@
 endif
 
-
-package-win32-exe: package-win-strip $(win32_destdir)/NSIS/nsProcess.dll extras/package/win32/NSIS/vlc.win32.nsi
+package-win32-src: package-win-strip
 # Script installer
 	cp    $(top_builddir)/extras/package/win32/NSIS/vlc.win32.nsi "$(win32_destdir)/"
 	cp    $(top_builddir)/extras/package/win32/NSIS/spad.nsi      "$(win32_destdir)/"
-	cp -r $(srcdir)/extras/package/win32/NSIS/languages    "$(win32_destdir)/"
-	cp -r $(srcdir)/extras/package/win32/NSIS/helpers      "$(win32_destdir)/"
+	cp -r $(srcdir)/extras/package/win32/NSIS/languages           "$(win32_destdir)/"
+	cp -r $(srcdir)/extras/package/win32/NSIS/helpers             "$(win32_destdir)/"
 	cp "$(top_srcdir)/extras/package/win32/NSIS/nsProcess.nsh" "$(win32_destdir)/NSIS/"
 	cp "$(top_srcdir)/extras/package/win32/NSIS/vlc_branding.bmp" "$(win32_destdir)/NSIS/"
 
+package-win32-exe: package-win32-src $(win32_destdir)/NSIS/nsProcess.dll extras/package/win32/NSIS/vlc.win32.nsi
 # Create package
 	if makensis -VERSION >/dev/null 2>&1; then \
 	    MAKENSIS="makensis"; \
@@ -175,14 +175,7 @@ package-win32: package-win32-zip package-win32-7zip package-win32-exe package-wi
 
 package-win32-debug: package-win32-debug-zip package-win32-debug-7zip
 
-package-win32-release: package-win-strip $(win32_destdir)/NSIS/nsProcess.dll package-win-sdk
-	cp    $(top_builddir)/extras/package/win32/NSIS/vlc.win32.nsi "$(win32_destdir)/"
-	cp    $(top_builddir)/extras/package/win32/NSIS/spad.nsi      "$(win32_destdir)/"
-	cp -r $(srcdir)/extras/package/win32/NSIS/languages    		  "$(win32_destdir)/"
-	cp -r $(srcdir)/extras/package/win32/NSIS/helpers      		  "$(win32_destdir)/"
-	cp "$(top_srcdir)/extras/package/win32/NSIS/nsProcess.nsh" "$(win32_destdir)/NSIS/"
-	cp "$(top_srcdir)/extras/package/win32/NSIS/vlc_branding.bmp" "$(win32_destdir)/NSIS/"
-
+package-win32-release: package-win32-src $(win32_destdir)/NSIS/nsProcess.dll package-win-sdk
 	mkdir -p "$(win32_destdir)/msi/"
 	cp    $(top_builddir)/extras/package/win32/msi/config.wxi	  "$(win32_destdir)/msi/"
 	cp    $(top_srcdir)/extras/package/win32/msi/axvlc.wxs		  "$(win32_destdir)/msi/"
@@ -200,7 +193,7 @@ package-wince: package-win-strip
 	rm -f -- vlc-$(VERSION)-wince.zip
 	zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION)
 
-.PHONY: package-win-install package-win-common package-win-strip package-win32-webplugin-common package-win32-xpi package-win32-crx package-win32-exe package-win32-zip package-win32-debug-zip package-win32-7zip package-win32-debug-7zip package-win32-cleanup package-win32 package-win32-debug package-wince
+.PHONY: package-win-install package-win-common package-win-strip package-win32-webplugin-common package-win32-xpi package-win32-crx package-win32-src package-win32-exe package-win32-zip package-win32-debug-zip package-win32-7zip package-win32-debug-7zip package-win32-cleanup package-win32 package-win32-debug package-wince
 
 EXTRA_DIST += \
 	extras/package/win32/vlc.exe.manifest \


=====================================
extras/tools/bootstrap
=====================================
@@ -106,7 +106,7 @@ else
     if [ -z "$2" ];then
         FOUND="$FOUND $1"
     else
-        gotver=`$1 --version | head -1 | sed s/'.* '//`
+        gotver=`$1 --version | head -1 | grep -o '[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?' | head -1`
         check_version $1 $gotver $2
     fi
 fi


=====================================
extras/tools/tools.mak
=====================================
@@ -39,10 +39,14 @@ download_pkg = $(call download,$(VIDEOLAN)/$(2)/$(lastword $(subst /, ,$(@)))) |
 	( $(call download,$(1)) && echo "Please upload package $(lastword $(subst /, ,$(@))) to our FTP" )  \
 	&& grep $(@) $(TOOLS)/SHA512SUMS| $(SHA512SUM) /dev/stdin
 
+ifeq ($(V),1)
+TAR_VERBOSE := v
+endif
+
 UNPACK = $(RM) -R $@ \
-    $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzfo $(f)) \
-    $(foreach f,$(filter %.tar.bz2,$^), && tar xvjfo $(f)) \
-    $(foreach f,$(filter %.tar.xz,$^), && tar xvJfo $(f)) \
+    $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar $(TAR_VERBOSE)xzfo $(f)) \
+    $(foreach f,$(filter %.tar.bz2,$^), && tar $(TAR_VERBOSE)xjfo $(f)) \
+    $(foreach f,$(filter %.tar.xz,$^), && tar $(TAR_VERBOSE)xJfo $(f)) \
     $(foreach f,$(filter %.zip,$^), && unzip $(f))
 
 UNPACK_DIR = $(patsubst %.tar,%,$(basename $(notdir $<)))



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/76d714c3df6e4e0eeb0bbbb13fb23f7eb1aa7014...40530db7bf75031d30a4feeae7856a67966efce4

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/76d714c3df6e4e0eeb0bbbb13fb23f7eb1aa7014...40530db7bf75031d30a4feeae7856a67966efce4
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list