Skip to content

Commit

Permalink
Merge pull request #33 from fwcd/vcpkg-2.5
Browse files Browse the repository at this point in the history
Update to upstream 2.5 environment and Qt 6
  • Loading branch information
fwcd authored Sep 7, 2023
2 parents 6af69a5 + f093d88 commit df4062d
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 28 deletions.
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

0 comments on commit df4062d

Please sign in to comment.