Merge branch 'PrismLauncher:develop' into refactor-filter

This commit is contained in:
TheKodeToad 2025-08-20 14:48:15 +01:00 committed by GitHub
commit 0f6d589c6b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 67 additions and 81 deletions

View File

@ -24,7 +24,7 @@ set(CMAKE_JAVA_TARGET_OUTPUT_DIR ${PROJECT_BINARY_DIR}/jars)
######## Set compiler flags ########
set(CMAKE_CXX_STANDARD_REQUIRED true)
set(CMAKE_C_STANDARD_REQUIRED true)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_C_STANDARD 11)
include(GenerateExportHeader)
if(MSVC)

6
flake.lock generated
View File

@ -18,11 +18,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1754498491,
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=",
"lastModified": 1755186698,
"narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c2ae88e026f9525daf89587f3cbee584b92b6134",
"rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
"type": "github"
},
"original": {

View File

@ -63,7 +63,7 @@ bool JavaVersion::isModular() const
return m_parseable && m_major >= 9;
}
bool JavaVersion::operator<(const JavaVersion& rhs)
bool JavaVersion::operator<(const JavaVersion& rhs) const
{
if (m_parseable && rhs.m_parseable) {
auto major = m_major;
@ -101,7 +101,7 @@ bool JavaVersion::operator<(const JavaVersion& rhs)
return StringUtils::naturalCompare(m_string, rhs.m_string, Qt::CaseSensitive) < 0;
}
bool JavaVersion::operator==(const JavaVersion& rhs)
bool JavaVersion::operator==(const JavaVersion& rhs) const
{
if (m_parseable && rhs.m_parseable) {
return m_major == rhs.m_major && m_minor == rhs.m_minor && m_security == rhs.m_security && m_prerelease == rhs.m_prerelease;
@ -109,7 +109,7 @@ bool JavaVersion::operator==(const JavaVersion& rhs)
return m_string == rhs.m_string;
}
bool JavaVersion::operator>(const JavaVersion& rhs)
bool JavaVersion::operator>(const JavaVersion& rhs) const
{
return (!operator<(rhs)) && (!operator==(rhs));
}

View File

@ -20,9 +20,9 @@ class JavaVersion {
JavaVersion& operator=(const QString& rhs);
bool operator<(const JavaVersion& rhs);
bool operator==(const JavaVersion& rhs);
bool operator>(const JavaVersion& rhs);
bool operator<(const JavaVersion& rhs) const;
bool operator==(const JavaVersion& rhs) const;
bool operator>(const JavaVersion& rhs) const;
bool requiresPermGen() const;
bool defaultsToUtf8() const;

View File

@ -90,14 +90,6 @@ class ResourceAPI {
std::optional<std::list<Version>> mcVersions;
std::optional<ModPlatform::ModLoaderTypes> loaders;
VersionSearchArgs(VersionSearchArgs const&) = default;
void operator=(VersionSearchArgs other)
{
pack = other.pack;
mcVersions = other.mcVersions;
loaders = other.loaders;
}
};
struct VersionSearchCallbacks {
std::function<void(QJsonDocument&, ModPlatform::IndexedPack)> on_succeed;
@ -106,9 +98,6 @@ class ResourceAPI {
struct ProjectInfoArgs {
ModPlatform::IndexedPack pack;
ProjectInfoArgs(ProjectInfoArgs const&) = default;
void operator=(ProjectInfoArgs other) { pack = other.pack; }
};
struct ProjectInfoCallbacks {
std::function<void(QJsonDocument&, const ModPlatform::IndexedPack&)> on_succeed;

View File

@ -76,35 +76,33 @@ stdenv.mkDerivation {
stripJavaArchivesHook
];
buildInputs =
[
cmark
kdePackages.qtbase
kdePackages.qtnetworkauth
kdePackages.quazip
tomlplusplus
zlib
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ]
++ lib.optional gamemodeSupport gamemode;
buildInputs = [
cmark
kdePackages.qtbase
kdePackages.qtnetworkauth
kdePackages.quazip
tomlplusplus
zlib
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ]
++ lib.optional gamemodeSupport gamemode;
hardeningEnable = lib.optionals stdenv.hostPlatform.isLinux [ "pie" ];
cmakeFlags =
[
# downstream branding
(lib.cmakeFeature "Launcher_BUILD_PLATFORM" "nixpkgs")
]
++ lib.optionals (msaClientID != null) [
(lib.cmakeFeature "Launcher_MSA_CLIENT_ID" (toString msaClientID))
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# we wrap our binary manually
(lib.cmakeFeature "INSTALL_BUNDLE" "nodeps")
# disable built-in updater
(lib.cmakeFeature "MACOSX_SPARKLE_UPDATE_FEED_URL" "''")
(lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/Applications/")
];
cmakeFlags = [
# downstream branding
(lib.cmakeFeature "Launcher_BUILD_PLATFORM" "nixpkgs")
]
++ lib.optionals (msaClientID != null) [
(lib.cmakeFeature "Launcher_MSA_CLIENT_ID" (toString msaClientID))
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# we wrap our binary manually
(lib.cmakeFeature "INSTALL_BUNDLE" "nodeps")
# disable built-in updater
(lib.cmakeFeature "MACOSX_SPARKLE_UPDATE_FEED_URL" "''")
(lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/Applications/")
];
doCheck = true;

View File

@ -61,14 +61,13 @@ symlinkJoin {
nativeBuildInputs = [ kdePackages.wrapQtAppsHook ];
buildInputs =
[
kdePackages.qtbase
kdePackages.qtsvg
]
++ lib.optional (
lib.versionAtLeast kdePackages.qtbase.version "6" && stdenv.hostPlatform.isLinux
) kdePackages.qtwayland;
buildInputs = [
kdePackages.qtbase
kdePackages.qtsvg
]
++ lib.optional (
lib.versionAtLeast kdePackages.qtbase.version "6" && stdenv.hostPlatform.isLinux
) kdePackages.qtwayland;
postBuild = ''
wrapQtAppsHook
@ -76,41 +75,41 @@ symlinkJoin {
qtWrapperArgs =
let
runtimeLibs =
[
(lib.getLib stdenv.cc.cc)
## native versions
glfw3-minecraft
openal
runtimeLibs = [
(lib.getLib stdenv.cc.cc)
## native versions
glfw3-minecraft
openal
## openal
alsa-lib
libjack2
libpulseaudio
pipewire
## openal
alsa-lib
libjack2
libpulseaudio
pipewire
## glfw
libGL
libX11
libXcursor
libXext
libXrandr
libXxf86vm
## glfw
libGL
libX11
libXcursor
libXext
libXrandr
libXxf86vm
udev # oshi
udev # oshi
vulkan-loader # VulkanMod's lwjgl
]
++ lib.optional textToSpeechSupport flite
++ lib.optional gamemodeSupport gamemode.lib
++ lib.optional controllerSupport libusb1
++ additionalLibs;
vulkan-loader # VulkanMod's lwjgl
]
++ lib.optional textToSpeechSupport flite
++ lib.optional gamemodeSupport gamemode.lib
++ lib.optional controllerSupport libusb1
++ additionalLibs;
runtimePrograms = [
mesa-demos
pciutils # need lspci
xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
] ++ additionalPrograms;
]
++ additionalPrograms;
in
[ "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}" ]