KZDKM / Hyprspace

Workspace overview plugin for Hyprland
GNU General Public License v2.0
523 stars 16 forks source link

Fails to build on hyprland stable (nixos) v0.42.0 #87

Closed leierr closed 2 months ago

leierr commented 2 months ago
          wayland.windowManager.hyprland = {
...
            plugins = [
              inputs.hyprsplit.packages.${pkgs.system}.hyprsplit
              inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
            ];
...

flake.nix:

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/release-24.05";
    nixpkgs_unstable.url = "github:nixos/nixpkgs/nixos-unstable";
    #
    home-manager.url = "github:nix-community/home-manager/release-24.05";
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
    #
    hyprland = {
      type = "git";
      url = "https://github.com/hyprwm/Hyprland.git";
      submodules = true;
      ref = "refs/tags/v0.41.2";
    };
    hyprsplit = {
      type = "git";
      url = "https://github.com/shezdy/hyprsplit.git";
      ref = "refs/tags/v0.41.2";
      inputs.hyprland.follows = "hyprland";
        };
    Hyprspace.url = "github:KZDKM/Hyprspace";
    Hyprspace.inputs.hyprland.follows = "hyprland";
  };

nixos-rebuild errors:

error: builder for '/nix/store/c29nf4mpxyqb61z6qfpcd5si6w4fy32q-Hyprspace-0.1+date=2024-09-15_8f14fa2.drv' failed with exit code 1;
       last 10 log lines:
       >       |                        setWindowFullscreen
       > ../src/Overview.cpp:111:52: error: 'sFullscreenState' was not declared in this scope; did you mean 'eFullscreenMode'?
       >   111 |         g_pCompositor->setWindowFullscreenState(w, sFullscreenState(oFullscreenMode));
       >       |                                                    ^~~~~~~~~~~~~~~~
       >       |                                                    eFullscreenMode
       > ../src/Overview.cpp:112:32: error: 'FSMODE_FULLSCREEN' was not declared in this scope; did you mean 'SUPPRESS_FULLSCREEN'?
       >   112 |         if (oFullscreenMode == FSMODE_FULLSCREEN) w->m_bWantsInitialFullscreen = false;
       >       |                                ^~~~~~~~~~~~~~~~~
       >       |                                SUPPRESS_FULLSCREEN
       > ninja: build stopped: subcommand failed.
       For full logs, run 'nix log /nix/store/c29nf4mpxyqb61z6qfpcd5si6w4fy32q-Hyprspace-0.1+date=2024-09-15_8f14fa2.drv'.
error: 1 dependencies of derivation '/nix/store/53lbxaiyy57wijnvm59z9p66i7yznq5k-hm_hyprhyprland.conf.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ak2sjhrzgiba64lblhxpz90b5k372lhs-activation-script.drv' failed to build
error: 1 dependencies of derivation '/nix/store/kb0ma4krvqary51kpg40v084l4il1dyw-home-manager-generation.drv' failed to build
error: 1 dependencies of derivation '/nix/store/clv6krayalwyadp2264kxla3pic10whx-unit-home-manager-leier.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/f5b8d79mcjvwk3bvmirbdx70pvkw7js6-system-units.drv' failed to build
error: 1 dependencies of derivation '/nix/store/lhgqakrcypvf95pmvcp3li2k6xczz4zn-etc.drv' failed to build
error: 1 dependencies of derivation '/nix/store/mpnnn86ybfk4fi0crprkk07r4m8mbj0c-nixos-system-desktop-24.05.20240920.944b2ae.drv' failed to build

full derivation/build log:

warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/c29nf4mpxyqb61z6qfpcd5si6w4fy32q-Hyprspace-0.1+date=2024-09-15_8f14fa2.drv^*'
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
unpacking source archive /nix/store/l3ppyw560cxf2l2y24i09f4rx5hcghw3-gz11n5j31kh2qfgzdjx26a29kkzij10p-source
source root is gz11n5j31kh2qfgzdjx26a29kkzij10p-source
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
mesonConfigurePhase flags: --prefix=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2 --libdir=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/lib --libexecdir=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/libexec --bindir=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/bin --sbindir=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/sbin --includedir=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/include --mandir=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/share/man --infodir=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/share/info --localedir=/nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/share/locale -Dauto_features=enabled -Dwrap_mode=nodownload --buildtype=plain
The Meson build system
Version: 1.4.0
Source dir: /build/gz11n5j31kh2qfgzdjx26a29kkzij10p-source
Build dir: /build/gz11n5j31kh2qfgzdjx26a29kkzij10p-source/build
Build type: native build
Project name: Hyprspace
Project version: 0.1
C++ compiler for the host machine: g++ (gcc 13.3.0 "g++ (GCC) 13.3.0")
C++ linker for the host machine: g++ ld.bfd 2.41
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -std=c++23: YES
meson.build:8: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
Found pkg-config: YES (/nix/store/2hfzaqv42iwrpk3ya24cnjsklz6f68lw-pkg-config-wrapper-0.29.2/bin/pkg-config) 0.29.2
Run-time dependency hyprland found: YES 0.41.2
Run-time dependency pixman-1 found: YES 0.43.4
Run-time dependency libdrm found: YES 2.4.120
Build targets in project: 1

Hyprspace 0.1

  User defined options
    auto_features: enabled
    bindir       : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/bin
    buildtype    : plain
    includedir   : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/include
    infodir      : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/share/info
    libdir       : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/lib
    libexecdir   : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/libexec
    localedir    : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/share/locale
    mandir       : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/share/man
    prefix       : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2
    sbindir      : /nix/store/xnijv44q41ksc82xl9mh060nr4i0dqcg-Hyprspace-0.1+date=2024-09-15_8f14fa2/sbin
    wrap_mode    : nodownload

Found ninja-1.12.1 at /nix/store/v3wh3z7j8dxlb3306ackf25h8hw7lzg2-ninja-1.12.1/bin/ninja
mesonConfigurePhase: enabled\ parallel\ building
@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase
build flags: -j16
[1/6] Compiling C++ object libHyprspace.so.p/src_Layout.cpp.o
FAILED: libHyprspace.so.p/src_Layout.cpp.o
g++ -IlibHyprspace.so.p -I. -I.. -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/protocols -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/wlr -I/nix/store/avzjkq3q95vjisfpx018ff8l9zlxn9hf-pixman-0.43.4/include/pixman-1 -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DWLR_USE_UNSTABLE -std=c++23 -fPIC -MD -MQ libHyprspace.so.p/src_Layout.cpp.o -MF libHyprspace.so.p/src_Layout.cpp.o.d -o libHyprspace.so.p/src_Layout.cpp.o -c ../src/Layout.cpp
In file included from ../src/Layout.cpp:2:
../src/Globals.hpp:9:9: error: ISO C++ forbids declaration of 'SDispatchResult' with no type [-fpermissive]
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |         ^~~~~~~~~~~~~~~
../src/Globals.hpp:9:9: error: typedef 'SDispatchResult' is initialized (use 'decltype' instead)
../src/Globals.hpp:9:27: error: 'tMouseKeybind' was not declared in this scope
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |                           ^~~~~~~~~~~~~
../src/Layout.cpp: In member function 'void CHyprspaceWidget::updateLayout()':
../src/Layout.cpp:29:34: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int64_t' {aka 'long int'} [-Wsign-compare]
   29 |             if (ws->m_iMonitorID == ownerID && ws->m_iID != oActiveWorkspace->m_iID) {
      |                 ~~~~~~~~~~~~~~~~~^~~~~~~~~~
../src/Layout.cpp:48:34: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int64_t' {aka 'long int'} [-Wsign-compare]
   48 |             if (ws->m_iMonitorID == ownerID) {
      |                 ~~~~~~~~~~~~~~~~~^~~~~~~~~~
[2/6] Compiling C++ object libHyprspace.so.p/src_Input.cpp.o
FAILED: libHyprspace.so.p/src_Input.cpp.o
g++ -IlibHyprspace.so.p -I. -I.. -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/protocols -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/wlr -I/nix/store/avzjkq3q95vjisfpx018ff8l9zlxn9hf-pixman-0.43.4/include/pixman-1 -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DWLR_USE_UNSTABLE -std=c++23 -fPIC -MD -MQ libHyprspace.so.p/src_Input.cpp.o -MF libHyprspace.so.p/src_Input.cpp.o.d -o libHyprspace.so.p/src_Input.cpp.o -c ../src/Input.cpp
In file included from ../src/Input.cpp:2:
../src/Globals.hpp:9:9: error: ISO C++ forbids declaration of 'SDispatchResult' with no type [-fpermissive]
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |         ^~~~~~~~~~~~~~~
../src/Globals.hpp:9:9: error: typedef 'SDispatchResult' is initialized (use 'decltype' instead)
../src/Globals.hpp:9:27: error: 'tMouseKeybind' was not declared in this scope
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |                           ^~~~~~~~~~~~~
../src/Input.cpp: In member function 'bool CHyprspaceWidget::buttonEvent(bool, Hyprutils::Math::Vector2D)':
../src/Input.cpp:45:12: error: 'tMouseKeybind' was not declared in this scope; did you mean 'pMouseKeybind'?
   45 |         (*(tMouseKeybind)pMouseKeybind)(keybind);
      |            ^~~~~~~~~~~~~
      |            pMouseKeybind
../src/Input.cpp:45:26: error: expected ')' before 'pMouseKeybind'
   45 |         (*(tMouseKeybind)pMouseKeybind)(keybind);
      |         ~                ^~~~~~~~~~~~~
      |                          )
[3/6] Compiling C++ object libHyprspace.so.p/src_Render.cpp.o
FAILED: libHyprspace.so.p/src_Render.cpp.o
g++ -IlibHyprspace.so.p -I. -I.. -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/protocols -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/wlr -I/nix/store/avzjkq3q95vjisfpx018ff8l9zlxn9hf-pixman-0.43.4/include/pixman-1 -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DWLR_USE_UNSTABLE -std=c++23 -fPIC -MD -MQ libHyprspace.so.p/src_Render.cpp.o -MF libHyprspace.so.p/src_Render.cpp.o.d -o libHyprspace.so.p/src_Render.cpp.o -c ../src/Render.cpp
In file included from ../src/Render.cpp:2:
../src/Globals.hpp:9:9: error: ISO C++ forbids declaration of 'SDispatchResult' with no type [-fpermissive]
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |         ^~~~~~~~~~~~~~~
../src/Globals.hpp:9:9: error: typedef 'SDispatchResult' is initialized (use 'decltype' instead)
../src/Globals.hpp:9:27: error: 'tMouseKeybind' was not declared in this scope
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |                           ^~~~~~~~~~~~~
../src/Render.cpp: In function 'void renderWindowStub(PHLWINDOW, CMonitor*, PHLWORKSPACE, Hyprutils::Math::CBox, timespec*)':
../src/Render.cpp:8:39: error: 'class CWindow' has no member named 'm_sFullscreenState'; did you mean 'm_bFakeFullscreenState'?
    8 |     const auto oFullscreen = pWindow->m_sFullscreenState;
      |                                       ^~~~~~~~~~~~~~~~~~
      |                                       m_bFakeFullscreenState
../src/Render.cpp:11:47: error: 'class CWindow' has no member named 'm_sWindowData'
   11 |     const auto oUseNearestNeighbor = pWindow->m_sWindowData.nearestNeighbor;
      |                                               ^~~~~~~~~~~~~
../src/Render.cpp:17:44: error: 'class CWindow' has no member named 'm_sWindowData'
   17 |     const auto oSpecialRounding = pWindow->m_sWindowData.rounding;
      |                                            ^~~~~~~~~~~~~
../src/Render.cpp:27:14: error: 'class CWindow' has no member named 'm_sFullscreenState'; did you mean 'm_bFakeFullscreenState'?
   27 |     pWindow->m_sFullscreenState = sFullscreenState(FSMODE_NONE); // FIXME: still do nothing, fullscreen requests not reject when overview active
      |              ^~~~~~~~~~~~~~~~~~
      |              m_bFakeFullscreenState
../src/Render.cpp:27:52: error: 'FSMODE_NONE' was not declared in this scope
   27 |     pWindow->m_sFullscreenState = sFullscreenState(FSMODE_NONE); // FIXME: still do nothing, fullscreen requests not reject when overview active
      |                                                    ^~~~~~~~~~~
../src/Render.cpp:27:35: error: 'sFullscreenState' was not declared in this scope; did you mean 'eFullscreenMode'?
   27 |     pWindow->m_sFullscreenState = sFullscreenState(FSMODE_NONE); // FIXME: still do nothing, fullscreen requests not reject when overview active
      |                                   ^~~~~~~~~~~~~~~~
      |                                   eFullscreenMode
../src/Render.cpp:28:14: error: 'class CWindow' has no member named 'm_sWindowData'
   28 |     pWindow->m_sWindowData.nearestNeighbor = false; // FIX: this wont do, need to scale surface texture down properly so that windows arent shown as pixelated mess
      |              ^~~~~~~~~~~~~
../src/Render.cpp:31:14: error: 'class CWindow' has no member named 'm_sWindowData'
   31 |     pWindow->m_sWindowData.rounding = pWindow->rounding() * pMonitor->scale * curScaling;
      |              ^~~~~~~~~~~~~
../src/Render.cpp:41:14: error: 'class CWindow' has no member named 'm_sFullscreenState'; did you mean 'm_bFakeFullscreenState'?
   41 |     pWindow->m_sFullscreenState = oFullscreen;
      |              ^~~~~~~~~~~~~~~~~~
      |              m_bFakeFullscreenState
../src/Render.cpp:42:14: error: 'class CWindow' has no member named 'm_sWindowData'
   42 |     pWindow->m_sWindowData.nearestNeighbor = oUseNearestNeighbor;
      |              ^~~~~~~~~~~~~
../src/Render.cpp:45:14: error: 'class CWindow' has no member named 'm_sWindowData'
   45 |     pWindow->m_sWindowData.rounding = oSpecialRounding;
      |              ^~~~~~~~~~~~~
../src/Render.cpp: In member function 'void CHyprspaceWidget::draw()':
../src/Render.cpp:117:247: warning: narrowing conversion of 'Config::panelBorderWidth' from 'int' to 'double' [-Wnarrowing]
  117 |         CBox borderBox = {widgetBox.x, owner->vecPosition.y + (Config::onBottom * owner->vecTransformedSize.y) + (Config::panelHeight + Config::reservedArea - curYOffset.value()* owner->scale) * bottomInvert, owner->vecTransformedSize.x, Config::panelBorderWidth};
      |                                                                                                                                                                                                                                               ~~~~~~~~^~~~~~~~~~~~~~~~
../src/Render.cpp:141:30: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int64_t' {aka 'long int'} [-Wsign-compare]
  141 |         if (ws->m_iMonitorID == ownerID) {
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~
[4/6] Compiling C++ object libHyprspace.so.p/src_main.cpp.o
FAILED: libHyprspace.so.p/src_main.cpp.o
g++ -IlibHyprspace.so.p -I. -I.. -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/protocols -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/wlr -I/nix/store/avzjkq3q95vjisfpx018ff8l9zlxn9hf-pixman-0.43.4/include/pixman-1 -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DWLR_USE_UNSTABLE -std=c++23 -fPIC -MD -MQ libHyprspace.so.p/src_main.cpp.o -MF libHyprspace.so.p/src_main.cpp.o.d -o libHyprspace.so.p/src_main.cpp.o -c ../src/main.cpp
In file included from ../src/main.cpp:5:
../src/Globals.hpp:9:9: error: ISO C++ forbids declaration of 'SDispatchResult' with no type [-fpermissive]
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |         ^~~~~~~~~~~~~~~
../src/Globals.hpp:9:9: error: typedef 'SDispatchResult' is initialized (use 'decltype' instead)
../src/Globals.hpp:9:27: error: 'tMouseKeybind' was not declared in this scope
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |                           ^~~~~~~~~~~~~
[5/6] Compiling C++ object libHyprspace.so.p/src_Overview.cpp.o
FAILED: libHyprspace.so.p/src_Overview.cpp.o
g++ -IlibHyprspace.so.p -I. -I.. -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/protocols -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland -I/nix/store/3xshcz6k083g1qhz8319hp1h08wvq58m-hyprland-0.41.2+date=2024-06-25_918d834-dev/include/hyprland/wlr -I/nix/store/avzjkq3q95vjisfpx018ff8l9zlxn9hf-pixman-0.43.4/include/pixman-1 -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include -I/nix/store/5f2704za85mzq80m18pb6bc7fy77bzsg-libdrm-2.4.120-dev/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -DWLR_USE_UNSTABLE -std=c++23 -fPIC -MD -MQ libHyprspace.so.p/src_Overview.cpp.o -MF libHyprspace.so.p/src_Overview.cpp.o.d -o libHyprspace.so.p/src_Overview.cpp.o -c ../src/Overview.cpp
In file included from ../src/Overview.cpp:2:
../src/Globals.hpp:9:9: error: ISO C++ forbids declaration of 'SDispatchResult' with no type [-fpermissive]
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |         ^~~~~~~~~~~~~~~
../src/Globals.hpp:9:9: error: typedef 'SDispatchResult' is initialized (use 'decltype' instead)
../src/Globals.hpp:9:27: error: 'tMouseKeybind' was not declared in this scope
    9 | typedef SDispatchResult (*tMouseKeybind)(std::string);
      |                           ^~~~~~~~~~~~~
../src/Overview.cpp: In member function 'void CHyprspaceWidget::show()':
../src/Overview.cpp:36:34: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int64_t' {aka 'long int'} [-Wsign-compare]
   36 |             if (ws->m_iMonitorID == ownerID) {
      |                 ~~~~~~~~~~~~~~~~~^~~~~~~~~~
../src/Overview.cpp:38:63: error: 'FSMODE_NONE' was not declared in this scope
   38 |                 if (w != nullptr && ws->m_efFullscreenMode != FSMODE_NONE) {
      |                                                               ^~~~~~~~~~~
../src/Overview.cpp:41:51: error: 'FSMODE_FULLSCREEN' was not declared in this scope; did you mean 'SUPPRESS_FULLSCREEN'?
   41 |                     if (ws->m_efFullscreenMode == FSMODE_FULLSCREEN) w->m_bWantsInitialFullscreen = true;
      |                                                   ^~~~~~~~~~~~~~~~~
      |                                                   SUPPRESS_FULLSCREEN
../src/Overview.cpp:44:36: error: 'class CCompositor' has no member named 'setWindowFullscreenState'; did you mean 'setWindowFullscreen'?
   44 |                     g_pCompositor->setWindowFullscreenState(w, sFullscreenState(FSMODE_NONE));
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                    setWindowFullscreen
../src/Overview.cpp:44:64: error: 'sFullscreenState' was not declared in this scope; did you mean 'eFullscreenMode'?
   44 |                     g_pCompositor->setWindowFullscreenState(w, sFullscreenState(FSMODE_NONE));
      |                                                                ^~~~~~~~~~~~~~~~
      |                                                                eFullscreenMode
../src/Overview.cpp: In member function 'void CHyprspaceWidget::hide()':
../src/Overview.cpp:111:24: error: 'class CCompositor' has no member named 'setWindowFullscreenState'; did you mean 'setWindowFullscreen'?
  111 |         g_pCompositor->setWindowFullscreenState(w, sFullscreenState(oFullscreenMode));
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~
      |                        setWindowFullscreen
../src/Overview.cpp:111:52: error: 'sFullscreenState' was not declared in this scope; did you mean 'eFullscreenMode'?
  111 |         g_pCompositor->setWindowFullscreenState(w, sFullscreenState(oFullscreenMode));
      |                                                    ^~~~~~~~~~~~~~~~
      |                                                    eFullscreenMode
../src/Overview.cpp:112:32: error: 'FSMODE_FULLSCREEN' was not declared in this scope; did you mean 'SUPPRESS_FULLSCREEN'?
  112 |         if (oFullscreenMode == FSMODE_FULLSCREEN) w->m_bWantsInitialFullscreen = false;
      |                                ^~~~~~~~~~~~~~~~~
      |                                SUPPRESS_FULLSCREEN
ninja: build stopped: subcommand failed.
myamusashi commented 2 months ago

I believe this is because of the changes to the hyprland library you need to be at least 0.43 to use this plugin

leierr commented 2 months ago

Ahhh maaan, then I'll just have to wait, 0.43 does not work with NixOS stable's mesa/kernel.

Have you guys considered moving to a revision-based way of matching Hyprland version -> plugin version? Similar to how Hyprsplit does it:

    hyprsplit = {
      type = "git";
      url = "https://github.com/shezdy/hyprsplit.git";
      ref = "refs/tags/v0.41.2";
      inputs.hyprland.follows = "hyprland";
    };
myamusashi commented 2 months ago

I've never used NixOS, but you can get the source code before 0.42 from the git commit logs

leierr commented 2 months ago

Yea thats totally possible, and I made it work. Closing!!

morten-b commented 3 weeks ago

Yea thats totally possible, and I made it work. Closing!!

How did you make it work? I'm on NixOS stable and would like to try out the plugin, but haven't been able to make it work. Could you paste your flake.nix and relevant part of your configuration?