mirror of
https://github.com/hyprwm/Hyprland
synced 2024-12-28 22:49:49 +01:00
parent
cb7f9140da
commit
674e7df000
3 changed files with 40 additions and 12 deletions
10
nix/cmake-version.patch
Normal file
10
nix/cmake-version.patch
Normal file
|
@ -0,0 +1,10 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6fdf98db..d8424d91 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,4 +1,4 @@
|
||||
-cmake_minimum_required(VERSION 3.30)
|
||||
+cmake_minimum_required(VERSION 3.27)
|
||||
|
||||
# Get version
|
||||
file(READ "${CMAKE_SOURCE_DIR}/VERSION" VER_RAW)
|
|
@ -53,7 +53,7 @@
|
|||
inherit (lib.attrsets) mapAttrsToList;
|
||||
inherit (lib.lists) flatten concatLists optional optionals;
|
||||
inherit (lib.sources) cleanSourceWith cleanSource;
|
||||
inherit (lib.strings) hasSuffix makeBinPath optionalString mesonBool mesonEnable;
|
||||
inherit (lib.strings) cmakeBool hasSuffix makeBinPath optionalString;
|
||||
|
||||
adapters = flatten [
|
||||
stdenvAdapters.useMoldLinker
|
||||
|
@ -76,6 +76,14 @@ in
|
|||
src = cleanSource ../.;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# forces GCC to use -std=c++26
|
||||
./stdcxx.patch
|
||||
|
||||
# Nix does not have CMake 3.30 yet, so override the minimum version
|
||||
./cmake-version.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Fix hardcoded paths to /usr installation
|
||||
sed -i "s#/usr#$out#" src/render/OpenGL.cpp
|
||||
|
@ -144,22 +152,20 @@ in
|
|||
(optional withSystemd systemd)
|
||||
];
|
||||
|
||||
mesonBuildType =
|
||||
cmakeBuildType =
|
||||
if debug
|
||||
then "debug"
|
||||
else "release";
|
||||
then "Debug"
|
||||
else "RelWithDebInfo";
|
||||
|
||||
# we want as much debug info as possible
|
||||
dontStrip = debug;
|
||||
|
||||
mesonFlags = flatten [
|
||||
(mapAttrsToList mesonEnable {
|
||||
"xwayland" = enableXWayland;
|
||||
"legacy_renderer" = legacyRenderer;
|
||||
"systemd" = withSystemd;
|
||||
})
|
||||
(mesonBool "b_pch" false)
|
||||
];
|
||||
cmakeFlags = mapAttrsToList cmakeBool {
|
||||
"NO_XWAYLAND" = !enableXWayland;
|
||||
"LEGACY_RENDERER" = legacyRenderer;
|
||||
"NO_SYSTEMD" = !withSystemd;
|
||||
"CMAKE_DISABLE_PRECOMPILE_HEADERS" = true;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
${optionalString wrapRuntimeDeps ''
|
||||
|
|
12
nix/stdcxx.patch
Normal file
12
nix/stdcxx.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index cfbd431f..73e8e0c2 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -64,6 +64,7 @@ endif()
|
||||
include_directories(. "src/" "subprojects/udis86/" "protocols/")
|
||||
set(CMAKE_CXX_STANDARD 26)
|
||||
add_compile_options(
|
||||
+ -std=c++26
|
||||
-Wall
|
||||
-Wextra
|
||||
-Wno-unused-parameter
|
Loading…
Reference in a new issue