hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.58k stars 902 forks source link

Build fail on NixOS #7853

Closed ArtemChandragupta closed 1 month ago

ArtemChandragupta commented 1 month ago

Already reported ? *

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 883d01084c52fdc5da0e6bfff7fd0f5cf0f62352 (). Date: 2024-09-18 Tag: , commits: 5229 flags: (if any) System Information: System name: Linux Node name: nixos Release: 6.11.0 Version: #1-NixOS SMP PREEMPT_DYNAMIC Sun Sep 15 14:57:56 UTC 2024 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c2) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240916.99dc878" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.11 (Vicuna)" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.11 (Vicuna)" VERSION_CODENAME=vicuna VERSION_ID="24.11" plugins: ======Config-Start====== Config File: /home/artem/.config/hypr/hyprland.conf: Read Succeeded exec-once = /nix/store/4a86f7kq7757fjwf5zzwk0jxixn4330n-dbus-1.14.10/bin/dbus-update-activation-environment --systemd --all && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target $altMod=ALT $mainMod=SUPER animations { bezier=myBezier, 0.05, 0.9, 0.1, 1.00 animation=windows, 1, 7, default, slide animation=windowsOut, 1, 7, default, slide animation=border, 1, 10, default animation=borderangle, 1, 8, default animation=fade, 1, 7, default enabled=true } decoration { blur { enabled=true passes=1 size=3 vibrancy=0.169600 } drop_shadow=false rounding=10 } device { name=epic-mouse-v1 sensitivity=-0.500000 } dwindle { preserve_split=true pseudotile=true } general { border_size=0 gaps_in=5 gaps_out=10 } gestures { workspace_swipe=true workspace_swipe_invert=true } input { touchpad { disable_while_typing=false natural_scroll=false } follow_mouse=1 kb_layout=us,ru kb_options=grp:caps_toggle sensitivity=0 } master { new_status=master } misc { animate_manual_resizes=true background_color=rgb(000000) disable_hyprland_logo=true disable_splash_rendering=true enable_swallow=true force_default_wallpaper=0 layers_hog_keyboard_focus=true swallow_regex=^(kitty)$ } bind=$mainMod SHIFT, up, movecurrentworkspacetomonitor, HDMI-A-1 bind=$mainMod SHIFT, down, movecurrentworkspacetomonitor, eDP-1 bind=$mainMod, Q, killactive, bind=$mainMod, Delete, exit, bind=$mainMod, F, fullscreen bind=$mainMod, V, togglefloating, bind=$mainMod, J, togglesplit, bind=$mainMod, P, pseudo, bind=$mainMod, T, exec, kitty bind=$mainMod, C, exec, hyprpicker -a bind=$mainMod, L, exec, hyprlock bind=$mainMod, N, exec, swaync-client -t -sw bind=, XF86Calculator, exec, gnome-calculator bind=$mainMod, R, exec, rofi-appgrid bind=$mainMod, S, exec, anyrun bind=CTRL, B, exec, rofi-cliphist bind=CTRL, G, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy bind=CTRL, X, exec, kitty -o font_size=15 -o background_opacity=0.95 --class clipse -e 'clipse' bind=$mainMod, W, exec, waybar bind=$mainMod SHIFT, W, exec, pkill waybar bind=$mainMod, A, exec, ags bind=$mainMod SHIFT, A, exec, ags -q bind=$mainMod, I, exec, ags -t icon-browser bind=$mainMod SHIFT, I, exec, ags -t applauncher bind=$mainMod, left, movefocus, l bind=$mainMod, right, movefocus, r bind=$mainMod, up, movefocus, u bind=$mainMod, down, movefocus, d bind=$mainMod, 1, workspace, 1 bind=$mainMod, 2, workspace, 2 bind=$mainMod, 3, workspace, 3 bind=$mainMod, 4, workspace, 4 bind=$mainMod, 5, workspace, 5 bind=$mainMod, 6, workspace, 6 bind=$mainMod, 7, workspace, 7 bind=$mainMod, 8, workspace, 8 bind=$mainMod, 9, workspace, 9 bind=$mainMod, 0, workspace, 10 bind=$mainMod SHIFT, 1, movetoworkspace, 1 bind=$mainMod SHIFT, 2, movetoworkspace, 2 bind=$mainMod SHIFT, 3, movetoworkspace, 3 bind=$mainMod SHIFT, 4, movetoworkspace, 4 bind=$mainMod SHIFT, 5, movetoworkspace, 5 bind=$mainMod SHIFT, 6, movetoworkspace, 6 bind=$mainMod SHIFT, 7, movetoworkspace, 7 bind=$mainMod SHIFT, 8, movetoworkspace, 8 bind=$mainMod SHIFT, 9, movetoworkspace, 9 bind=$mainMod SHIFT, 0, movetoworkspace, 10 bind=$altMod SHIFT, right, resizeactive, 20 0 bind=$altMod SHIFT, left, resizeactive, -20 0 bind=$altMod SHIFT, up, resizeactive, 0 -20 bind=$altMod SHIFT, down, resizeactive, 0 20 bind=$mainMod, mouse_down, workspace, e+1 bind=$mainMod, mouse_up, workspace, e-1 bind=$mainMod SHIFT, up, movecurrentworkspacetomonitor, HDMI-A-1 bind=$mainMod SHIFT, down, movecurrentworkspacetomonitor, eDP-1 bind=, XF86MonBrightnessUp, exec, brightnessctl set +5% bind=, XF86MonBrightnessDown, exec, brightnessctl set 5%- bind=$altMod, XF86MonBrightnessUp, exec, brightnessctl --device='platform::kbd_backlight' set +1 bind=$altMod, XF86MonBrightnessDown, exec, brightnessctl --device='platform::kbd_backlight' set 1- bind=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+ bind=, XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%- bind=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bind=, XF86AudioMicMute, exec, amixer set Capture toggle bind=$mainMod, Y, exec, grim -g "$(slurp)" - | convert - -shave 1x1 PNG:- | swappy -f - bind=$mainMod SHIFT, Y, exec, grim -| swappy -f - bindm=bindm = $mainMod, mouse:272, movewindow bindm=bindm = $mainMod, mouse:273, resizewindow env=XCURSOR_SIZE,24 env=QT_QPA_PLATFORMTHEME, gtk3 env=XDG_CURRENT_DESKTOP, Hyprland env=XDG_SESSION_TYPE, wayland env=XDG_SESSION_DESKTOP, Hyprland exec-once=swaync exec-once=waybar exec-once=kitty exec-once=blueman-applet exec-once=udiskie & exec-once=nm-applet exec-once=telegram-desktop -startintray exec-once=clipse -listen exec-once=swww init layerrule=animation slide top, swaync-control-center layerrule=animation slide top, swaync-notification-window monitor=eDP-1,1920x1200,0x0,1 monitor=HDMI-A-1,1920x1080,0x1600,1 windowrulev2=float,class:(clipse) windowrulev2=size 800 800,class:(clipse) windowrulev2=suppressevent maximize, class:.* windowrulev2=float,class:(org.gnome.Calculator),title:(Calculator) windowrulev2=float,class:(localsend_app) windowrulev2=float,class:(Yad) windowrulev2=float,class:(transmission-gtk) windowrulev2=float,class:(com.saivert.pwvucontrol) windowrulev2=float,class:(.blueman-manager-wrapped) windowrulev2=float,class:(blueberry.py) ======Config-End======== ```

Description

Build fails on NixOS with Hyprland flake

I do not know, if it is a Regression really, but I set it so.

How to reproduce

Build Hyprland on NixOS from flake

Crash reports, logs, images, videos

Nom output: ``` ┏━ 1 Errors: ┃ error: builder for '/nix/store/6c1wxp9w5ggfdfwcf7qip1i8iv2fq829-hyprland-0.43.0+date=2024-09-19_92df6b0.drv' failed with exit code 1; ┃ last 10 log lines: ┃ > [151/292] Compiling C++ object src/Hyprland.p/desktop_Popup.cpp.o ┃ > [152/292] Compiling C++ object src/Hyprland.p/desktop_Workspace.cpp.o ┃ > [153/292] Compiling C++ object src/Hyprland.p/desktop_Window.cpp.o ┃ > [154/292] Compiling C++ object src/Hyprland.p/Compositor.cpp.o ┃ > ../src/Compositor.cpp: In lambda function: ┃ > ../src/Compositor.cpp:66:14: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result] ┃ > 66 | write(2, msg, strlen(msg)); ┃ > | ~~~~~^~~~~~~~~~~~~~~~~~~~~ ┃ > [155/292] Compiling C++ object src/Hyprland.p/config_ConfigManager.cpp.o ┃ > ninja: build stopped: subcommand failed. ┃ For full logs, run 'nix log /nix/store/6c1wxp9w5ggfdfwcf7qip1i8iv2fq829-hyprland-0.43.0+date=2024-09-19_92df6b0.drv'. ```
Log: ```  nix log /nix/store/6c1wxp9w5ggfdfwcf7qip1i8iv2fq829-hyprland-0.43.0+date=2024-09-19_92df6b0.drv warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/6c1wxp9w5ggfdfwcf7qip1i8iv2fq829-hyprland-0.43.0+date=2024-09-19_92df6b0.drv^*' Running phase: unpackPhase @nix { "action": "setPhase", "phase": "unpackPhase" } unpacking source archive /nix/store/xbvvsfvlj5l287d747h8iazv8l3vw9nl-source source root is source Running phase: patchPhase @nix { "action": "setPhase", "phase": "patchPhase" } Running phase: updateAutotoolsGnuConfigScriptsPhase @nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" } Running phase: configurePhase @nix { "action": "setPhase", "phase": "configurePhase" } mesonConfigurePhase flags: --prefix=/nix/store/hgsnjcdm227k4x6v655wl04541kmi0d9-hyprland-0.4> The Meson build system Version: 1.5.1 Source dir: /build/source Build dir: /build/source/build Build type: native build Project name: Hyprland Project version: 0.43.0 C compiler for the host machine: gcc (gcc 14.2.0 "gcc (GCC) 14.2.0") C linker for the host machine: gcc ld.bfd 2.42 C++ compiler for the host machine: g++ (gcc 14.2.0 "g++ (GCC) 14.2.0") C++ linker for the host machine: g++ ld.bfd 2.42 Host machine cpu family: x86_64 Host machine cpu: x86_64 Check usable header "execinfo.h" : YES Found pkg-config: YES (/nix/store/02vzklfgfpaf457rq927fq3jj5hn133f-pkg-config-wrapper-0.29.2> Run-time dependency xcb found: YES 1.17.0 Run-time dependency xcb-composite found: YES 1.17.0 Run-time dependency xcb-errors found: YES 1.0.1 Run-time dependency xcb-icccm found: YES 0.4.2 Run-time dependency xcb-render found: YES 1.17.0 Run-time dependency xcb-res found: YES 1.17.0 Run-time dependency xcb-xfixes found: YES 1.17.0 Run-time dependency gio-2.0 found: YES 2.80.4 Executing subproject udis86 method cmake udis86| Found CMake: /nix/store/yzi080r2c1zn2jzrhcfdv7dmr92yw07l-cmake-3.29.6/bin/cmake (3.2> | Configuring the build directory with CMake version 3.29.6 | Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/nix/store/hgsnjcdm227k4x6v655wl04541k> | - build directory: /build/source/build/subprojects/udis86/__CMake_build | - source directory: /build/source/subprojects/udis86 | - toolchain file: /build/source/build/subprojects/udis86/__CMake_build/CMakeMe> | - preload file: /nix/store/idhgl5z435l1hid29af4hkp8v952w8v3-meson-1.5.1/lib/> | - trace args: --trace-expand --trace-format=json-v1 --no-warn-unused-cli -> | - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP00> | CMake Warning (dev) at /nix/store/yzi080r2c1zn2jzrhcfdv7dmr92yw07l-cmake-3.29.6/share/cmak> | Policy CMP0159 is not set: file(STRINGS) with REGEX updates ```
khaneliman commented 1 month ago

This looks like the actual error:

> ../src/debug/HyprCtl.cpp:861:143: error: 'AQUAMARINE_VERSION' was not declared in this scope; did you mean 'AQUAMARINE_FORWARD'?
       >   861 |             ").\nDate: " + GIT_COMMIT_DATE + "\nTag: " + GIT_TAG + ", commits: " + GIT_COMMITS + std::string{"\nbuilt against aquamarine "} + AQUAMARINE_VERSION + "\n" +
       >       |                                                                                                                                               ^~~~~~~~~~~~~~~~~~
       >       |                                                                                                                                               AQUAMARINE_FORWARD
       > ../src/debug/HyprCtl.cpp:888:13: error: 'AQUAMARINE_VERSION' was not declared in this scope; did you mean 'AQUAMARINE_FORWARD'?
       >   888 |             AQUAMARINE_VERSION);
       >       |             ^~~~~~~~~~~~~~~~~~
       >       |             AQUAMARINE_FORWARD
sleeyax commented 1 month ago

Same issue here. This bug was introduced roughly 2 hours ago in https://github.com/hyprwm/Hyprland/commit/92df6b0dce1b81b130c2b0e46d206c8c3dbb2971.

fufexan commented 1 month ago

Has been fixed with https://github.com/hyprwm/Hyprland/commit/dfa1bd0cd48253a446fbe455a46f0f4d23368c02.