diff --git a/CHANGELOG.md b/CHANGELOG.md index 9110aa67..ace5c51d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [0.18.1] - 2023-01-31 +### Fixed +- (Linux) Fixed missing dependencies for deb and rpm packages +- (Linux) Use dynamic boost + ## [0.18.0] - 2023-01-29 Attention, this release contains critical security fixes. Please update as soon as possible. Additionally, we are encouraging users to change your Sunshine password, especially if you expose the web UI (i.e. port 47790 by default) @@ -301,3 +306,4 @@ settings. In v0.17.0, games now run under your user account without elevated pri [0.16.0]: https://github.com/LizardByte/Sunshine/releases/tag/v0.16.0 [0.17.0]: https://github.com/LizardByte/Sunshine/releases/tag/v0.17.0 [0.18.0]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.0 +[0.18.1]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.1 diff --git a/CMakeLists.txt b/CMakeLists.txt index 62b72fcc..1842c674 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.18) # `CMAKE_CUDA_ARCHITECTURES` requires 3.18 -project(Sunshine VERSION 0.18.0 +project(Sunshine VERSION 0.18.1 DESCRIPTION "Sunshine is a self-hosted game stream host for Moonlight." HOMEPAGE_URL "https://app.lizardbyte.dev") @@ -72,10 +72,8 @@ find_package(OpenSSL REQUIRED) find_package(PkgConfig REQUIRED) pkg_check_modules(CURL REQUIRED libcurl) -if(NOT APPLE) - set(Boost_USE_STATIC_LIBS ON) # cmake-lint: disable=C0103 -endif() if(WIN32) + set(Boost_USE_STATIC_LIBS ON) # cmake-lint: disable=C0103 # workaround to prevent link errors against icudata, icui18n set(Boost_NO_BOOST_CMAKE ON) # cmake-lint: disable=C0103 endif() @@ -380,6 +378,7 @@ ${CMAKE_BINARY_DIR}/generated-src/${filename}.h") third-party/glad/include/glad/egl.h) list(APPEND PLATFORM_LIBRARIES + Boost::dynamic_linking dl evdev numa @@ -469,6 +468,8 @@ else() else() set(FFMPEG_PREPARED_BINARIES "${CMAKE_CURRENT_SOURCE_DIR}/third-party/ffmpeg-linux-x86_64") list(APPEND FFMPEG_PLATFORM_LIBRARIES mfx) + set(CPACK_DEB_PLATFORM_PACKAGE_DEPENDS "libmfx1,") + set(CPACK_RPM_PLATFORM_PACKAGE_REQUIRES "intel-mediasdk >= 22.3.0,") endif() endif() set(FFMPEG_INCLUDE_DIRS @@ -787,6 +788,7 @@ elseif(UNIX) # Dependencies set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_DEBIAN_PACKAGE_DEPENDS "\ + ${CPACK_DEB_PLATFORM_PACKAGE_DEPENDS} \ libboost-filesystem1.67.0 | libboost-filesystem1.71.0 | libboost-filesystem1.74.0, \ libboost-log1.67.0 | libboost-log1.71.0 | libboost-log1.74.0, \ libboost-program-options1.67.0 | libboost-program-options1.71.0 | libboost-program-options1.74.0, \ @@ -795,13 +797,17 @@ elseif(UNIX) libcurl4, \ libdrm2, \ libevdev2, \ + libnuma1, \ libopus0, \ libpulse0, \ - libxcb-shm0, \ - libxcb-xfixes0, \ - libxtst6, \ - openssl") + libva2, \ + libva-drm2, \ + libvdpau1, \ + libwayland-client0, \ + libx11-6, \ + openssl | libssl3") set(CPACK_RPM_PACKAGE_REQUIRES "\ + ${CPACK_RPM_PLATFORM_PACKAGE_REQUIRES} \ boost-filesystem >= 1.67.0, \ boost-log >= 1.67.0, \ boost-program-options >= 1.67.0, \ @@ -811,9 +817,12 @@ elseif(UNIX) libdrm >= 2.4.97, \ libevdev >= 1.5.6, \ libopusenc >= 0.2.1, \ - libxcb >= 1.13, \ - libXtst >= 1.2.3, \ - openssl >= 1.1, \ + libva >= 2.14.0, \ + libvdpau >= 1.5, \ + libwayland-client >= 1.20.0, \ + libX11 >= 1.7.3.1, \ + numactl-libs >= 2.0.14, \ + openssl >= 3.0.2, \ pulseaudio-libs >= 10.0") # This should automatically figure out dependencies, doesn't work with the current config set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) diff --git a/docker/fedora-36.dockerfile b/docker/fedora-36.dockerfile index 30c215f8..3c1e728c 100644 --- a/docker/fedora-36.dockerfile +++ b/docker/fedora-36.dockerfile @@ -20,7 +20,6 @@ dnf -y update dnf -y group install "Development Tools" dnf -y install \ boost-devel-1.76.0* \ - boost-static-1.76.0* \ cmake-3.22.2* \ gcc-12.0.1* \ gcc-c++-12.0.1* \ diff --git a/docker/fedora-37.dockerfile b/docker/fedora-37.dockerfile index f71837a1..547282b5 100644 --- a/docker/fedora-37.dockerfile +++ b/docker/fedora-37.dockerfile @@ -20,7 +20,6 @@ dnf -y update dnf -y group install "Development Tools" dnf -y install \ boost-devel-1.78.0* \ - boost-static-1.78.0* \ cmake-3.24.1* \ gcc-12.2.1* \ gcc-c++-12.2.1* \ diff --git a/docker/ubuntu-22.04.dockerfile b/docker/ubuntu-22.04.dockerfile index d2a85be4..a5ef3fd2 100644 --- a/docker/ubuntu-22.04.dockerfile +++ b/docker/ubuntu-22.04.dockerfile @@ -28,7 +28,7 @@ apt-get install -y --no-install-recommends \ libboost-thread-dev=1.74.0* \ libcap-dev=1:2.44* \ libcurl4-openssl-dev=7.81.0* \ - libdrm-dev=2.4.110* \ + libdrm-dev=2.4.113* \ libevdev-dev=1.12.1* \ libnuma-dev=2.0.14* \ libopus-dev=1.3.1* \ diff --git a/docs/source/building/linux.rst b/docs/source/building/linux.rst index 36f48d27..2cb4970e 100644 --- a/docs/source/building/linux.rst +++ b/docs/source/building/linux.rst @@ -54,10 +54,10 @@ Install Requirements sudo dnf group install "Development Tools" && \ sudo dnf install \ boost-devel \ - boost-static \ cmake \ gcc \ gcc-c++ \ + intel-mediasdk-devel \ # x86_64 only libcap-devel \ libcurl-devel \ libdrm-devel \ @@ -80,9 +80,7 @@ Install Requirements pulseaudio-libs-devel \ rpm-build \ # if you want to build an RPM binary package wget \ # necessary for cuda install with `run` file - which \ # necessary for cuda install with `run` file - # libmfx-devel is not listed for fedora, this is for x86_64 only - https://kojipkgs.fedoraproject.org//packages/libmfx/1.25/4.el8/x86_64/libmfx-devel-1.25-4.el8.x86_64.rpm + which # necessary for cuda install with `run` file Ubuntu 20.04 ^^^^^^^^^^^^ diff --git a/packaging/linux/flatpak/dev.lizardbyte.sunshine.yml b/packaging/linux/flatpak/dev.lizardbyte.sunshine.yml index 1ad23b3e..d7789a79 100644 --- a/packaging/linux/flatpak/dev.lizardbyte.sunshine.yml +++ b/packaging/linux/flatpak/dev.lizardbyte.sunshine.yml @@ -34,7 +34,7 @@ modules: build-commands: - cd tools/build && bison -y -d -o src/engine/jamgram.cpp src/engine/jamgram.y - ./bootstrap.sh --prefix=$FLATPAK_DEST --with-libraries=system,thread,log,program_options || cat bootstrap.log - - ./b2 install variant=release link=static,shared runtime-link=shared cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" + - ./b2 install variant=release link=shared runtime-link=shared cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" -j $FLATPAK_BUILDER_N_JOBS sources: - type: archive