mirror of
https://github.com/starr-dusT/dotfiles.git
synced 2025-02-13 08:17:31 -08:00
actual fix for SDL2 needed for input and audio
This commit is contained in:
parent
b5b78b977e
commit
7a1f293d0c
@ -4,7 +4,7 @@
|
|||||||
final: prev: {
|
final: prev: {
|
||||||
advcpmv = final.callPackage ../pkgs/advcpmv.nix {};
|
advcpmv = final.callPackage ../pkgs/advcpmv.nix {};
|
||||||
nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {};
|
nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {};
|
||||||
sudachi = final.kdePackages.callPackage ../pkgs/sudachi.nix {};
|
sudachi = final.qt6.callPackage ../pkgs/sudachi/default.nix {};
|
||||||
yuzu = final.libsForQt5.callPackage ../pkgs/yuzu.nix {};
|
yuzu = final.libsForQt5.callPackage ../pkgs/yuzu.nix {};
|
||||||
gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {};
|
gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {};
|
||||||
gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace.nix {};
|
gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace.nix {};
|
||||||
|
@ -30,14 +30,15 @@
|
|||||||
catch2_3,
|
catch2_3,
|
||||||
vulkan-loader,
|
vulkan-loader,
|
||||||
vulkan-headers,
|
vulkan-headers,
|
||||||
|
SDL2,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Derived from externals/nx_tzdb/CMakeLists.txt
|
# Derived from externals/nx_tzdb/CMakeLists.txt
|
||||||
nx_tzdb = fetchzip {
|
nx_tzdb = fetchzip {
|
||||||
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/221202/221202.zip";
|
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/221202/221202.zip";
|
||||||
stripRoot = false;
|
|
||||||
hash = "sha256-YOIElcKTiclem05trZsA3YJReozu/ex7jJAKD6nAMwc=";
|
hash = "sha256-YOIElcKTiclem05trZsA3YJReozu/ex7jJAKD6nAMwc=";
|
||||||
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
suyu = fetchFromGitea {
|
suyu = fetchFromGitea {
|
||||||
domain = "git.suyu.dev";
|
domain = "git.suyu.dev";
|
||||||
@ -58,6 +59,8 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./sdl2_fix.patch ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
glslang
|
glslang
|
||||||
@ -71,6 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
boost
|
boost
|
||||||
fmt
|
fmt
|
||||||
lz4
|
lz4
|
||||||
|
SDL2
|
||||||
nlohmann_json
|
nlohmann_json
|
||||||
qtbase
|
qtbase
|
||||||
qtmultimedia
|
qtmultimedia
|
||||||
@ -120,9 +124,8 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
# so "off" means "use system"
|
# so "off" means "use system"
|
||||||
"-DSUDACHI_USE_EXTERNAL_VULKAN_HEADERS=OFF"
|
"-DSUDACHI_USE_EXTERNAL_VULKAN_HEADERS=OFF"
|
||||||
|
|
||||||
# Disable SDL2 audio
|
# Disable SDL2
|
||||||
# Sudachi seems to have a bug that ignores SUDACHI_USE_EXTERNAL_SDL2 flag
|
# SDL flags are broken somehow in 1.0.11 and fix is hacked in with a patch
|
||||||
"-DENABLE_SDL2=OFF"
|
|
||||||
|
|
||||||
# don't use system ffmpeg, sudachi uses internal APIs
|
# don't use system ffmpeg, sudachi uses internal APIs
|
||||||
"-DSUDACHI_USE_BUNDLED_FFMPEG=ON"
|
"-DSUDACHI_USE_BUNDLED_FFMPEG=ON"
|
43
provision/pkgs/sudachi/sdl2_fix.patch
Normal file
43
provision/pkgs/sudachi/sdl2_fix.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index ed30417..7c1da0b 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -535,34 +535,10 @@ if(ENABLE_QT)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-# find SDL2 exports a bunch of variables that are needed, so its easier to do this outside of the sudachi_find_package
|
||||||
|
-if (ENABLE_SDL2 AND NOT USE_SDL2_FROM_EXTERNALS)
|
||||||
|
- if (SUDACHI_USE_BUNDLED_SDL2)
|
||||||
|
- # Detect toolchain and platform
|
||||||
|
- if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64)
|
||||||
|
- set(SDL2_VER "SDL2-2.28.2")
|
||||||
|
- else()
|
||||||
|
- message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable SUDACHI_USE_BUNDLED_SDL2 and provide your own.")
|
||||||
|
- endif()
|
||||||
|
-
|
||||||
|
- if (DEFINED SDL2_VER)
|
||||||
|
- download_bundled_external("sdl2/" ${SDL2_VER} SDL2_PREFIX)
|
||||||
|
- endif()
|
||||||
|
-
|
||||||
|
- set(SDL2_FOUND YES)
|
||||||
|
- set(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include" CACHE PATH "Path to SDL2 headers")
|
||||||
|
- set(SDL2_LIBRARY "${SDL2_PREFIX}/lib/x64/SDL2.lib" CACHE PATH "Path to SDL2 library")
|
||||||
|
- set(SDL2_DLL_DIR "${SDL2_PREFIX}/lib/x64/" CACHE PATH "Path to SDL2.dll")
|
||||||
|
-
|
||||||
|
- add_library(SDL2::SDL2 INTERFACE IMPORTED)
|
||||||
|
- target_link_libraries(SDL2::SDL2 INTERFACE "${SDL2_LIBRARY}")
|
||||||
|
- target_include_directories(SDL2::SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
|
||||||
|
- elseif (USE_SDL2_FROM_EXTERNALS)
|
||||||
|
- message(STATUS "Using SDL2 from externals.")
|
||||||
|
- else()
|
||||||
|
- find_package(SDL2 2.26.4 REQUIRED)
|
||||||
|
- endif()
|
||||||
|
-endif()
|
||||||
|
+# Nixos needs to use packaged SDL2. There is something up with these flags that
|
||||||
|
+# doesn't currently work properly so here is a quick hack. I'd investigate and
|
||||||
|
+# report to the dev, but you all are dicks who drove him out. Fuck you all.
|
||||||
|
+find_package(SDL2 2.26.4 REQUIRED)
|
||||||
|
|
||||||
|
if (UNIX AND NOT APPLE AND NOT ANDROID)
|
||||||
|
find_package(PkgConfig REQUIRED)
|
Loading…
x
Reference in New Issue
Block a user