Commit Graph

5770 Commits

Author SHA1 Message Date
Fatih Uzunoglu 77c60d56ec extras: check cmake 3.21.0 instead of 3.18.0
cmake 3.21.0 is required to build Qt 6.
2024-01-25 08:38:23 +00:00
Steve Lhomme b3f5661994 CI: update windows gcc builds with a newer CMake
So we can bump the requirement without building cmake for every build.
2024-01-23 13:00:54 +00:00
Claudio Cambra 3a39c9edd6 macosx: Add iCarousel files to pbxproj
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Claudio Cambra 67318e8c21 macosx: Add NSArray starter extension file
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Claudio Cambra 5b4d770fa7 macosx: Move video container view protocol to home library
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Claudio Cambra 34290a3c29 macosx: Add base VLCLibraryHomeViewBaseCarouselContainerView
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Claudio Cambra 593d4e9548 macosx: Add starter VLCLibraryHomeViewAudioCarouselContainerView component
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Claudio Cambra ab9d234a6b macosx: Bring home view controller naming inline with other home view components
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Claudio Cambra 50db9d04a0 macosx: Move carousel view container to home view too
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Claudio Cambra 234da8ff64 macosx: Fix rebase issues with pbxproj file
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Claudio Cambra 9645085aa1 macosx: Move video container into home library folder, rename appropriately
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-19 06:05:33 +00:00
Alexandre Janniaux a8e83b1b69 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.
2024-01-18 09:54:51 +00:00
Alexandre Janniaux c2f4aa208e extras: tools: bump autoconf to 2.72
See release note[^1] for more info, but mainly a bug-fixing release.

[^1]: https://lists.gnu.org/archive/html/autotools-announce/2023-12/msg00003.html.
2024-01-16 08:39:34 +00:00
Maxime Chapelet b92564463b build: fix linker flag for latest Xcode toolchains
It seems `<sdk_name>_simulator_version_min` or `<sdk_name>_version_min` option isn't supported by the latest linker and the build fails with Xcode 15.
This patch will use the recommended `platform_version` option instead.
2024-01-10 06:34:37 +00:00
Claudio Cambra 9de153ff91 macosx: Rename VLCLibraryVideoCollectionViewContainerViewDataSource to VLCLibraryVideoContainerViewDataSource now that it also serves carousels
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-05 12:14:27 +00:00
Claudio Cambra 85535da0a5 macosx: Add VLCLibraryCarouselViewItemView XIB
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-05 12:14:27 +00:00
Claudio Cambra e9f138f7e1 macosx: Add starter VLCLibraryCarouselViewItemView
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-05 12:14:27 +00:00
Claudio Cambra 830939fe7b macosx: Add starter VLCLibraryVideoCarouselViewContainerView
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-05 12:14:27 +00:00
Claudio Cambra a82a7acd24 macosx: Add a VLCLibraryVideoViewContainerView protocol
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-01-05 12:14:27 +00:00
Claudio Cambra 441e3acd5b macosx: Rename VLCLibraryVideoTableViewDataSource to VLCLibraryVideoDataSource now that it services collection views too
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-12-22 09:45:13 +00:00
Claudio Cambra e449b8e6a3 macosx: Add a VLCLibraryHomeViewController based on simplified VLCLibraryVideoViewController
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-12-22 09:45:13 +00:00
Steve Lhomme 90462d2f4d 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.
2023-12-12 06:26:23 +00:00
Matthias Dressel 3b2c715356 CI: Update Docker images 2023-11-13 06:37:38 +00:00
Alexandre Janniaux dd58d1c0ac win32: build.sh: switch to $() instead of `` 2023-11-10 14:05:07 +00:00
Alexandre Janniaux f3dcaf51b1 win32: build.sh: add proper quoting
The `test` call expects two values between an operator like `=` and the
output of pkg-config can be null. In that case, no argument is given for
an empty string without proper quoting and test signal an error.
2023-11-10 14:05:07 +00:00
Steve Lhomme 203a9520f4 CI: build Android targets with extra compilation checks 2023-11-10 04:51:50 +00:00
Steve Lhomme aea00fb42b CI: build WASM target with extra compilation checks 2023-11-10 04:51:50 +00:00
Steve Lhomme 52be67e5fc package/wasm: add --enable-extra-checks to add extra compilation errors 2023-11-10 04:51:50 +00:00
Steve Lhomme 921c88a2e9 package/snap: build with --enable-extra-checks to add extra compilation errors 2023-11-10 04:51:50 +00:00
Steve Lhomme 922e338e3b CI: build iOS targets with extra compilation checks 2023-11-10 04:51:50 +00:00
Steve Lhomme 3b6e27008c package/apple: add --enable-extra-checks to add extra compilation errors 2023-11-10 04:51:50 +00:00
Steve Lhomme 2324eff451 CI: use common error checks in Debian Meson build 2023-11-10 04:51:50 +00:00
Steve Lhomme fb4dd9195a CI: use common error checks in Debian build 2023-11-10 04:51:50 +00:00
Steve Lhomme 0f75cbf6b9 extras/package: use --enable-extra-checks instead of local errors
We have a common set of errors between all builds.
2023-11-10 04:51:50 +00:00
Claudio Cambra 49390f2a43 macosx: Add basic VLCLibraryRepresentedItem
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-11-09 09:25:54 +00:00
Steve Lhomme 244a884cd0 CI: update Android Docker
It should not rebuild gperf each time.

See https://code.videolan.org/videolan/docker-images/-/merge_requests/262
2023-10-15 07:58:25 +02:00
Pierre Lamot 37eff38abd CI: update Docker images
updated qml runtime dependencies
2023-10-14 15:26:34 +00:00
Steve Lhomme 7aa694034e CI: add full threading support for gcovr 2023-10-06 14:47:46 +00:00
Steve Lhomme b86065eef2 CI: create the code coverage directory just before using it 2023-10-06 14:47:46 +00:00
Steve Lhomme fae031a87e CI: avoid negative hit errors in the code coverage
It fails too many times with multithread. Hopefully it will not fail with
this option.
2023-10-06 14:47:46 +00:00
Steve Lhomme 9d458af161 ci: rebuild contribs when the extras/package content changes
If the makefile changes, enables/disables things, we should rebuild the contribs.
2023-10-01 10:40:34 +00:00
Steve Lhomme da8f587542 snap: don't "install" contribs
All build scripts just call the build that way and end up installing
each contrib.
2023-09-29 07:31:58 +00:00
Steve Lhomme 79bf5b31e2 snap: enable chromaprint
It should build fine.
2023-09-29 07:31:58 +00:00
Steve Lhomme e7512b7f1a snap: build all required tools
The forced nasm builds nothing and we may need other tools. But
the logs only mention meson is needed.
2023-09-29 07:31:58 +00:00
Steve Lhomme 95495e69b0 nsis/pluginapi: fix warning for declaration without parameters 2023-09-27 14:01:55 +00:00
Steve Lhomme bd0cc4e797 nsis/process: remove win95/98/ME support
We don't need these anymore.
2023-09-27 14:01:55 +00:00
Steve Lhomme ebcd76e1d6 nsis/process: fix warning on variable set and tested 2023-09-27 14:01:55 +00:00
Steve Lhomme 0f8b7e834a nsis:/process: rework the way the process ID/HWND are handled
Don't use a HANDLE for both values, as structure with the proper type
works better.
2023-09-27 14:01:55 +00:00
Steve Lhomme d13608f886 nsis: always use the regsvr32.exe from the system
We should not use whatever is in the PATH. Especially as the current directory
is set the a temporary directory during uninstallation.
2023-09-27 15:09:39 +02:00
Claudio Cambra f6a9edbaae macosx: Break the all items entry for audio groups views into separate file as it is not a real media type
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-09-25 08:22:00 +00:00
Alexandre Janniaux cc39c96ef8 wasm: build.sh: removing some contrib 2023-09-24 20:31:18 +00:00
Khalid Masum f9af617f72 wasm: build: Do not link incompatible c++ libraries
Some libraries in emscripten for C++ are not compiled with fPIC.
Do not link them when building cpp modules.
2023-09-24 20:31:18 +00:00
Khalid Masum 30503ba421 wasm: build: Enable ffmpeg libraries for shared compilation
ffmpeg libraries ie. avcodec, avformat, swscale and postproc were
disabled for emscripten shared compilation as ffmpeg was not built
with position independent code.

Enable pic for ffmpeg, and ultimately enable those libraries
shared compilation.
2023-09-24 20:31:18 +00:00
Khalid Masum c36ab16c4a extras: tools/libtool: Implement exported functions for emscripten
Emscripten needs symbols to be exported with -s EXPORTED_FUNCTIONS
in case of building with -s SIDE_MODULE=2, otherwise the functions
are not "visible" from other modules or removed as optimization.

This patch will implement exported functions on libtool for
emscripten.
2023-09-24 20:31:18 +00:00
Sean McGovern aba49cd161 bootstrap: check for gperf 2023-09-17 06:08:12 +00:00
Claudio Cambra 411d32ea46 macosx: Remove now uneeded VLCCompositeImageView
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-09-14 13:58:37 +00:00
Claudio Cambra 4b1053d4cc macosx: Add starter VLCCompositeImageView class
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-09-14 13:58:37 +00:00
Claudio Cambra 1f1652143c macosx: Add VLCLibraryHeroView class
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-09-10 08:42:52 +00:00
Claudio Cambra fb1526eb99 macosx: Add started VLCLibraryHeroView XIB
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-09-10 08:42:52 +00:00
Steve Lhomme d746c31d69 CI: allow the debian contribs to fail
We don't test enough valuable targets for now.
2023-09-07 18:43:05 +00:00
Steve Lhomme e5c7c7bfc6 CI: only build debian contribs/tools if contribs/tools/ci changed
This is how it's done for other targets. They rely on get-contrib-sha.sh
to check if files moved in these folders but we can do that with gitlab
for a pure contrib build which will never get contrib packages.
2023-09-07 18:43:05 +00:00
Steve Lhomme d3026b1664 CI: update debian unstable image
It contains more preinstalled libraries so more modules are built by default.

protoc/protobuf is also available on the system so it can be picked during
compilation.
2023-09-01 16:09:15 +00:00
Alexandre Janniaux 5ff972ea2a extras: ci: remove contribs from the meson job
The meson job will not use the contribs, and the contribs are already
built separately in the debian-contrib job, so remove them from the
build.
2023-08-27 15:32:05 +00:00
Alexandre Janniaux 91e79dedac extras: ci: split contrib from debian job
The debian job is not using the contribs at all, split the job in two so
that it can be parallelized more easily and so that the debian job
reflect the time it took to build VLC.

Note that it notably changes the folder where debian contribs are
uploaded.
2023-08-27 15:32:05 +00:00
Alexandre Janniaux 1a2a3015f3 extras: ci: add meson coverage and testunit reports
Report the coverage from meson and list the output of the tests, since
meson already supply a junit-compatible output.
2023-08-26 19:11:08 +00:00
Alexandre Janniaux 931a2fa493 extras: tools: bump meson to 1.2.0
Meson 1.0.0 allows writing 0x0 characters into the junit test output,
which is not allowed in XML files and it prevents gitlab CI from parsing
the output of the tests. This can be checked locally with:

    meson setup build
    meson test -C build css_parser
    xmllint build/meson-logs/testlog.junit.xml
2023-08-26 19:11:08 +00:00
Alexandre Janniaux c6d53be3d0 extras: ci: bump debian image
Add support for gcovr.
2023-08-26 19:11:08 +00:00
Marvin Scholz 2530667517 breakpad/symb_upload.py: fix wrong variable name 2023-08-25 05:03:13 +00:00
Marvin Scholz ba81dd2f58 breakpad/symb_upload.py: fix typo 2023-08-25 05:03:13 +00:00
Marvin Scholz 87664c5964 breakpad/symb_upload.py: reformat according to PEP8 2023-08-25 05:03:13 +00:00
Khalid Masum 181697c7b7 emscripten: build: Enable shared module
Currently emscripten builds all its libraris statically. This commit
will make necessary changes to the build script to make it possible.

The shared module based building can be triggered with the parameter
--enable-emscripten
2023-08-21 05:20:45 +00:00
Khalid Masum 9edd92ecd0 extras/tools/libtool: Add sideloading info for emscripten-host
Currently libtool.m4 does not have information about
wasm32-unknown-emscripten in host_os. Which causes failure in
enabling shared libraries.

This patch will create a new host_os case named emscripten in
libtool.m4 to allow us to enable shared library compilation
and add emscripten specific shared library building flags.
This patch will also add some shared library configuration in
libtool for emscripten host.
2023-08-21 05:20:45 +00:00
Steve Lhomme 3aca4f30b0 CI: build macosx targets with extra pointer checks
The CFLAGS can't be set globally when calling build.sh as it would apply
to contribs and tools which we don't require to be extra clean.
2023-08-19 16:19:47 +00:00
Steve Lhomme 3ec8a6e079 package/macos: add an option to compile with extra checks
This is similar to the option found in win32 and raspberry builds.
2023-08-19 16:19:47 +00:00
Alexandre Janniaux e38b161b7b make.pl: show compiled lua scripts
Extract the build target when building luac files.

Before:

    MAKE     : share
    ...
    luac -o lua/extensions/VLSub.luac ../../share/lua/extensions/VLSub.lua

After:

    MAKE     : share
    ...
     COMPILE : lua/extensions/VLSub.luac
2023-08-09 11:07:18 +00:00
Alexandre Janniaux 9459286c77 extras: ci: remove --disable from distcheck
Taking the same ideas as b46611fee3, we
can ensure the distcheck builds everything when run in the CI, so that
the currently disabled modules are built for real and tests can use
them. They should stay disabled since they would break distcheck when
the mandatory plugins cannot be built, but we can ensure that in the CI
in a reliable way.

We use it as an argument to make so that make actually erase the value
in the makefile.

Refs #27761 but medialibrary still needs to be installed on the platform
since contribs are not enabled with the current distcheck configuration.
2023-08-09 09:18:28 +00:00
Alexandre Janniaux 7bd0ba675b extra: ci: move VLC_TEST_TIMEOUT to test env
The line is getting long and there is nothing special with this variable
that would prevent it from being in the environment of every jobs.
2023-08-09 09:18:28 +00:00
Jean-Baptiste Kempf 5afff8a664 Add .vp6 to file extensions 2023-08-08 13:13:57 +00:00
Jean-Baptiste Kempf 8d56d19c50 Add .k3g to file extensions 2023-08-08 13:13:57 +00:00
Jean-Baptiste Kempf 3cfe98d8ee Add .skm to file extensions 2023-08-08 13:13:57 +00:00
Jean-Baptiste Kempf bd11aa60a2 Add .qt to file extensions 2023-08-08 13:13:57 +00:00
Jean-Baptiste Kempf 9ce49cd258 Add .alac to file extensions 2023-08-08 13:13:57 +00:00
Steve Lhomme 5294b23274 CI: compile Debian with -Werror=incompatible-pointer-types
This will avoid errors like https://code.videolan.org/videolan/vlc/-/merge_requests/4008
2023-08-05 03:10:52 +00:00
Steve Lhomme b46611fee3 CI: ensure custom CFLAGS are applied during distcheck
Co-authored-by: Johannes Kauffmann <johanneskauffmann@hotmail.com>
2023-08-05 03:10:52 +00:00
Steve Lhomme 2462969117 tools: raise the minimum CMake version to 3.18
It's needed by newer libxml2.

Debian bullseye already has 3.18.
2023-08-04 10:36:09 +00:00
Steve Lhomme 8df6cd2494 CI: update Raspberry image
We need a newer CMake.
2023-08-04 10:36:09 +00:00
Claudio Cambra 692280655a macosx: Add VLCLibraryAudioGroupHeaderView class
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-07-26 10:19:25 +00:00
Claudio Cambra 741102ea23 macosx: Add VLCLibraryAudioGroupHeaderView XIB
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-07-26 10:19:25 +00:00
Romain Vimont 8449690b0d Fix extra tool error message
The error message is printed (among others) when the major versions
differ, not only when the current version is older than the expected
one, so "too old" may be incorrect.

Before:

> meson too old

After:

> meson incompatible version (expected 0.51.1, got 1.1.1)
2023-07-21 05:58:28 +00:00
Thomas Guillem 307fbf6378 CI: android: use last version of libvlcjni build script
No real functional changes but the script was modified to allow building
VLC from the libvlcjni, so make sure the last version still work with
the VLC CI (tested only locally).
2023-07-11 03:37:48 +00:00
Johannes Kauffmann 700b4c879b CI: update debian image
The libc++(abi)-dev packages have been removed because one of their
dependencies conflicted with one of the gstreamer dependencies. As a
result, the gstreamer dependency was not installed and pkg-config was
unable to satisfy the requirements for gstreamer. With the conflicting
package now gone, gstreamer is installed properly and the Debian CI job
is now able to build the gstdecode module.

Amends d0c0a3147a.
2023-07-11 01:52:59 +00:00
Martin Finkel 54308a09b1 add dca meson flag 2023-07-09 12:09:37 +00:00
Martin Finkel 03edb9f35d only enable dvd in non-uwp gpl builds 2023-07-09 12:09:37 +00:00
Martin Finkel 1531a7c03c win32: fix LGPL build 2023-07-09 12:09:37 +00:00
Steve Lhomme acdd200e96 extras/tools: update gettext to 0.22 2023-07-01 07:38:28 +00:00
Steve Lhomme 90bfcecd2e package/win32: add an option to select the (lib)VLC license
Some contribs may be disabled depending on the license chosen.

By default we build with GPLv3 compatibility. libvlc-only builds may want
to restrict to LGPL v3 with ad-clause or LGPL v2.1 with ad-clause.
2023-06-30 16:16:13 +00:00
Steve Lhomme 756bd8f250 package/win32: show the usage when a bogus option is passed 2023-06-30 16:16:13 +00:00
Steve Lhomme d1dff550bc package/macos: add an option to select the (lib)VLC license
Some contribs may be disabled depending on the license chosen.

By default we build with GPLv3 compatibility. libvlc-only builds may want
to restrict to LGPL v3 with ad-clause or LGPL v2.1 with ad-clause.

faad is automatically picked when building for GPL and not picked
otherwise. We should never force it.
2023-06-30 16:16:13 +00:00
Steve Lhomme d059c20d04 package/macos: allow passing extra config flags in the build 2023-06-30 16:16:13 +00:00
Steve Lhomme 66117b3b3e package/apple: disable LGPLv3 for iOS 2023-06-27 09:21:40 +02:00