From 1cb2d950b126750df3a4004af0ec70bbf02bba48 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 16:37:54 +0000
Subject: [PATCH 01/43] Add initial support for Linux

---
 scripts/install-vcpkg-deps | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/scripts/install-vcpkg-deps b/scripts/install-vcpkg-deps
index f2041d3..d8946ed 100755
--- a/scripts/install-vcpkg-deps
+++ b/scripts/install-vcpkg-deps
@@ -12,11 +12,13 @@ ROOT = Path(__file__).resolve().parent.parent
 
 TRIPLET_OSS = {
     'Darwin': 'osx',
+    'Linux': 'linux',
 }
 
 TRIPLET_ARCHS = {
     'x86_64': 'x64',
     'arm64': 'arm64',
+    'aarch64': 'arm64',
 }
 
 # Packages to be built for the target architecture
@@ -67,6 +69,9 @@ PLATFORM_PACKAGES = {
         'hss1394',
         'qtkeychain-qt6', # libgcrypt seems to be unsupported on iOS
     ],
+    'linux': [
+        'qtkeychain-qt6',
+    ],
 }
 
 # Packages to be built for the host architecture when crosscompiling

From 59223667a715d21a38eb10d98fa3226b1b640920 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 16:51:26 +0000
Subject: [PATCH 02/43] Add experimental Linux workflow

---
 .github/workflows/build.yml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4c072fe..d7caadb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -38,6 +38,14 @@ jobs:
           package_extension: dmg
           cmake_args: >-
             -DMACOS_BUNDLE=ON
+        - name: Linux (x86_64)
+          os: ubuntu-latest
+          triplet: x64-linux
+          host_triplet: x64-linux
+          overlay_ports: vcpkg/overlay/ports
+          cpack_generator: TGZ
+          package_extension: tar.gz
+          cmake_args: ''
 
     name: '${{ matrix.name }}'
     runs-on: '${{ matrix.os }}'

From cec0fbd77dfce7286708c0fa97272bc5dec2b81b Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 17:11:37 +0000
Subject: [PATCH 03/43] Install APT dependencies

---
 .github/workflows/build.yml |  3 +++
 scripts/install-apt-deps    | 12 ++++++++++++
 2 files changed, 15 insertions(+)
 create mode 100755 scripts/install-apt-deps

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d7caadb..7d4e48c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -70,6 +70,9 @@ jobs:
         done
         echo "mixxx_version=$(scripts/mixxx-version)" >> "$GITHUB_ENV"
       shell: bash
+    - name: Set up Linux build environment
+      if: runner.os == 'Linux'
+      run: ${{ env.SCRIPTS_ROOT }}/install-apt-deps
     - name: Set up macOS build environment
       if: runner.os == 'macOS'
       run: |
diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
new file mode 100755
index 0000000..f7e5afc
--- /dev/null
+++ b/scripts/install-apt-deps
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -e
+
+echo "==> Installing system dependencies with APT..."
+sudo apt-get update
+sudo apt-get install -y \
+  autotools-dev \
+  ccache \
+  cmake \
+  nasm \
+  ninja

From 19435935bf463eacdad23362e73dfce2a5aedba9 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 17:16:48 +0000
Subject: [PATCH 04/43] Fix package name

---
 scripts/install-apt-deps | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index f7e5afc..545d82b 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -9,4 +9,4 @@ sudo apt-get install -y \
   ccache \
   cmake \
   nasm \
-  ninja
+  ninja-build

From 951e00a18f2a7c9d1d0e27d70afc41198234acbb Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 18:34:44 +0000
Subject: [PATCH 05/43] Install `autoconf-archive` on Linux

---
 scripts/install-apt-deps | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index 545d82b..a8876a4 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -5,6 +5,7 @@ set -e
 echo "==> Installing system dependencies with APT..."
 sudo apt-get update
 sudo apt-get install -y \
+  autoconf-archive \
   autotools-dev \
   ccache \
   cmake \

From 976f110e2fc28b96c0bfcd11f99a5f20aeda3c2b Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 19:57:25 +0000
Subject: [PATCH 06/43] Add missing dependencies for Qt build on Linux

See https://github.com/microsoft/vcpkg/issues/30329
---
 scripts/install-apt-deps | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index a8876a4..611d104 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -10,4 +10,11 @@ sudo apt-get install -y \
   ccache \
   cmake \
   nasm \
-  ninja-build
+  ninja-build \
+  '^libxcb.*-dev' \
+  libx11-xcb-dev \
+  libglu1-mesa-dev \
+  libxrender-dev \
+  libxi-dev \
+  libxkbcommon-dev \
+  libxkbcommon-x11-dev

From 4504eace197011d48122cd25da300342f551f4f2 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 20:35:48 +0000
Subject: [PATCH 07/43] Add `mesa-common-dev`

---
 scripts/install-apt-deps | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index 611d104..56e3e98 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -9,12 +9,13 @@ sudo apt-get install -y \
   autotools-dev \
   ccache \
   cmake \
-  nasm \
-  ninja-build \
   '^libxcb.*-dev' \
   libx11-xcb-dev \
   libglu1-mesa-dev \
   libxrender-dev \
   libxi-dev \
   libxkbcommon-dev \
-  libxkbcommon-x11-dev
+  libxkbcommon-x11-dev \
+  mesa-common-dev \
+  nasm \
+  ninja-build

From 47d2a5c6d61fb33b04a21e506f884747610b45a8 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 21:36:37 +0000
Subject: [PATCH 08/43] Try another package

---
 scripts/install-apt-deps | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index 56e3e98..8fe150f 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -11,6 +11,7 @@ sudo apt-get install -y \
   cmake \
   '^libxcb.*-dev' \
   libx11-xcb-dev \
+  libgl1-mesa-dev \
   libglu1-mesa-dev \
   libxrender-dev \
   libxi-dev \

From e3f8ba1b636d915a9f575a6c96a61b04e1a132c4 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 22:24:26 +0000
Subject: [PATCH 09/43] Add release-mode triplet for x64-linux

Building debug symbols causes CI to fail due to a lack of space.

Unfortunately, this workaround is still needed:
https://github.com/microsoft/vcpkg/issues/10683
---
 .github/workflows/build.yml      | 2 +-
 overlay/triplets/x64-linux.cmake | 7 +++++++
 vars/vcpkg.sh                    | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)
 create mode 100644 overlay/triplets/x64-linux.cmake

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 7d4e48c..5197b5e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -54,7 +54,7 @@ jobs:
       ARTIFACT_BASE_NAME: 'mixxx-${{ matrix.triplet }}'
       VCPKG_DEFAULT_TRIPLET: '${{ matrix.triplet }}'
       VCPKG_DEFAULT_HOST_TRIPLET: '${{ matrix.host_triplet }}'
-      VCPKG_OVERLAY_TRIPLETS: vcpkg/overlay/triplets
+      VCPKG_OVERLAY_TRIPLETS: overlay/triplets:vcpkg/overlay/triplets
       VCPKG_OVERLAY_PORTS: '${{ matrix.overlay_ports }}'
     
     steps:
diff --git a/overlay/triplets/x64-linux.cmake b/overlay/triplets/x64-linux.cmake
new file mode 100644
index 0000000..8a25c72
--- /dev/null
+++ b/overlay/triplets/x64-linux.cmake
@@ -0,0 +1,7 @@
+set(VCPKG_TARGET_ARCHITECTURE x64)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE static)
+
+set(VCPKG_CMAKE_SYSTEM_NAME Linux)
+
+set(VCPKG_BUILD_TYPE release)
diff --git a/vars/vcpkg.sh b/vars/vcpkg.sh
index b6a2446..29bd905 100644
--- a/vars/vcpkg.sh
+++ b/vars/vcpkg.sh
@@ -4,5 +4,5 @@ if [ -z "$VCPKG_ROOT" ]; then
   export VCPKG_ROOT="$rootdir/vcpkg"
 fi
 
-export VCPKG_OVERLAY_TRIPLETS="$VCPKG_ROOT/overlay/triplets"
+export VCPKG_OVERLAY_TRIPLETS="$rootdir/overlay/triplets:$VCPKG_ROOT/overlay/triplets"
 export VCPKG_OVERLAY_PORTS="$VCPKG_ROOT/overlay/osx:$VCPKG_ROOT/overlay/ports"

From f1e3d813a0e032f1d1517e7326f5bd6719b74010 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Thu, 9 Nov 2023 23:27:09 +0000
Subject: [PATCH 10/43] Revert "Add release-mode triplet for x64-linux"

This reverts commit 3499ce53dbb8b245c201d9fe43f12923eee883eb.

No longer needed as of https://github.com/mixxxdj/vcpkg/pull/95
---
 .github/workflows/build.yml      | 2 +-
 overlay/triplets/x64-linux.cmake | 7 -------
 vars/vcpkg.sh                    | 2 +-
 3 files changed, 2 insertions(+), 9 deletions(-)
 delete mode 100644 overlay/triplets/x64-linux.cmake

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5197b5e..7d4e48c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -54,7 +54,7 @@ jobs:
       ARTIFACT_BASE_NAME: 'mixxx-${{ matrix.triplet }}'
       VCPKG_DEFAULT_TRIPLET: '${{ matrix.triplet }}'
       VCPKG_DEFAULT_HOST_TRIPLET: '${{ matrix.host_triplet }}'
-      VCPKG_OVERLAY_TRIPLETS: overlay/triplets:vcpkg/overlay/triplets
+      VCPKG_OVERLAY_TRIPLETS: vcpkg/overlay/triplets
       VCPKG_OVERLAY_PORTS: '${{ matrix.overlay_ports }}'
     
     steps:
diff --git a/overlay/triplets/x64-linux.cmake b/overlay/triplets/x64-linux.cmake
deleted file mode 100644
index 8a25c72..0000000
--- a/overlay/triplets/x64-linux.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-set(VCPKG_TARGET_ARCHITECTURE x64)
-set(VCPKG_CRT_LINKAGE dynamic)
-set(VCPKG_LIBRARY_LINKAGE static)
-
-set(VCPKG_CMAKE_SYSTEM_NAME Linux)
-
-set(VCPKG_BUILD_TYPE release)
diff --git a/vars/vcpkg.sh b/vars/vcpkg.sh
index 29bd905..b6a2446 100644
--- a/vars/vcpkg.sh
+++ b/vars/vcpkg.sh
@@ -4,5 +4,5 @@ if [ -z "$VCPKG_ROOT" ]; then
   export VCPKG_ROOT="$rootdir/vcpkg"
 fi
 
-export VCPKG_OVERLAY_TRIPLETS="$rootdir/overlay/triplets:$VCPKG_ROOT/overlay/triplets"
+export VCPKG_OVERLAY_TRIPLETS="$VCPKG_ROOT/overlay/triplets"
 export VCPKG_OVERLAY_PORTS="$VCPKG_ROOT/overlay/osx:$VCPKG_ROOT/overlay/ports"

From 4a3821a01523b05e88ab96f5e37f8a4733b2ea94 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Fri, 10 Nov 2023 00:12:01 +0000
Subject: [PATCH 11/43] Add missing `libudev-dev` dependency

---
 scripts/install-apt-deps | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index 8fe150f..84acf29 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -13,6 +13,7 @@ sudo apt-get install -y \
   libx11-xcb-dev \
   libgl1-mesa-dev \
   libglu1-mesa-dev \
+  libudev-dev \
   libxrender-dev \
   libxi-dev \
   libxkbcommon-dev \

From 06eef3394ebb50cdb3c1ff98774f5f125af26205 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Fri, 10 Nov 2023 12:53:21 +0000
Subject: [PATCH 12/43] Add `libupower-glib-dev` dependency

---
 scripts/install-apt-deps | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index 84acf29..2004ac7 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -14,6 +14,7 @@ sudo apt-get install -y \
   libgl1-mesa-dev \
   libglu1-mesa-dev \
   libudev-dev \
+  libupower-glib-dev \
   libxrender-dev \
   libxi-dev \
   libxkbcommon-dev \

From cb26a8119271907b9655203a457433085f1f38c7 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Fri, 10 Nov 2023 15:16:13 +0000
Subject: [PATCH 13/43] Use patched Mixxx with XCB plugin

---
 .gitmodules | 4 ++--
 mixxx       | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.gitmodules b/.gitmodules
index b84622e..ca4a0c8 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,5 +4,5 @@
 	branch = 2.5-rel
 [submodule "mixxx"]
 	path = mixxx
-	url = https://github.com/mixxxdj/mixxx.git
-	branch = main
+	url = https://github.com/fwcd/mixxx.git
+	branch = static-qt-xcb-plugin
diff --git a/mixxx b/mixxx
index 30bca40..4b9128e 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 30bca40dad857a651a6635f9102a5ed3528da015
+Subproject commit 4b9128efef4d0c3595230572f6732448d9ff4a32

From f30a20973c03e9c3c66a2e0264330a07616da6b9 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Fri, 10 Nov 2023 18:01:51 +0000
Subject: [PATCH 14/43] Base mixxx branch on `main` again

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 4b9128e..6b943eb 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 4b9128efef4d0c3595230572f6732448d9ff4a32
+Subproject commit 6b943eb7732ee6362e08383c1f631dd3f95e120a

From 29f62659d4e05beec6a166d75136e2d1210d234d Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Fri, 10 Nov 2023 19:41:36 +0000
Subject: [PATCH 15/43] Add missing `libtool` dependency

---
 scripts/install-apt-deps | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index 2004ac7..9fd2d58 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -15,6 +15,7 @@ sudo apt-get install -y \
   libglu1-mesa-dev \
   libudev-dev \
   libupower-glib-dev \
+  libtool \
   libxrender-dev \
   libxi-dev \
   libxkbcommon-dev \

From a0c8ebe50b7437c61e71f9b7e304bd21c61b2984 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sat, 11 Nov 2023 17:25:05 +0000
Subject: [PATCH 16/43] Try linking a bunch of libraries manually

---
 .github/workflows/build.yml | 3 ++-
 scripts/install-apt-deps    | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 7d4e48c..e184f4f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -45,7 +45,8 @@ jobs:
           overlay_ports: vcpkg/overlay/ports
           cpack_generator: TGZ
           package_extension: tar.gz
-          cmake_args: ''
+          cmake_args: >-
+            -DCMAKE_CXX_FLAGS='-lasound -ludev -fopenmp -lsleef'
 
     name: '${{ matrix.name }}'
     runs-on: '${{ matrix.os }}'
diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index 9fd2d58..1e9d35a 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -13,6 +13,7 @@ sudo apt-get install -y \
   libx11-xcb-dev \
   libgl1-mesa-dev \
   libglu1-mesa-dev \
+  libsleef-dev \
   libudev-dev \
   libupower-glib-dev \
   libtool \

From a5845c2a2d04c9ba5b002e2f7d512d48ae8e9495 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sat, 11 Nov 2023 17:26:21 +0000
Subject: [PATCH 17/43] Add `libasound2-dev` to APT dependencies

---
 scripts/install-apt-deps | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/install-apt-deps b/scripts/install-apt-deps
index 1e9d35a..e605009 100755
--- a/scripts/install-apt-deps
+++ b/scripts/install-apt-deps
@@ -9,6 +9,7 @@ sudo apt-get install -y \
   autotools-dev \
   ccache \
   cmake \
+  libasound2-dev \
   '^libxcb.*-dev' \
   libx11-xcb-dev \
   libgl1-mesa-dev \

From 5c1185654a0b4ec8c7287db4f6572ed8256617d6 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sat, 11 Nov 2023 18:57:11 +0000
Subject: [PATCH 18/43] Remove extra flags again

---
 .github/workflows/build.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e184f4f..7d4e48c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -45,8 +45,7 @@ jobs:
           overlay_ports: vcpkg/overlay/ports
           cpack_generator: TGZ
           package_extension: tar.gz
-          cmake_args: >-
-            -DCMAKE_CXX_FLAGS='-lasound -ludev -fopenmp -lsleef'
+          cmake_args: ''
 
     name: '${{ matrix.name }}'
     runs-on: '${{ matrix.os }}'

From 6ff8fa8d22b1693cdd2b443c5ff66e589110e9b5 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 14:18:02 +0000
Subject: [PATCH 19/43] Use `linux-static` integration branch (for now)

---
 .gitmodules | 2 +-
 mixxx       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.gitmodules b/.gitmodules
index ca4a0c8..8b5ecc6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,4 +5,4 @@
 [submodule "mixxx"]
 	path = mixxx
 	url = https://github.com/fwcd/mixxx.git
-	branch = static-qt-xcb-plugin
+	branch = linux-static
diff --git a/mixxx b/mixxx
index 6b943eb..942ca6c 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 6b943eb7732ee6362e08383c1f631dd3f95e120a
+Subproject commit 942ca6cc2f2e0744e0d16b0c029c5d0177b8766a

From 66d49aa156874c73c51246a5a9bd427f6e88c06f Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 15:14:06 +0000
Subject: [PATCH 20/43] Update mixxx (link PortMidi with ALSA)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 942ca6c..d0d97c3 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 942ca6cc2f2e0744e0d16b0c029c5d0177b8766a
+Subproject commit d0d97c303902d8ef7de74ae7d891a5a77c7989e0

From aa3f01c4868c58c0badb4c1ba980ff783b951a2e Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 15:22:20 +0000
Subject: [PATCH 21/43] Update mixxx (with the right PortMidi target)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index d0d97c3..f9fd3a5 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit d0d97c303902d8ef7de74ae7d891a5a77c7989e0
+Subproject commit f9fd3a5b64f702338f8722b8eb6ea81b7d5c4e51

From e779f48b44170960e0ab690732178696e2b63900 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 15:38:02 +0000
Subject: [PATCH 22/43] Update mixxx (add proper PortMidi targets)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index f9fd3a5..4b588e1 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit f9fd3a5b64f702338f8722b8eb6ea81b7d5c4e51
+Subproject commit 4b588e163ade26a65620dabc11119113820cac6b

From f12eaba352bd1670482d20557223ffc18f103026 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 15:41:40 +0000
Subject: [PATCH 23/43] Update mixxx (fix typo)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 4b588e1..48fb92c 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 4b588e163ade26a65620dabc11119113820cac6b
+Subproject commit 48fb92c899843f4fc4d0cb72436273cccf1a9b70

From b7c7c5526387acf491976cd8be0877427f117d87 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 16:08:11 +0000
Subject: [PATCH 24/43] Update mixxx (link udev)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 48fb92c..a7275cc 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 48fb92c899843f4fc4d0cb72436273cccf1a9b70
+Subproject commit a7275cc1d2b6afeb812f8959637dce0281813ee6

From e252090a2b12bfec518fdabbabb82609d5e69192 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 16:20:52 +0000
Subject: [PATCH 25/43] Update mixxx (link hidraw with udev too)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index a7275cc..a746fc7 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit a7275cc1d2b6afeb812f8959637dce0281813ee6
+Subproject commit a746fc766b0d7e61fdefe45c5858c371ef4d0122

From 12f803b7929a652ca60d597bafa9d47125108deb Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 16:54:29 +0000
Subject: [PATCH 26/43] Update mixxx (sleef openmp)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index a746fc7..3154a15 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit a746fc766b0d7e61fdefe45c5858c371ef4d0122
+Subproject commit 3154a15bee9c97f6b2d3e5d95b8923e94670a62e

From e029027899768ae9adb8b0de1f973657761345a9 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 20:14:22 +0000
Subject: [PATCH 27/43] Update mixxx (link OpenMP target)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 3154a15..d0352e1 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 3154a15bee9c97f6b2d3e5d95b8923e94670a62e
+Subproject commit d0352e172a6c549e5c3d4f72bd86bb450cce653c

From 7bd97ef0b677ec390f456d4c72a127f8e338427e Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 20:32:18 +0000
Subject: [PATCH 28/43] Update mixxx (Add proper FindUdev)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index d0352e1..f7cb7dc 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit d0352e172a6c549e5c3d4f72bd86bb450cce653c
+Subproject commit f7cb7dc4d1245a98282a5fbb78ac28e46baff893

From a917700b8d7ecb78ee95381232fe73e187a68270 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 20:57:49 +0000
Subject: [PATCH 29/43] Update mixxx (fix missing udev vars)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index f7cb7dc..43e8820 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit f7cb7dc4d1245a98282a5fbb78ac28e46baff893
+Subproject commit 43e882069a77de0710704e9dc07f739ebec8d215

From 35f47784910e44322dfa1ac98a8024977a678e1a Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 21:04:03 +0000
Subject: [PATCH 30/43] Update mixxx (reorder vorbis found)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 43e8820..aa950bb 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 43e882069a77de0710704e9dc07f739ebec8d215
+Subproject commit aa950bb686a2be652c7d10992eabd29762664bcb

From 609c4ecec5dc91bbac0fb8d61809729b605385d7 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 21:29:33 +0000
Subject: [PATCH 31/43] Update mixxx (rename to libudev and find include path)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index aa950bb..352f977 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit aa950bb686a2be652c7d10992eabd29762664bcb
+Subproject commit 352f9774bc7a6c247bb653a9dc17d8cb9bee5ef8

From 8ba41406222ab80d52662903e80e13885de04bcf Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 21:46:11 +0000
Subject: [PATCH 32/43] Update mixxx (use sleefdft)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 352f977..062c265 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 352f9774bc7a6c247bb653a9dc17d8cb9bee5ef8
+Subproject commit 062c265d5be16e4a113c2e37f8fd01b9ab273368

From 7a95e4cc17b7fb7e0b6cda42073346f8a4d93108 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 21:47:56 +0000
Subject: [PATCH 33/43] Update mixxx (fix typo)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 062c265..fb4bf95 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 062c265d5be16e4a113c2e37f8fd01b9ab273368
+Subproject commit fb4bf953141e5407c7401f338772d57f0acf8f3d

From c8c90d20f3712feb2b78c943d4905ecba75d4435 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 21:53:00 +0000
Subject: [PATCH 34/43] Always save ccache for faster builds

---
 .github/workflows/build.yml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 7d4e48c..8014871 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -157,6 +157,13 @@ jobs:
     - name: Build Mixxx
       run: cmake --build build --target mixxx
       working-directory: mixxx
+    - name: Save build cache
+      if: always()
+      uses: actions/cache/save@v3
+      with:
+        # TODO: Share the key and the path with the setup step
+        path: $HOME/Library/Caches/ccache
+        key: ccache-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
     - name: Package Mixxx
       run: cpack -G ${{ matrix.cpack_generator }} -V && mv *.${{ matrix.package_extension }} "mixxx-${{ matrix.triplet }}-${{ env.mixxx_version }}.${{ matrix.package_extension }}"
       working-directory: mixxx/build

From 873272b9a566e8128a367eda3f3916ae09fa5290 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 22:41:00 +0000
Subject: [PATCH 35/43] Update mixxx (try linking openmp the modern way)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index fb4bf95..30d722e 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit fb4bf953141e5407c7401f338772d57f0acf8f3d
+Subproject commit 30d722e8f1bfbf744d8d4ee1792ef2f512c46b25

From 081b499fd83ab99625aafe1f262205b36f356ce6 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 22:46:35 +0000
Subject: [PATCH 36/43] Use `${{ env.HOME }}` instead of `$HOME`

Shell substitutions such as `$HOME` do not seem to work here
---
 .github/workflows/build.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8014871..96b5ad3 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -132,7 +132,7 @@ jobs:
     - name: Set up build cache
       uses: actions/cache@v3
       with:
-        path: $HOME/Library/Caches/ccache
+        path: ${{ env.HOME }}/Library/Caches/ccache
         key: ccache-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
         restore-keys: |
           ccache-${{ env.mixxx_commit }}-${{ github.ref }}-
@@ -162,7 +162,7 @@ jobs:
       uses: actions/cache/save@v3
       with:
         # TODO: Share the key and the path with the setup step
-        path: $HOME/Library/Caches/ccache
+        path: ${{ env.HOME }}/Library/Caches/ccache
         key: ccache-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
     - name: Package Mixxx
       run: cpack -G ${{ matrix.cpack_generator }} -V && mv *.${{ matrix.package_extension }} "mixxx-${{ matrix.triplet }}-${{ env.mixxx_version }}.${{ matrix.package_extension }}"

From fc42623ecb42f551ddda3755addb0483e62b804f Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 22:53:11 +0000
Subject: [PATCH 37/43] Update mixxx (use openmp flags)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 30d722e..785a350 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 30d722e8f1bfbf744d8d4ee1792ef2f512c46b25
+Subproject commit 785a3504165c034f4140b65f2e6ac3f5278a8ba5

From 7c8a94a811f9a541e3685e9567cb29b591d3c8ce Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 23:24:22 +0000
Subject: [PATCH 38/43] Specify ccache path in matrix

This fixes the missing path on Linux
---
 .github/workflows/build.yml | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 96b5ad3..823aa96 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -25,6 +25,7 @@ jobs:
           triplet: arm64-osx-min1100
           host_triplet: x64-osx-min1015
           overlay_ports: vcpkg/overlay/osx:vcpkg/overlay/ports
+          ccache_path: ~/Library/Caches/ccache
           cpack_generator: DragNDrop
           package_extension: dmg
           cmake_args: >-
@@ -34,6 +35,7 @@ jobs:
           triplet: x64-osx-min1015
           host_triplet: x64-osx-min1015
           overlay_ports: vcpkg/overlay/osx:vcpkg/overlay/ports
+          ccache_path: ~/Library/Caches/ccache
           cpack_generator: DragNDrop
           package_extension: dmg
           cmake_args: >-
@@ -43,6 +45,7 @@ jobs:
           triplet: x64-linux
           host_triplet: x64-linux
           overlay_ports: vcpkg/overlay/ports
+          ccache_path: ~/.ccache
           cpack_generator: TGZ
           package_extension: tar.gz
           cmake_args: ''
@@ -132,7 +135,7 @@ jobs:
     - name: Set up build cache
       uses: actions/cache@v3
       with:
-        path: ${{ env.HOME }}/Library/Caches/ccache
+        path: ${{ matrix.ccache_path }}
         key: ccache-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
         restore-keys: |
           ccache-${{ env.mixxx_commit }}-${{ github.ref }}-
@@ -161,8 +164,8 @@ jobs:
       if: always()
       uses: actions/cache/save@v3
       with:
-        # TODO: Share the key and the path with the setup step
-        path: ${{ env.HOME }}/Library/Caches/ccache
+        # TODO: Share the key with the setup step
+        path: ${{ matrix.ccache_path }}
         key: ccache-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
     - name: Package Mixxx
       run: cpack -G ${{ matrix.cpack_generator }} -V && mv *.${{ matrix.package_extension }} "mixxx-${{ matrix.triplet }}-${{ env.mixxx_version }}.${{ matrix.package_extension }}"

From e5ee00cd3b01e4eb3129f17e5add2dd8fc13ddb0 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Sun, 12 Nov 2023 23:34:39 +0000
Subject: [PATCH 39/43] Update mixxx (use proper sleefdft target)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 785a350..85cff39 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 785a3504165c034f4140b65f2e6ac3f5278a8ba5
+Subproject commit 85cff39d1b5718eb32c23512d29ee51bdb7e0ae6

From 74c4b833024df49648002632a78df26652f6e05f Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Mon, 13 Nov 2023 00:18:19 +0000
Subject: [PATCH 40/43] Update mixxx (link openmp again)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index 85cff39..cef0165 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit 85cff39d1b5718eb32c23512d29ee51bdb7e0ae6
+Subproject commit cef0165a50386e915b66727ee73e86d711509235

From 5fcbea193917513fff5492cdb89b1265397ba090 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Mon, 13 Nov 2023 01:17:41 +0000
Subject: [PATCH 41/43] Update mixxx (link sleef into sleefdft)

---
 mixxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mixxx b/mixxx
index cef0165..f4b605b 160000
--- a/mixxx
+++ b/mixxx
@@ -1 +1 @@
-Subproject commit cef0165a50386e915b66727ee73e86d711509235
+Subproject commit f4b605be45f6f9c3e7772f2c05c180b420efcb35

From 72fd6723bc22990649f8e8202a786ad0e0b24950 Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Mon, 13 Nov 2023 01:53:08 +0000
Subject: [PATCH 42/43] Include triplet in ccache key

To avoid having the different jobs clash
---
 .github/workflows/build.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 823aa96..cf0d6fc 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -136,11 +136,11 @@ jobs:
       uses: actions/cache@v3
       with:
         path: ${{ matrix.ccache_path }}
-        key: ccache-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
+        key: ccache-${{ matrix.triplet }}-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
         restore-keys: |
-          ccache-${{ env.mixxx_commit }}-${{ github.ref }}-
-          ccache-${{ env.mixxx_commit }}-
-          ccache-
+          ccache-${{ matrix.triplet }}-${{ env.mixxx_commit }}-${{ github.ref }}-
+          ccache-${{ matrix.triplet }}-${{ env.mixxx_commit }}-
+          ccache-${{ matrix.triplet }}-
     - name: Configure Mixxx build
       run: >-
         cmake
@@ -166,7 +166,7 @@ jobs:
       with:
         # TODO: Share the key with the setup step
         path: ${{ matrix.ccache_path }}
-        key: ccache-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
+        key: ccache-${{ matrix.triplet }}-${{ env.mixxx_commit }}-${{ github.ref }}-${{ github.run_number }}
     - name: Package Mixxx
       run: cpack -G ${{ matrix.cpack_generator }} -V && mv *.${{ matrix.package_extension }} "mixxx-${{ matrix.triplet }}-${{ env.mixxx_version }}.${{ matrix.package_extension }}"
       working-directory: mixxx/build

From d0833cd1124408701f1f7d5a4b6722f5e1dd5a8e Mon Sep 17 00:00:00 2001
From: fwcd <fwcdmail@gmail.com>
Date: Mon, 13 Nov 2023 02:20:24 +0000
Subject: [PATCH 43/43] Disable battery indicator in Linux build for now

---
 .github/workflows/build.yml | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index cf0d6fc..197630a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -48,7 +48,11 @@ jobs:
           ccache_path: ~/.ccache
           cpack_generator: TGZ
           package_extension: tar.gz
-          cmake_args: ''
+          # On Linux we build without battery support since this pulls in a
+          # dependency on GLib which is tricky to get right in a static linking scenario.
+          # See https://github.com/fwcd/m1xxx/pull/48#issuecomment-1807378063
+          cmake_args: >-
+            -DBATTERY=OFF
 
     name: '${{ matrix.name }}'
     runs-on: '${{ matrix.os }}'