horriblename / hyprgrass

hyprland plugin for touch gestures
BSD 3-Clause "New" or "Revised" License
268 stars 11 forks source link

compile failed for nixos #116

Closed lVentus closed 3 months ago

lVentus commented 5 months ago

I did completely same as the readme. with flake and homemanager, but it builded failed, here is the info:

[8/12] Compiling C++ object src/libhyprgrass.so.p/main.cpp.o FAILED: src/libhyprgrass.so.p/main.cpp.o g++ -Isrc/libhyprgrass.so.p -Isrc -I../src -I/nix/store/6aay4yykygav8vmsfaqbchbhi6796b94-wf-touch-git-dev/include -I/nix/store/gprgf8rc2ngn6ighv1z61pvgac0k2k63-glm-0.9.9.8/include -I/nix/store/ldz76qcgv1ic8s8jlvhcyw51s7pzl2bx-pixman-0.43.4/include/pixman-1 -I/nix/store/bnanzp44z8gxxqcm2b9sw4wpymnlfqpp-libdrm-2.4.120> ../src/main.cpp: In function 'PLUGIN_DESCRIPTION_INFO pluginInit(void*)': ../src/main.cpp:73:96: error: no match for 'operator=' (operand types are 'std::shared_ptr<std::function<void(void*, SCallbackInfo&, std::any)> >' and 'CSharedPointer<std::function<void(void*, SCallbackInfo&, std::any)> >') 73 | g_pTouchDownHook = HyprlandAPI::registerCallbackDynamic(PHANDLE, "touchDown", hkOnTouchDown); | ^ In file included from /nix/store/nw6sp0xjb83svy8a5d6i46islcv3l6sm-gcc-13.2.0/include/c++/13.2.0/memory:80, from ../src/./gestures/Gestures.hpp:7, from ../src/GestureManager.hpp:2, from ../src/main.cpp:1: /nix/store/nw6sp0xjb83svy8a5d6i46islcv3l6sm-gcc-13.2.0/include/c++/13.2.0/bits/shared_ptr.h:418:9: note: candidate: 'template<class _Yp> std::shared_ptr<_Tp>::_Assignable<const std::shared_ptr<_Yp>&> std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Yp>&) [with _Tp = std::function<void(void*, SCallbackInfo&, st> 418 | operator=(const shared_ptr<_Yp>& __r) noexcept | ^~~~~~~~ /nix/store/nw6sp0xjb83svy8a5d6i46islcv3l6sm-gcc-13.2.0/include/c++/13.2.0/bits/shared_ptr.h:418:9: note: template argument deduction/substitution failed: ../src/main.cpp:73:96: note: 'CSharedPointer<std::function<void(void*, SCallbackInfo&, std::any)> >' is not derived from 'const std::shared_ptr<_Tp>' 73 | g_pTouchDownHook = HyprlandAPI::registerCallbackDynamic(PHANDLE, "touchDown", hkOnTouchDown); | ^ /nix/store/nw6sp0xjb83svy8a5d6i46islcv3l6sm-gcc-13.2.0/include/c++/13.2.0/bits/shared_ptr.h:429:9: note: candidate: 'template<class _Yp> std::shared_ptr<_Tp>::_Assignable<std::auto_ptr<_Up> > std::shared_ptr<_Tp>::operator=(std::auto_ptr<_Up>&&) [with _Tp = std::function<void(void*, SCallbackInfo&, std::any)>]' 429 | operator=(auto_ptr<_Yp>&& __r) | ^~~~~~~~ /nix/store/nw6sp0xjb83svy8a5d6i46islcv3l6sm-gcc-13.2.0/include/c++/13.2.0/bits/shared_ptr.h:429:9: note: template argument deduction/substitution failed: ../src/main.cpp:73:96: note: 'CSharedPointer<std::function<void(void*, SCallbackInfo&, std::any)> >' is not derived from 'std::auto_ptr<_Up>' 73 | g_pTouchDownHook = HyprlandAPI::registerCallbackDynamic(PHANDLE, "touchDown", hkOnTouchDown); | ^ /nix/store/nw6sp0xjb83svy8a5d6i46islcv3l6sm-gcc-13.2.0/include/c++/13.2.0/bits/shared_ptr.h:446:9: note: candidate: 'template<class _Yp> std::shared_ptr<_Tp>::_Assignable<std::shared_ptr<_Yp> > std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Yp>&&) [with _Tp = std::function<void(void*, SCallbackInfo&, std::any)>]' 446 | operator=(shared_ptr<_Yp>&& __r) noexcept | ^~~~~~~~ /nix/store/nw6sp0xjb83svy8a5d6i46islcv3l6sm-gcc-13.2.0/include/c++/13.2.0/bits/shared_ptr.h:446:9: note: template argument deduction/substitution failed: ../src/main.cpp:73:96: note: 'CSharedPointer<std::function<void(void*, SCallbackInfo&, std::any)> >' is not derived from 'std::shared_ptr<_Tp>' 73 | g_pTouchDownHook = HyprlandAPI::registerCallbackDynamic(PHANDLE, "touchDown", hkOnTouchDown);

horriblename commented 4 months ago

does #118 work?

lVentus commented 4 months ago

does #118 work?

sorry, still same problem.

../src/main.cpp:73:96: error: no match for 'operator=' (operand types are 'std::shared_ptr<std::function<void(void, SCallbackInfo&, std::any)> >' and 'CSharedPointer<std::function<void(void, SCallbackInfo&, std::any)> >') 73 | g_pTouchDownHook = HyprlandAPI::registerCallbackDynamic(PHANDLE, "touchDown", hkOnTouchDown); |

maybe bacause i am using hyprland 0.39.1? that is newst for nixos

horriblename commented 4 months ago

This doesn't seem like 0.39.1, CSharedPointer wasn't even in the release. Not sure what commit nixpkgs is on, but I don't want to dig it out, especially since 0.40.0 is already out.

If someone wants to fix it, write a patch off 413f186d and PR, I'll figure out how to merge it

lVentus commented 4 months ago

This doesn't seem like 0.39.1, CSharedPointer wasn't even in the release. Not sure what commit nixpkgs is on, but I don't want to dig it out, especially since 0.40.0 is already out.

If someone wants to fix it, write a patch off 413f186 and PR, I'll figure out how to merge it

I changed to 0.40, but it still got the same error, I really don't know why.

horriblename commented 4 months ago

exactly on 0.40.0, cba1ade (I typed that commit from memory so it might be wrong).

Hyprland master branch has more breaking changes and broke plugins so it won't work