outfoxxed/hy3

Issue building with latest Hyprland

Closed this issue · 3 comments

Hey!

I noticed today that an update was pushed for Hyprland which breaks building

[v] version returned: Hyprland, built from branch main at commit ded174d6e5d14bc376919194cbc52c238a07f640 dirty (misc: remove unused var).
Date: Tue Feb 6 01:39:19 2024
Tag: v0.35.0-5-gded174d6

flags: (if any)


[v] parsed commit ded174d6e5d14bc376919194cbc52c238a07f640 at branch main
✔ adding a new plugin repository from https://github.com/outfoxxed/hy3
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n]

! old plugin repo build files found in temp directory, removing.
 → Cloning https://github.com/outfoxxed/hy3
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
 → hy3 by outfoxxed version
 → Manifest has 1 pins, checking
✔ Hyprland headers OK
 → Building hy3
✖ Plugin hy3 failed to build.

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)[v] shell returned:  -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/smitropoulos/.local/share/hyprpm/headersRoot/share/pkgconfig" cmake -DCMAKE_BUILD_TYPE=Release -B build
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.0")
-- Checking for modules 'hyprland;pixman-1;libdrm;pango;pangocairo'
--   Found hyprland, version 0.35.0
--   Found pixman-1, version 0.43.2
--   Found libdrm, version 2.4.120
--   Found pango, version 1.51.0
--   Found pangocairo, version 1.51.0
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/hyprpm/new/build

 -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/smitropoulos/.local/share/hyprpm/headersRoot/share/pkgconfig" cmake --build build
[ 14%] Building CXX object CMakeFiles/hy3.dir/src/main.cpp.o
[ 28%] Building CXX object CMakeFiles/hy3.dir/src/dispatchers.cpp.o
[ 42%] Building CXX object CMakeFiles/hy3.dir/src/Hy3Layout.cpp.o
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘void Hy3Layout::insertNode(Hy3Node&)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:160:44: error: ‘class CCompositor’ has no member named ‘vectorToWindowTiled’; did you mean ‘vectorToWindowUnified’?
  160 |                             g_pCompositor->vectorToWindowTiled(g_pInputManager->getMouseCoordsInternal());
      |                                            ^~~~~~~~~~~~~~~~~~~
      |                                            vectorToWindowUnified
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘void Hy3Layout::moveNodeToWorkspace(int, std::string, bool)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:1075:23: warning: unused variable ‘parent’ [-Wunused-variable]
 1075 |                 auto* parent = node->removeFromParentRecursive(&expand_actor);
      |                       ^~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘void Hy3Layout::focusTab(int, TabFocus, TabFocusMousePriority, bool, int)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:1230:36: error: ‘class CCompositor’ has no member named ‘windowFloatingFromCursor’
 1230 |                 if (g_pCompositor->windowFloatingFromCursor() == nullptr) {
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘void Hy3Layout::expand(int, ExpandOption, ExpandFullscreenOption)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:1405:1: warning: label ‘unfullscreen’ defined but not used [-Wunused-label]
 1405 | unfullscreen:
      | ^~~~~~~~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘virtual CWindow* Hy3Layout::getNextWindowCandidate(CWindow*)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:756:1: warning: control reaches end of non-void function [-Wreturn-type]
  756 | }
      | ^
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘bool Hy3Layout::shouldRenderSelected(CWindow*)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:1435:1: warning: control reaches end of non-void function [-Wreturn-type]
 1435 | }
      | ^
make[2]: *** [CMakeFiles/hy3.dir/build.make:104: CMakeFiles/hy3.dir/src/Hy3Layout.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/hy3.dir/all] Error 2
make: *** [Makefile:136: all] Error 2


✔ all plugins built
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━  4 / 5  Installing repositoryterminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: cannot copy file: No such file or directory [/tmp/hyprpm/new/build/libhy3.so] [/home/smitropoulos/.local/share/hyprpm/hy3/hy3.so]
[1]    15293 IOT instruction (core dumped)  hyprpm -v add https://github.com/outfoxxed/hy3

I can confirm this. Build failed on NixOS with upstream Hyprland flake.

Same on Arch.
Linux binbows 6.7.3-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 02 Feb 2024 17:03:55 +0000 x86_64 GNU/Linux

hyprctl version
Hyprland, built from branch HEAD at commit 03ebbe18ed8517ee22591eac82cd54322f42cb7d  (props: bump ver to 0.34.0).
Date: Mon Jan 1 12:03:15 2024
Tag: v0.34.0
hyprpm --verbose add https://github.com/outfoxxed/hy3
✔ adding a new plugin repository from https://github.com/outfoxxed/hy3
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n]

! old plugin repo build files found in temp directory, removing.
 → Cloning https://github.com/outfoxxed/hy3
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
 → hy3 by outfoxxed version
 ━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  2 / 5  Verifying headers[v] version returned: Hyprland, built from branch HEAD at commit 03ebbe18ed8517ee22591eac82cd54322f42cb7d  (props: bump ver to 0.34.0).
Date: Mon Jan 1 12:03:15 2024
Tag: v0.34.0

flags: (if any)


[v] parsed commit 03ebbe18ed8517ee22591eac82cd54322f42cb7d at branch HEAD
✔ Hyprland headers OK
 → Building hy3
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)
✖ Plugin hy3 failed to build.
[v] shell returned: -- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.0")
-- Checking for modules 'hyprland;pixman-1;libdrm;pango;pangocairo'
--   Found hyprland, version 0.34.0
--   Found pixman-1, version 0.43.2
--   Found libdrm, version 2.4.120
--   Found pango, version 1.51.0
--   Found pangocairo, version 1.51.0
-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/hyprpm/new/build

[ 14%] Building CXX object CMakeFiles/hy3.dir/src/main.cpp.o
[ 28%] Building CXX object CMakeFiles/hy3.dir/src/dispatchers.cpp.o
[ 42%] Building CXX object CMakeFiles/hy3.dir/src/Hy3Layout.cpp.o
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘void Hy3Layout::insertNode(Hy3Node&)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:159:61: error: ‘class CCompositor’ has no member named ‘vectorToWindowUnified’; did you mean ‘vectorToWindowTiled’?
  159 |                         auto* mouse_window = g_pCompositor->vectorToWindowUnified(
      |                                                             ^~~~~~~~~~~~~~~~~~~~~
      |                                                             vectorToWindowTiled
/tmp/hyprpm/new/src/Hy3Layout.cpp:161:29: error: ‘RESERVED_EXTENTS’ was not declared in this scope
  161 |                             RESERVED_EXTENTS | INPUT_EXTENTS
      |                             ^~~~~~~~~~~~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp:161:48: error: ‘INPUT_EXTENTS’ was not declared in this scope
  161 |                             RESERVED_EXTENTS | INPUT_EXTENTS
      |                                                ^~~~~~~~~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘void Hy3Layout::moveNodeToWorkspace(int, std::string, bool)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:1082:23: warning: unused variable ‘parent’ [-Wunused-variable]
 1082 |                 auto* parent = node->removeFromParentRecursive(&expand_actor);
      |                       ^~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘void Hy3Layout::focusTab(int, TabFocus, TabFocusMousePriority, bool, int)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:1238:36: error: ‘class CCompositor’ has no member named ‘vectorToWindowUnified’; did you mean ‘vectorToWindowTiled’?
 1238 |                 if (g_pCompositor->vectorToWindowUnified(
      |                                    ^~~~~~~~~~~~~~~~~~~~~
      |                                    vectorToWindowTiled
/tmp/hyprpm/new/src/Hy3Layout.cpp:1240:25: error: ‘RESERVED_EXTENTS’ was not declared in this scope
 1240 |                         RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING | FLOATING_ONLY
      |                         ^~~~~~~~~~~~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp:1240:44: error: ‘INPUT_EXTENTS’ was not declared in this scope
 1240 |                         RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING | FLOATING_ONLY
      |                                            ^~~~~~~~~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp:1240:60: error: ‘ALLOW_FLOATING’ was not declared in this scope; did you mean ‘GL_LOW_FLOAT’?
 1240 |                         RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING | FLOATING_ONLY
      |                                                            ^~~~~~~~~~~~~~
      |                                                            GL_LOW_FLOAT
/tmp/hyprpm/new/src/Hy3Layout.cpp:1240:77: error: ‘FLOATING_ONLY’ was not declared in this scope
 1240 |                         RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING | FLOATING_ONLY
      |                                                                             ^~~~~~~~~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘void Hy3Layout::expand(int, ExpandOption, ExpandFullscreenOption)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:1417:1: warning: label ‘unfullscreen’ defined but not used [-Wunused-label]
 1417 | unfullscreen:
      | ^~~~~~~~~~~~
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘virtual CWindow* Hy3Layout::getNextWindowCandidate(CWindow*)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:763:1: warning: control reaches end of non-void function [-Wreturn-type]
  763 | }
      | ^
/tmp/hyprpm/new/src/Hy3Layout.cpp: In member function ‘bool Hy3Layout::shouldRenderSelected(CWindow*)’:
/tmp/hyprpm/new/src/Hy3Layout.cpp:1447:1: warning: control reaches end of non-void function [-Wreturn-type]
 1447 | }
      | ^
make[2]: *** [CMakeFiles/hy3.dir/build.make:104: CMakeFiles/hy3.dir/src/Hy3Layout.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/hy3.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Fixed with new release