Skip to content

Commit

Permalink
Merge pull request #20 from ignotus666/fix-dep
Browse files Browse the repository at this point in the history
Fix dep
  • Loading branch information
ignotus666 authored May 29, 2024
2 parents 2068dfa + 6a1424f commit c286ab4
Show file tree
Hide file tree
Showing 39 changed files with 220 additions and 107 deletions.
2 changes: 1 addition & 1 deletion .github/autobuild/android.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ COMMANDLINETOOLS_VERSION=6858069
ANDROID_NDK_VERSION=r21d
ANDROID_PLATFORM=android-30
ANDROID_BUILD_TOOLS=30.0.2
AQTINSTALL_VERSION=3.1.11
AQTINSTALL_VERSION=3.1.15
QT_VERSION=5.15.2

# Only variables which are really needed by sub-commands are exported.
Expand Down
2 changes: 1 addition & 1 deletion .github/autobuild/ios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ set -eu
QT_DIR=/usr/local/opt/qt
# The following version pinnings are semi-automatically checked for
# updates. Verify .github/workflows/bump-dependencies.yaml when changing those manually:
AQTINSTALL_VERSION=3.1.11
AQTINSTALL_VERSION=3.1.15

if [[ ! ${QT_VERSION:-} =~ [0-9]+\.[0-9]+\..* ]]; then
echo "Environment variable QT_VERSION must be set to a valid Qt version"
Expand Down
2 changes: 1 addition & 1 deletion .github/autobuild/linux_deb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ setup_cross_compiler() {
if [[ "${TARGET_ARCH}" == amd64 ]]; then
return
fi
local GCC_VERSION=7 # 7 is the default on 18.04, there is no reason not to update once 18.04 is out of support
local GCC_VERSION=9 # 9 is the default on 20.04, there is no reason not to update once 20.04 is out of support
sudo apt install -qq -y --no-install-recommends "g++-${GCC_VERSION}-${ABI_NAME}" "qt5-qmake:${TARGET_ARCH}" "qtbase5-dev:${TARGET_ARCH}" "libjack-jackd2-dev:${TARGET_ARCH}" "qtmultimedia5-dev:${TARGET_ARCH}"
sudo update-alternatives --install "/usr/bin/${ABI_NAME}-g++" g++ "/usr/bin/${ABI_NAME}-g++-${GCC_VERSION}" 10
sudo update-alternatives --install "/usr/bin/${ABI_NAME}-gcc" gcc "/usr/bin/${ABI_NAME}-gcc-${GCC_VERSION}" 10
Expand Down
2 changes: 1 addition & 1 deletion .github/autobuild/mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ set -eu
QT_DIR=/usr/local/opt/qt
# The following version pinnings are semi-automatically checked for
# updates. Verify .github/workflows/bump-dependencies.yaml when changing those manually:
AQTINSTALL_VERSION=3.1.11
AQTINSTALL_VERSION=3.1.15

TARGET_ARCHS="${TARGET_ARCHS:-}"

Expand Down
4 changes: 2 additions & 2 deletions .github/autobuild/windows.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ $DownloadCacheDir = 'C:\AutobuildCache'
# The following version pinnings are semi-automatically checked for
# updates. Verify .github/workflows/bump-dependencies.yaml when changing those manually:
$Qt32Version = "5.15.2"
$Qt64Version = "6.6.1"
$AqtinstallVersion = "3.1.11"
$Qt64Version = "6.6.3"
$AqtinstallVersion = "3.1.15"
$JackVersion = "1.9.22"
$Msvc32Version = "win32_msvc2019"
$Msvc64Version = "win64_msvc2019_64"
Expand Down
30 changes: 15 additions & 15 deletions .github/workflows/autobuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Determine release version, type and prerelease variables
run: ./.github/autobuild/get_build_vars.py
Expand Down Expand Up @@ -205,29 +205,29 @@ jobs:
- config_name: Linux .deb amd64 (artifacts+codeQL)
target_os: linux
building_on_os: ubuntu-22.04
building_container: ubuntu:18.04
building_container: ubuntu:20.04
base_command: ./.github/autobuild/linux_deb.sh
run_codeql: true
is_main_build_target: true

- config_name: Linux .deb armhf (artifacts)
target_os: linux
building_on_os: ubuntu-22.04
building_container: ubuntu:18.04
building_container: ubuntu:20.04
base_command: TARGET_ARCH=armhf ./.github/autobuild/linux_deb.sh
run_codeql: false

- config_name: Linux .deb arm64 (artifacts)
target_os: linux
building_on_os: ubuntu-22.04
building_container: ubuntu:18.04
building_container: ubuntu:20.04
base_command: TARGET_ARCH=arm64 ./.github/autobuild/linux_deb.sh
run_codeql: false

- config_name: MacOS (artifacts)
target_os: macos
building_on_os: macos-12
base_command: QT_VERSION=6.6.1 SIGN_IF_POSSIBLE=1 TARGET_ARCHS="x86_64 arm64" ./.github/autobuild/mac.sh
base_command: QT_VERSION=6.6.3 SIGN_IF_POSSIBLE=1 TARGET_ARCHS="x86_64 arm64" ./.github/autobuild/mac.sh
# Disable CodeQL on mac as it interferes with signing the binaries (signing hangs, see #2563 and #2564)
run_codeql: false
# Default Xcode which runs on macos-12:
Expand Down Expand Up @@ -293,7 +293,7 @@ jobs:
xcode-version: ${{ matrix.config.xcode_version }}

- name: Set up base dependencies in container environment
if: matrix.config.building_container == 'ubuntu:18.04'
if: matrix.config.building_container == 'ubuntu:20.04'
run: |
set -eu
apt-get -qq update
Expand All @@ -312,14 +312,14 @@ jobs:
git config --global --add safe.directory "${GITHUB_WORKSPACE}"
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: ${{ matrix.config.checkout_fetch_depth || '1' }}

- name: Cache Mac dependencies
if: matrix.config.target_os == 'macos'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
/usr/local/opt/qt
Expand All @@ -328,7 +328,7 @@ jobs:

- name: Cache Windows dependencies
if: matrix.config.target_os == 'windows'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
C:\Qt
Expand All @@ -340,7 +340,7 @@ jobs:

- name: Cache Android dependencies
if: matrix.config.target_os == 'android'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
/opt/Qt
Expand All @@ -355,7 +355,7 @@ jobs:

- name: Initialize CodeQL
if: matrix.config.run_codeql
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: 'cpp'

Expand All @@ -379,7 +379,7 @@ jobs:
- name: Upload Artifact 1 to Job
# Every build job has at least one artifact. Therefore, no `if` here.
# If the artifact is missing, this should fail.
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ steps.get-artifacts.outputs.artifact_1 }}
path: deploy/${{ steps.get-artifacts.outputs.artifact_1 }}
Expand All @@ -388,7 +388,7 @@ jobs:

- name: Upload Artifact 2 to Job
if: steps.get-artifacts.outputs.artifact_2
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ steps.get-artifacts.outputs.artifact_2 }}
path: deploy/${{ steps.get-artifacts.outputs.artifact_2 }}
Expand Down Expand Up @@ -431,7 +431,7 @@ jobs:

- name: Perform CodeQL Analysis
if: matrix.config.run_codeql
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

create_deb_repo:
name: Create files for .deb repository (if requested)
Expand Down Expand Up @@ -462,7 +462,7 @@ jobs:
# Unfortunately download-artifact action doesn't support wild card downloads. Thus downloading all artifacts
- name: Download all artifacts
if: env.GPG_REPO_KEY_MISSING == 'false'
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
path: releasedl/
- name: Create Debian repository
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/bump-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ jobs:
local_version_regex: (.*["\/]asiosdk_)([^"]+?)(".*|\.zip.*)

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.BUMP_DEPENDENCIES_SSH_DEPLOY_KEY || 'fail-due-to-missing-ssh-key-as-secret' }}
fetch-depth: '0' # we create/compare new branches and therefore require full history
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
# This job runs via pull_request_target. Please check for any security
# consequences when extending these steps:
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# this checks out the upstream `main` and not the PR branch; this is fine for us
# as we just need a proper config for git/gh to work with.
- env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-json-rpcs-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
check-json-rpc-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: ./tools/generate_json_rpc_docs.py
- run: |
[[ -z "$(git status --porcelain=v1)" ]] && exit 0
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/coding-style-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ jobs:
# The clangFormatVersion is based on Ubuntu current LTS (jammy at time of writing).
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Check .cpp/.h/.mm with clang-format
uses: DoozyX/clang-format-lint-action@a83a8fb7d371f66da7dd1c4f33a193023899494b
uses: DoozyX/clang-format-lint-action@11b773b1598aa4ae3b32f023701bca5201c3817d
with:
clangFormatVersion: 14
# When updating the extension list, remember to update
Expand All @@ -44,7 +44,7 @@ jobs:
runs-on: ubuntu-latest
# shellcheck is already pre-installed on ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Check .sh with shellcheck
run: find -name '*.sh' -not -path './libs/*' -exec shellcheck --shell=bash {} +
- name: Install shfmt
Expand All @@ -56,7 +56,7 @@ jobs:
name: Verify Python coding style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install pylint
run: pip install --user "pylint < 3.0"
- name: Check Python files with pylint
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/translation-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: "Check Windows installer translations"
run: ./tools/check-wininstaller-translations.sh
#- name: "Check for duplicate hotkeys (will not fail)"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/update-copyright-notices.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
pull-requests: write
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: ./tools/update-copyright-notices.sh
- env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
pull-requests: write
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- env:
pr_branch: ${{ github.event.pull_request.head.ref }}
run: |
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ We support the following platforms and versions:

- **Windows 10** or later
- **macOS 10.10** or later
- **Ubuntu 18.04** or later, **Debian 10** or later, most Linux flavors with recent enough Qt versions
- **Ubuntu 20.04** or later, **Debian 11** or later, most Linux flavors with recent enough Qt versions. (Currently, it may still build on Ubuntu 18.04 and Debian 10, but the binaries built by Github will not run on those versions)

_While Android and iOS aren't officially supported, please don't break their builds._

Expand Down
2 changes: 2 additions & 0 deletions Jamulus.pro
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
VERSION = 3.10.0dev

error("THE BRANCH YOU GOT THIS VERSION OF JAMULUS FROM IS NO LONGER MAINTAINED. PLEASE USE THE "main" BRANCH INSTEAD!")

# use target name which does not use a capital letter at the beginning
contains(CONFIG, "noupcasename") {
message(The target name is jamulus instead of Jamulus.)
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
THIS BRANCH IS NO LONGER MAINTAINED AND WILL BE REMOVED IN FUTURE.

PLEASE USE THE "main" branch instead: https://github.com/jamulussoftware/jamulus

[![Homepage picture](https://github.com/jamulussoftware/jamuluswebsite/blob/release/assets/img/jamulusbannersmall.png)](https://jamulus.io)

[![Auto-Build](https://github.com/jamulussoftware/jamulus/actions/workflows/autobuild.yml/badge.svg)](https://github.com/jamulussoftware/jamulus/actions/workflows/autobuild.yml)
Expand Down
7 changes: 3 additions & 4 deletions linux/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,9 @@ Vcs-Browser: https://github.com/jamulussoftware/jamulus

Package: jamulus
Architecture: any
# Define dependencies explicitly for the best compatibility across all supported Ubuntu/Debian versions.
# The automatism would otherwise select package names or versions which are not available on some systems,
# especially when run in the Github Ubuntu 18.04 build environment.
Depends: libc6 (>= 2.17), libstdc++6 (>= 5.2), libgcc1 (>= 1:3.0), libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack-0.116, libqt5core5a (>= 5.9.5), libqt5network5 (>= 5.9.5), libqt5xml5 (>= 5.9.5), libqt5gui5 (>= 5.9.5) | libqt5gui5-gles (>= 5.9.5), libqt5widgets5 (>= 5.9.5), libqt5multimedia5 (>= 5.9.5)
Depends:
${shlibs:Depends},
${misc:Depends},
Recommends: qjackctl
Description: Low latency Audio Server/Client
Jamulus is for playing, rehearsing, or just jamming with your friends, your band
Expand Down
10 changes: 9 additions & 1 deletion linux/debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,18 @@ DEB_TARGET_GNU_TYPE := $(shell dpkg-architecture -qDEB_TARGET_GNU_TYPE)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

# DEB_BUILD_GNU_TYPE is the system running the build (this system)
# DEB_HOST_GNU_TYPE is the system jamulus is being built for (the target)
# DEB_TARGET_GNU_TYPE is only relevant when building cross-compilers
$(info DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_TYPE) DEB_HOST_GNU_TYPE=$(DEB_HOST_GNU_TYPE) DEB_TARGET_GNU_TYPE=$(DEB_TARGET_GNU_TYPE))

ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
QMAKE := qmake
else
QMAKE := "/usr/lib/$(DEB_BUILD_GNU_TYPE)/qt5/bin/qmake" -qtconf "/usr/lib/$(DEB_TARGET_GNU_TYPE)/qt5/qt.conf" -spec "/usr/lib/$(DEB_TARGET_GNU_TYPE)/qt5/mkspecs/$(DEB_TARGET_GNU_TYPE)-g++" LIBS+="-lstdc++ -lm"
# For an unknown reason, when called from this makefile in Ubuntu 20.04,
# qmake needs an option between qmake and -qtconf, else it gives an error.
# We use -makefile, which is the default mode anyway, and this avoids the issue.
QMAKE := qmake -makefile -qtconf "/usr/lib/$(DEB_HOST_GNU_TYPE)/qt5/qt.conf" -spec "/usr/lib/$(DEB_HOST_GNU_TYPE)/qt5/mkspecs/$(DEB_HOST_GNU_TYPE)-g++" LIBS+="-lstdc++ -lm"
endif

%:
Expand Down
12 changes: 11 additions & 1 deletion mac/deploy_mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,17 @@ build_installer_image() {

# Build installer image

create-dmg \
# When this script is run on Github's CI with CodeQL enabled, CodeQL adds dynamic library
# shims via environment variables, so that it can monitor the compilation of code.
# In order for these settings to propagate to compilation called via shell/bash scripts,
# the CodeQL libs seem automatically to create the same environment variables in sub-shells,
# even when called via 'env'. This was determined by experimentation.
# Unfortunately, the CodeQL libraries are not compatible with the hdiutil program called
# by create-dmg. In order to prevent the automatic propagation of the environment, we use
# sudo to the same user in order to invoke create-dmg with a guaranteed clean environment.
#
# /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper.
sudo -u "$USER" create-dmg \
--volname "${client_target_name} Installer" \
--background "${resources_path}/installerbackground.png" \
--window-pos 200 400 \
Expand Down
2 changes: 1 addition & 1 deletion src/channel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,7 @@ void CChannel::PutProtocolData ( const int iRecCounter, const int iRecID, const
}
}

EPutDataStat CChannel::PutAudioData ( const CVector<uint8_t>& vecbyData, const int iNumBytes, CHostAddress RecHostAddr )
EPutDataStat CChannel::PutAudioData ( const CVector<uint8_t>& vecbyData, const int iNumBytes, const CHostAddress& RecHostAddr )
{
// init return state
EPutDataStat eRet = PS_GEN_ERROR;
Expand Down
4 changes: 2 additions & 2 deletions src/channel.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class CChannel : public QObject

void PutProtocolData ( const int iRecCounter, const int iRecID, const CVector<uint8_t>& vecbyMesBodyData, const CHostAddress& RecHostAddr );

EPutDataStat PutAudioData ( const CVector<uint8_t>& vecbyData, const int iNumBytes, CHostAddress RecHostAddr );
EPutDataStat PutAudioData ( const CVector<uint8_t>& vecbyData, const int iNumBytes, const CHostAddress& RecHostAddr );

EGetDataStat GetData ( CVector<uint8_t>& vecbyData, const int iNumBytes );

Expand All @@ -83,7 +83,7 @@ class CChannel : public QObject
void SetEnable ( const bool bNEnStat );
bool IsEnabled() { return bIsEnabled; }

void SetAddress ( const CHostAddress NAddr ) { InetAddr = NAddr; }
void SetAddress ( const CHostAddress& NAddr ) { InetAddr = NAddr; }
const CHostAddress& GetAddress() const { return InetAddr; }

void ResetInfo()
Expand Down
2 changes: 1 addition & 1 deletion src/client.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
#if defined( _WIN32 ) && !defined( JACK_ON_WINDOWS )
# include "sound/asio/sound.h"
#else
# if ( defined( Q_OS_MACX ) ) && !defined( JACK_REPLACES_COREAUDIO )
# if ( defined( Q_OS_MACOS ) ) && !defined( JACK_REPLACES_COREAUDIO )
# include "sound/coreaudio-mac/sound.h"
# else
# if defined( Q_OS_IOS )
Expand Down
2 changes: 1 addition & 1 deletion src/clientdlg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -943,7 +943,7 @@ void CClientDlg::SetMyWindowTitle ( const int iNumClients )

setWindowTitle ( strWinTitle );

#if defined( Q_OS_MACX )
#if defined( Q_OS_MACOS )
// for MacOS only we show the number of connected clients as a
// badge label text if more than one user is connected
if ( iNumClients > 1 )
Expand Down
2 changes: 1 addition & 1 deletion src/clientdlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
#include "connectdlg.h"
#include "analyzerconsole.h"
#include "ui_clientdlgbase.h"
#if defined( Q_OS_MACX )
#if defined( Q_OS_MACOS )
# include "mac/badgelabel.h"
#endif

Expand Down
Loading

0 comments on commit c286ab4

Please sign in to comment.