[vlc-commits] [Git][videolan/vlc][3.0.x] 13 commits: NEWS: add -rc1 in new version

Thomas Guillem (@tguillem) gitlab at videolan.org
Fri Sep 12 09:16:52 UTC 2025



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


Commits:
537d5ed3 by Steve Lhomme at 2025-09-12T09:08:28+02:00
NEWS: add -rc1 in new version

This is necessary for make dist. It will need to be reverted
when doing the final 3.0.22 build.

- - - - -
c7c1d68a by Steve Lhomme at 2025-09-12T09:08:28+02:00
src: use git safe.directory to get the revision number

In the release build runner this seems to be an issue [^1].

```
Making all in src
Makefile:3751: warning: ignoring prerequisites on suffix rule definition
Makefile:3755: warning: ignoring prerequisites on suffix rule definition
make[2]: Entering directory '/builds/videolan/vlc/winarm64-ucrt/src'
  CC       fourcc_gen
  GEN      stamp-revision
  GEN      ../include/vlc_about.h
fatal: detected dubious ownership in repository at '/builds/videolan/vlc'
To add an exception for this directory, call:
	git config --global --add safe.directory /builds/videolan/vlc
cat: /builds/videolan/vlc/extras/package/win32/../../../src/revision.txt: No such file or directory
make[2]: *** [Makefile:3781: stamp-revision] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/builds/videolan/vlc/winarm64-ucrt/src'
make[1]: *** [Makefile:1573: all-recursive] Error 1
make[1]: Leaving directory '/builds/videolan/vlc/winarm64-ucrt'
make: *** [Makefile:1460: all] Error 2
```

[^1]: https://code.videolan.org/videolan/vlc/-/jobs/2288139

- - - - -
4a5ad643 by Steve Lhomme at 2025-09-12T09:08:28+02:00
makefile: remove unknown disable-mkv option from distcheck

It generates a warning
configure: WARNING: unrecognized options: --disable-mkv

(cherry picked from commit 3342f3d56756fd3c7da0066648bea5ab133eb6da)

- - - - -
049d2941 by Steve Lhomme at 2025-09-12T09:08:28+02:00
package/win32: give a different name to Windows ARM64 exe/msi/7z

Otherwise we don't know if the win64 is for arm or x86.

- - - - -
39ddeba4 by Steve Lhomme at 2025-09-12T09:49:36+02:00
tools: avoid building tracking dependencies for tools

This is a waste of time 99.9999% of the time.
That's also what we do in contribs.

(cherry picked from commit 4958f6b5911d5771ca7fbd8727f65684f4f923a5) (edited)
edited:
- 3.0 doesn't have ragel anymore

- - - - -
75f3371f by Steve Lhomme at 2025-09-12T09:50:45+02:00
extras/tools: disable automake documentation

It does not build for me, as it tries to use makeinfo/texinfo which is not
installed and not part of the tools we require.

(cherry picked from commit 90462d2f4d0f0555d4f0915960506c1fa8226343)

- - - - -
25cc51ff by Alexandre Janniaux at 2025-09-12T09:50:45+02:00
extras: tools: add .m4 dependency for .buildautoconf

Autoconf will require m4 to build correctly, and will complain with the
following error, at least starting with Autoconf 2.72, when the system
provided m4 is too old:

    GNU M4 1.4.8 or later is required; 1.4.16 or newer is recommended.
    GNU M4 1.4.15 uses a buggy replacement strstr on some systems.
    Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.
    yes
    checking whether stricmp is declared... make: *** [.buildautoconf] Error 1
    make: *** Waiting for unfinished jobs....

Ensure that whenever we need to build m4, we build it before autoconf.

(cherry picked from commit a8e83b1b69df3d500d52e5ddb9bd562723ee3b5e)

- - - - -
dd407854 by Steve Lhomme at 2025-09-12T09:50:45+02:00
extras/tools: build xz before tar

The reason we build tar is because it's missing xz support.

(cherry picked from commit ee9ea36529e70199d5c81894e1e8dae6b7cd4446)

- - - - -
bc454c46 by Steve Lhomme at 2025-09-12T09:50:45+02:00
extras/tools: build tar with xz support before unpacking tar.xz files

(cherry picked from commit 46c57f4dbf811fe92b8879f3103802d8d5352dce)

- - - - -
8d58813b by Steve Lhomme at 2025-09-12T09:50:45+02:00
tools: make use of parallel builds

(cherry picked from commit 21a36f8c4dae1271ae0e59cb126b0b274d4e5f97) (edited)
edited:
- gettext is not defined in the same place in 3.0

- - - - -
8eb3373e by Steve Lhomme at 2025-09-12T09:50:55+02:00
test: fix check_POTFILES.sh folder

So it can be called manually.

- - - - -
e78b9dd4 by Steve Lhomme at 2025-09-12T09:50:56+02:00
doc: mention the POTFILES.in needs to be edited before make distcheck

- - - - -
c6f5ee9f by Steve Lhomme at 2025-09-12T09:50:56+02:00
CI: add a release target for Debian that does make distcheck

- - - - -


11 changed files:

- Makefile.am
- NEWS
- doc/release-howto.txt
- extras/ci/gitlab-ci.yml
- extras/package/win32/NSIS/vlc.win32.nsi.in
- extras/package/win32/msi.mak
- extras/package/win32/package.mak
- + extras/tools/automake-disable-documentation.patch
- extras/tools/tools.mak
- src/Makefile.am
- test/check_POTFILES.sh


Changes:

=====================================
Makefile.am
=====================================
@@ -21,7 +21,7 @@ BUILT_SOURCES_distclean =
 
 BUILT_SOURCES = $(BUILT_SOURCES_distclean)
 
-SUFFIXES = 
+SUFFIXES =
 
 DISTCHECK_CONFIGURE_FLAGS = \
 	--enable-fast-install \
@@ -34,7 +34,6 @@ DISTCHECK_CONFIGURE_FLAGS = \
 	--disable-live555 \
 	--disable-lua \
 	--disable-fribidi \
-	--disable-mkv \
 	--with-kde-solid='$${datadir}/kde4/apps'
 
 ACLOCAL_AMFLAGS = -I m4


=====================================
NEWS
=====================================
@@ -1,4 +1,4 @@
-Changes between 3.0.21 and 3.0.22:
+Changes between 3.0.21 and 3.0.22-rc1:
 ----------------------------------
 
 Core:


=====================================
doc/release-howto.txt
=====================================
@@ -23,6 +23,7 @@ Release HOWTO
     git push origin <VERSION>
 
  * Tarballs (Use a clean tree !!!)
+  - Edit POTFILES.in to include generated Qt UI files (doesn't work out of tree)
   - Use 'make distcheck' to make sure all files are exported correctly
   - copy the tar.xz file on ganesh.videolan.org
   - generate SHA, MD5 hashes and OpenPGP signature of these files :


=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -210,6 +210,45 @@ nightly-win64-arm-llvm:
         - $CI_PROJECT_DIR/${VLCARCH}/vlc-*-*.exe
         - $CI_PROJECT_DIR/${VLCARCH}/vlc-*-*.msi
 
+release-debian:
+    extends: .docker-template
+    only:
+      - tags
+    tags:
+        - release
+        - amd64
+    image:
+        name: $VLC_DEBIAN_IMAGE
+    script: |
+        export NCPU=$(getconf _NPROCESSORS_ONLN)
+
+        # Build tools
+        ( cd extras/tools && ./bootstrap && make -j$NCPU --output-sync=recurse )
+        export PATH="$(pwd)/extras/tools/build/bin:$PATH"
+
+        # Build contribs
+        mkdir -p contrib/contrib-$TRIPLET && cd contrib/contrib-$TRIPLET
+        ../bootstrap
+        make list
+        make -j$NCPU --output-sync=recurse fetch
+        make -j$NCPU --output-sync=recurse
+        cd ../../
+
+        # Include Qt UI files in po files
+        sed -i 's,#modules/,modules/,g' po/POTFILES.in
+
+        # Build VLC
+        ./bootstrap
+        ./configure
+        make -j$NCPU
+
+        ./test/check_POTFILES.sh
+        make -j$NCPU dist
+    artifacts:
+      paths:
+        - $CI_PROJECT_DIR/vlc-*.tar.xz
+    variables: *variables-debian
+
 release-win32:
     extends: .release-win-common
     image:


=====================================
extras/package/win32/NSIS/vlc.win32.nsi.in
=====================================
@@ -45,8 +45,9 @@ Var 32bitPath
 ;;;;;;;;;;;;;;;;;;;;;;;;;
 
 Name "${PRODUCT_NAME}"
- at HAVE_WIN64_FALSE@ OutFile ..\vlc-${VERSION}-win32.exe
- at HAVE_WIN64_TRUE@  OutFile ..\vlc-${VERSION}-win64.exe
+ at HAVE_WIN64_FALSE@                   OutFile ..\vlc-${VERSION}-win32.exe
+ at HAVE_WIN64_TRUE@@HAVE_ARM64_FALSE@  OutFile ..\vlc-${VERSION}-win64.exe
+ at HAVE_WIN64_TRUE@@HAVE_ARM64_TRUE@   OutFile ..\vlc-${VERSION}-winarm64.exe
 InstallDir "$@PROGRAMFILES@\VideoLAN\VLC"
 !ifdef NSIS_LZMA_COMPRESS_WHOLE
 SetCompressor lzma


=====================================
extras/package/win32/msi.mak
=====================================
@@ -11,11 +11,15 @@ MSIDIR=$(abs_srcdir)/extras/package/win32/msi
 W_MSIDIR=`$(WIN32_PATH_CMD) -w '$(MSIDIR)'`
 MSIBUILDDIR=$(abs_top_builddir)/extras/package/win32/msi
 W_MSIBUILDDIR=`$(WIN32_PATH_CMD) -w '$(MSIBUILDDIR)'`
+if HAVE_ARM64
+MSIOUTFILE=vlc-$(VERSION)-winarm64.msi
+else
 if HAVE_WIN64
 MSIOUTFILE=vlc-$(VERSION)-win64.msi
 else
 MSIOUTFILE=vlc-$(VERSION)-win32.msi
 endif
+endif
 
 heat: package-win-strip
 	$(HEAT) --dir $(VLCDIR)/plugins -cg CompPluginsGroup -gg -scom -sreg -sfrag -dr APPLICATIONFOLDER -out $(MSIBUILDDIR)/Plugins.fragment.wxs


=====================================
extras/package/win32/package.mak
=====================================
@@ -16,11 +16,15 @@ include extras/package/npapi.am
 build-npapi: package-win-install
 endif
 
+if HAVE_ARM64
+WINVERSION=vlc-$(VERSION)-winarm64
+else
 if HAVE_WIN64
 WINVERSION=vlc-$(VERSION)-win64
 else
 WINVERSION=vlc-$(VERSION)-win32
 endif
+endif
 
 package-win-install:
 	$(MAKE) install
@@ -255,5 +259,3 @@ EXTRA_DIST += \
 	extras/package/win32/NSIS/languages/UkrainianExtra.nsh \
 	extras/package/win32/NSIS/languages/UzbekExtra.nsh \
 	extras/package/win32/NSIS/languages/WelshExtra.nsh
-
-


=====================================
extras/tools/automake-disable-documentation.patch
=====================================
@@ -0,0 +1,25 @@
+From 47370dc3c47615e4a02e490f077780a3122839f4 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <slhomme at matroska.org>
+Date: Sat, 9 Dec 2023 09:35:05 +0100
+Subject: [PATCH] disable documentation
+
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 8a4850384..bdb608a21 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -126,7 +126,7 @@ EXTRA_DIST += \
+ 
+ # Most work delegated to sub-dir makefile fragments.
+ include $(srcdir)/bin/local.mk
+-include $(srcdir)/doc/local.mk
++# include $(srcdir)/doc/local.mk
+ include $(srcdir)/lib/local.mk
+ include $(srcdir)/lib/Automake/local.mk
+ include $(srcdir)/lib/am/local.mk
+-- 
+2.39.3 (Apple Git-145)
+


=====================================
extras/tools/tools.mak
=====================================
@@ -82,7 +82,9 @@ nasm: nasm-$(NASM_VERSION).tar.gz
 	$(MOVE)
 
 .buildnasm: nasm
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_FILE += .buildnasm
@@ -100,7 +102,9 @@ cmake: cmake-$(CMAKE_VERSION).tar.gz
 	$(MOVE)
 
 .buildcmake: cmake
-	(cd $<; ./configure --prefix=$(PREFIX) $(CMAKEFLAGS) --no-qt-gui -- -DCMAKE_USE_OPENSSL:BOOL=OFF -DBUILD_TESTING:BOOL=OFF && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX) $(CMAKEFLAGS) --no-qt-gui -- -DCMAKE_USE_OPENSSL:BOOL=OFF -DBUILD_TESTING:BOOL=OFF
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_FILE += .buildcmake
@@ -111,12 +115,14 @@ DISTCLEAN_PKG += cmake-$(CMAKE_VERSION).tar.gz
 help2man-$(HELP2MAN_VERSION).tar.xz:
 	$(call download_pkg,$(HELP2MAN_URL),help2man)
 
-help2man: help2man-$(HELP2MAN_VERSION).tar.xz
+help2man: help2man-$(HELP2MAN_VERSION).tar.xz .xz .tar
 	$(UNPACK)
 	$(MOVE)
 
 .buildhelp2man: help2man
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_FILE += .buildhelp2man
@@ -140,7 +146,9 @@ libtool: libtool-$(LIBTOOL_VERSION).tar.gz
 
 .buildlibtool: libtool .automake .help2man
 	(cd $(UNPACK_DIR) && autoreconf -fv)
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	ln -sf libtool $(PREFIX)/bin/glibtool
 	ln -sf libtoolize $(PREFIX)/bin/glibtoolize
 	touch $@
@@ -158,8 +166,10 @@ tar: tar-$(TAR_VERSION).tar.bz2
 	$(UNPACK)
 	$(MOVE)
 
-.buildtar: tar
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+.buildtar: .xz tar
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_PKG += tar
@@ -176,7 +186,10 @@ xz: xz-$(XZ_VERSION).tar.bz2
 	$(MOVE)
 
 .buildxz: xz
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install && rm $(PREFIX)/lib/pkgconfig/liblzma.pc)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
+	rm $(PREFIX)/lib/pkgconfig/liblzma.pc
 	touch $@
 
 CLEAN_PKG += xz
@@ -192,8 +205,10 @@ autoconf: autoconf-$(AUTOCONF_VERSION).tar.gz
 	$(UNPACK)
 	$(MOVE)
 
-.buildautoconf: autoconf .pkg-config
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+.buildautoconf: autoconf .pkg-config .m4
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_FILE += .buildautoconf
@@ -207,11 +222,15 @@ automake-$(AUTOMAKE_VERSION).tar.gz:
 
 automake: automake-$(AUTOMAKE_VERSION).tar.gz
 	$(UNPACK)
+	$(APPLY) $(TOOLS)/automake-disable-documentation.patch
 	$(APPLY) $(TOOLS)/automake-clang.patch
 	$(MOVE)
 
 .buildautomake: automake .autoconf
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	(cd $<; ./bootstrap)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_FILE += .buildautomake
@@ -228,7 +247,9 @@ m4: m4-$(M4_VERSION).tar.gz
 	$(MOVE)
 
 .buildm4: m4
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_FILE += .buildm4
@@ -246,7 +267,9 @@ pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz
 	$(MOVE)
 
 .buildpkg-config: pkgconfig
-	(cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static --disable-dependency-tracking
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_FILE += .buildpkg-config
@@ -280,7 +303,9 @@ sed: sed-$(SED_VERSION).tar.bz2
 	$(MOVE)
 
 .buildsed: sed
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_PKG += sed
@@ -318,7 +343,7 @@ protobuf: protobuf-$(PROTOBUF_VERSION).tar.gz
 	$(MOVE)
 
 .buildprotoc: protobuf
-	(cd $< && ./configure --prefix="$(PREFIX)" --disable-shared --enable-static && $(MAKE) && $(MAKE) install)
+	(cd $< && ./configure --prefix="$(PREFIX)" --disable-shared --enable-static --disable-dependency-tracking && $(MAKE) && $(MAKE) install)
 	(find $(PREFIX) -name 'protobuf*.pc' -exec rm -f {} \;)
 	touch $@
 
@@ -333,12 +358,14 @@ CLEAN_FILE += .buildprotoc
 bison-$(BISON_VERSION).tar.xz:
 	$(call download_pkg,$(BISON_URL),bison)
 
-bison: bison-$(BISON_VERSION).tar.xz
+bison: bison-$(BISON_VERSION).tar.xz .xz .tar
 	$(UNPACK)
 	$(MOVE)
 
 .buildbison: bison
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_PKG += bison
@@ -357,7 +384,9 @@ flex: flex-$(FLEX_VERSION).tar.gz
 	$(MOVE)
 
 .buildflex: flex
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_PKG += flex
@@ -421,7 +450,9 @@ gettext: gettext-$(GETTEXT_VERSION).tar.gz
 	$(MOVE)
 
 .buildgettext: gettext
-	(cd $<; ./configure --prefix=$(PREFIX) && $(MAKE) && $(MAKE) install)
+	cd $<; ./configure --prefix=$(PREFIX)
+	+$(MAKE) -C $<
+	+$(MAKE) -C $< install
 	touch $@
 
 CLEAN_PKG += gettext


=====================================
src/Makefile.am
=====================================
@@ -563,7 +563,7 @@ $(srcdir)/revision.txt:
 
 stamp-revision:
 	$(AM_V_at)rm -f -- revision.tmp
-	$(AM_V_GEN)if ! git \
+	$(AM_V_GEN)if ! git -c safe.directory='*' \
 			-C "$(top_srcdir)" describe \
 			--tags --long --match '?.*.*' --always; then \
 		cat $(srcdir)/revision.txt ; \


=====================================
test/check_POTFILES.sh
=====================================
@@ -1,10 +1,8 @@
 #! /bin/sh
-
-top_srcdir="${srcdir}/.."
-
 set -xe
 
-cd ${top_srcdir}
+SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )"
+cd "${SCRIPT_PATH}/.."
 
 grep -v '^#' po/POTFILES.in | \
 while read f



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

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/40530db7bf75031d30a4feeae7856a67966efce4...c6f5ee9f4bbe308dbb9a530936baa2fa2d758531
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