diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ed9956b..929ca04 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: DEPS_BASE_NAME: mixxx-deps-arm64-macos ARTIFACT_BASE_NAME: mixxx-arm64-macos VCPKG_DEFAULT_TRIPLET: arm64-osx-min1100 - VCPKG_DEFAULT_HOST_TRIPLET: x64-osx-min1012 + VCPKG_DEFAULT_HOST_TRIPLET: x64-osx-min1015 VCPKG_OVERLAY_TRIPLETS: vcpkg/overlay/triplets VCPKG_OVERLAY_PORTS: vcpkg/overlay/osx:vcpkg/overlay/ports VCPKG_ROOT: ${{ github.workspace }}/vcpkg @@ -57,6 +57,8 @@ jobs: vcpkg-installed-${{ env.VCPKG_DEFAULT_TRIPLET }}-${{ env.vcpkg_commit }}- - name: Check disk space run: df -h + - name: Output vcpkg dependency graph + run: ${{ env.SCRIPTS_ROOT }}/install-vcpkg-deps --graph --no-install --no-remove - name: Install vcpkg packages run: ${{ env.SCRIPTS_ROOT }}/install-vcpkg-deps - name: Upload vcpkg build logs @@ -108,6 +110,7 @@ jobs: -DCMAKE_OSX_DEPLOYMENT_TARGET="11.0" -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_SYSTEM_PROCESSOR=arm64 + -DQT6=ON working-directory: mixxx - name: Upload Mixxx configuration logs if: always() diff --git a/.gitmodules b/.gitmodules index 661a6b4..b84622e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "vcpkg"] path = vcpkg url = https://github.com/mixxxdj/vcpkg.git - branch = 2.4 + branch = 2.5-rel [submodule "mixxx"] path = mixxx url = https://github.com/mixxxdj/mixxx.git diff --git a/README.md b/README.md index 1db64be..f7de74b 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ To build Mixxx, run: . vars/native-env.sh cd mixxx -cmake -B build -G Ninja +cmake -B build -G Ninja -D QT6=ON cmake --build build ``` diff --git a/scripts/install-brew-deps b/scripts/install-brew-deps index dff88b7..9c4771e 100755 --- a/scripts/install-brew-deps +++ b/scripts/install-brew-deps @@ -3,4 +3,10 @@ set -e echo "==> Installing system dependencies with Homebrew..." -brew install nasm automake ccache ninja pkg-config +brew install \ + automake \ + autoconf-archive \ + ccache \ + nasm \ + ninja \ + pkg-config diff --git a/scripts/install-vcpkg-deps b/scripts/install-vcpkg-deps index 36bbf7c..f2041d3 100755 --- a/scripts/install-vcpkg-deps +++ b/scripts/install-vcpkg-deps @@ -20,7 +20,7 @@ TRIPLET_ARCHS = { } # Packages to be built for the target architecture -# Source: https://github.com/mixxxdj/vcpkg/blob/2.4/.github/workflows/build.yml +# Source: https://github.com/mixxxdj/vcpkg/blob/2.5-rel/.github/workflows/build.yml TARGET_PACKAGES = [ 'ableton', 'benchmark', @@ -28,6 +28,7 @@ TARGET_PACKAGES = [ 'fdk-aac', 'ffmpeg', 'fftw3', + 'grantlee', 'gtest', 'hidapi', 'libdjinterop', @@ -49,11 +50,11 @@ TARGET_PACKAGES = [ 'portmidi', 'protobuf', 'pthreads', - 'qt5-base', - 'qt5-declarative', - 'qt5-script', - 'qt5-svg', - 'qt5-translations', + 'qt5compat', + 'qtbase', + 'qtdeclarative', + 'qtsvg', + 'qttranslations', 'rubberband', 'soundtouch', 'taglib', @@ -64,8 +65,7 @@ TARGET_PACKAGES = [ PLATFORM_PACKAGES = { 'osx': [ 'hss1394', - 'qtkeychain', # libgcrypt seems to be unsupported on iOS - 'qt5-macextras', + 'qtkeychain-qt6', # libgcrypt seems to be unsupported on iOS ], } @@ -87,6 +87,9 @@ def main(): parser.add_argument('--skip-host-packages', action='store_true', help='Skip host-only packages built when crosscompiling.') parser.add_argument('--clean-after-build', action='store_true', help='Clean up buildtrees, packages and downloads after each build.') parser.add_argument('--vcpkg', type=Path, default=str(ROOT / 'scripts' / 'vcpkg'), help='The vcpkg binary to use.') + parser.add_argument('--graph', action=argparse.BooleanOptionalAction, default=False, help='Output the dependency graph.') + parser.add_argument('--remove', action=argparse.BooleanOptionalAction, default=True, help='Remove outdated packages.') + parser.add_argument('--install', action=argparse.BooleanOptionalAction, default=True, help='Install the dependencies.') args = parser.parse_args() host = args.host @@ -116,21 +119,28 @@ def main(): '--triplet', target, ] - print('==> Removing outdated packages...') - remove_flags = [ - '--outdated', - '--recurse', - *(['--dry-run'] if args.dry_run else []), - ] - subprocess.run([str(vcpkg), 'remove', *vcpkg_flags, *remove_flags], check=True) - - print(f'==> Installing {len(packages)} packages...') - install_flags = [ - '--recurse', - *(['--dry-run'] if args.dry_run else []), - *(['--clean-after-build'] if args.clean_after_build else []), - ] - subprocess.run([str(vcpkg), 'install', *vcpkg_flags, *install_flags, *packages], check=True) + if args.graph: + print('==> Printing dependency graph...') + for package in packages: + subprocess.run([str(vcpkg), 'depend-info', '--format', 'tree', package], check=True) + + if args.remove: + print('==> Removing outdated packages...') + remove_flags = [ + '--outdated', + '--recurse', + *(['--dry-run'] if args.dry_run else []), + ] + subprocess.run([str(vcpkg), 'remove', *vcpkg_flags, *remove_flags], check=True) + + if args.install: + print(f'==> Installing {len(packages)} packages...') + install_flags = [ + '--recurse', + *(['--dry-run'] if args.dry_run else []), + *(['--clean-after-build'] if args.clean_after_build else []), + ] + subprocess.run([str(vcpkg), 'install', *vcpkg_flags, *install_flags, *packages], check=True) if __name__ == '__main__': main() diff --git a/vcpkg b/vcpkg index d4dab88..dea32d0 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit d4dab88a628f52ce2af11a6bed423880d7842e1e +Subproject commit dea32d08259264c9ab6b7fb30aee4b477769989c