Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to upstream 2.5 environment and Qt 6 #33

Merged
merged 11 commits into from
Sep 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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()
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand Down
8 changes: 7 additions & 1 deletion scripts/install-brew-deps
Original file line number Diff line number Diff line change
Expand Up @@ -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
56 changes: 33 additions & 23 deletions scripts/install-vcpkg-deps
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,15 @@ 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',
'chromaprint',
'fdk-aac',
'ffmpeg',
'fftw3',
'grantlee',
'gtest',
'hidapi',
'libdjinterop',
Expand All @@ -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',
Expand All @@ -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
],
}

Expand All @@ -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
Expand Down Expand Up @@ -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()
2 changes: 1 addition & 1 deletion vcpkg
Submodule vcpkg updated 4362 files