Bug 1218422

Summary: Can't build hyprland plugins due to improper header locations
Product: [openSUSE] openSUSE Tumbleweed Reporter: John Doe <johndoe1352460>
Component: DevelopmentAssignee: Florian <packaging>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: bloxblox, f4tmike, pythonian23
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: openSUSE Tumbleweed   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description John Doe 2023-12-27 20:27:17 UTC
I cannot build the plugins for Hyprland due to the improper locations of headers. When building hyprbars for hyprland it expects <wlr/util/transform.h> but the full path of the file is /usr/include/hyprland/wlroots. I'm guessing it expects it to be /usr/include/hyprland/wlr with the pkgconfig parameter inclduing -I/usr/include/hyprland

What I did to fix this issue is create a symlink /usr/include/hyprland/wlr that points to /usr/include/hyprland/wlroots and add -I${includedir}/hyprland to the cflags in /usr/share/pkgconfig/hyprland.pc

After I do that the hyprbars plugin builds just fine.
Comment 1 John Doe 2023-12-27 20:37:16 UTC
This includes all the necessary changes to the Makefile and meson.build so that pkgconfig properly references all the headers needed to build hyprbars. This is not similar to Bug 1218411 because I updated "pkgconfig --cflags" with all the relevant development headers. I had to manually adjust /usr/share/pkgconfig/hyprland.pc with the proper location of the headers and symlink the needed directory as stated above in order to get it to build
Comment 2 John Doe 2023-12-27 20:56:30 UTC
upstream issue
Comment 3 John Doe 2023-12-27 20:58:47 UTC
Could be fixed though on openSUSE's end possibly in the meantime while waiting for upstream to fix it
Comment 4 John Doe 2023-12-27 21:37:09 UTC
Can confirm this is an opensuse issue. There is no wlr directory where it should be. On other distros like Fedora or Arch, there is a directory in /usr/include/hyprland/wlroots called "wlr" while the opensuse package of hyprland-devel does not have this. This causes the headers that are needed to build the plugin to be not found,

Link to show the files in the packages
https://archlinux.org/packages/extra/x86_64/hyprland/
https://packages.fedoraproject.org/pkgs/hyprland/hyprland-devel/fedora-rawhide.html#files
Comment 5 Michael K 2024-04-13 06:13:49 UTC
Me too.
hyprctl version doesn't show anything btw.:

Hyprland, built from branch  at commit  dirty ().
Date: 
Tag: 

flags: (if any)
Comment 6 Tom Mayr 2024-04-29 20:52:12 UTC
Same here for hyprland  0.39.1-52.3

hyprctl -j version
{
    "branch": "",
    "commit": "",
    "dirty": true,
    "commit_message": ""
    "commit_date": "",
    "tag": "",
    "commits": ,
    "flags": []
}