Package Details: hyprland-git 0.44.0.r46.0baf166d-1

Git Clone URL: https://aur.archlinux.org/hyprland-git.git (read-only, click to copy)
Package Base: hyprland-git
Description: Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
Upstream URL: https://github.com/hyprwm/Hyprland
Licenses: BSD-3-Clause
Conflicts: hyprland
Provides: hyprland
Submitter: hertog
Maintainer: Vaxry (zjeffer, alba4k)
Last Packager: alba4k
Votes: 94
Popularity: 8.13
First Submitted: 2022-04-12 20:26 (UTC)
Last Updated: 2024-10-17 15:07 (UTC)

Required by (57)

Sources (2)

Pinned Comments

zjeffer commented on 2024-07-17 16:50 (UTC) (edited on 2024-07-17 16:52 (UTC) by zjeffer)

Tips & tricks, common issues

using ccache/sccache

Precompiled headers (PCH) was enabled by default, this would most likely invalidate the compiler cache if any of the upstream header files change. To disable PCH, add the meson build option -Db_pch=false to build().

build() {
  ...
  meson setup build \
    -D b_pch=false
  ...
}

Build with specific pull requests

Use pick_mr <pull request number> at the end of prepare() to merge pull requests locally. For example, to merge https://github.com/hyprwm/Hyprland/pull/6268, use

prepare() {
    ...

    pick_mr 6268
}

Enable legacy renderer

In the build() function, add -D legacy_renderer=true to meson setup

Compilation errors

If you encounter compilation errors, try the following first:

  • If errors are raised by generated source files under protocols/, such as protocols/linux-dmabuf-v1.hpp, then rebuild or install hyprwayland-scanner-git;
  • Compile with makepkg --cleanbuild.

Symbol not declared

Errors like

  • <symbol> was not declared in this scope
  • <symbol> has not been declared

are usually caused by missing headers. Please consider reporting this upstream or creating a pull request if it has not already been done.

Latest Comments

« First ‹ Previous 1 .. 16 17 18 19 20 21 22 23 24 25 26 .. 30 Next › Last »

<deleted-account> commented on 2023-10-06 16:29 (UTC)

If you use clang, then yes.

Clang-16 cannot be used to build hyprland without using libc++ and some obscure flags. It doesn't work with libstdc++ (GNU's C++ library) for some reason.

Install libc++, then

CC="clang" CXX="clang++" CC_LD=lld CXX_LD=lld meson setup build -Dcpp_args="-stdlib=libc++ -fexperimental-library" -Dcpp_link_args="-stdlib=libc++ -fexperimental-library"

As a rule of thumb, you generally need these flags if you are using clang to build anything that uses C++20 or C++23 features such as ranges or format. You can create a meson native file, for example, to simplify the process

~/.local/share/meson/native/clang_release

[constants]
ldflags=['-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now']
cflags=['-march=native', '-mtune=native', '-O3', '-pipe',
    '-fno-plt', '-fstack-clash-protection', '-fcf-protection']
libcxx = ['-stdlib=libc++', '-fexperimental-library']

[binaries]
c_ld = 'lld'
cpp_ld = 'lld'
rust_ld = '/usr/bin/clang'

[built-in options]
b_lto = true
b_lto_mode = 'thin'
b_thinlto_cache = true
c_args = cflags 
c_link_args = ldflags
cpp_args = cflags + libcxx
cpp_link_args = ldflags + libcxx

Use it in meson like this: meson setup build --native-file=clang_release

MarcusE1W commented on 2023-10-06 10:36 (UTC)

I have found this issue for hyprland. Could that be useful ? https://github.com/hyprwm/Hyprland/issues/3263

rpi2 commented on 2023-10-03 00:00 (UTC)

can we edit some EXPORT to gcc-12?

<deleted-account> commented on 2023-10-02 22:35 (UTC)

Use gcc-13, upstream doesn't support gcc < 13 and clang < 16.

rpi2 commented on 2023-10-02 22:34 (UTC)

had same issue '#include <format> error', gcc-12.1

<deleted-account> commented on 2023-10-02 11:44 (UTC)

@MarcusE1W <format> is part of c++20. What compiler are you using?

MarcusE1W commented on 2023-10-02 11:31 (UTC) (edited on 2023-10-06 07:43 (UTC) by MarcusE1W)

I get an error when compiling the package for Vector2D.hpp:

/home/mmw/.cache/yay/hyprland-git/src/Hyprland/src/helpers/Vector2D.hpp:4:10: fatal error: format: No such file or directory
    4 | #include <format>
      |          ^~~~~~~~
compilation terminated.

Any ideas?

edit: I am using gcc12.1

<deleted-account> commented on 2023-09-30 02:55 (UTC)

Oops, this is after 1.0, I don't think it makes sense for this package to include xdg portal files anyway, removed.

<deleted-account> commented on 2023-09-30 02:42 (UTC)

Regarding hyprland-portals.conf, it is included in xdg-desktop-portal-hyprland, so the latest version of hyprland-git that also tries to include it cannot be installed:

I don't think the repo package includes it.

$ pacman -Fl xdg-desktop-portal-hyprland | grep usr/share/xdg-desktop-portal/
xdg-desktop-portal-hyprland usr/share/xdg-desktop-portal/
xdg-desktop-portal-hyprland usr/share/xdg-desktop-portal/portals/
xdg-desktop-portal-hyprland usr/share/xdg-desktop-portal/portals/hyprland.portal

Are you talking about the aur package?

bd4 commented on 2023-09-30 00:29 (UTC) (edited on 2023-09-30 00:30 (UTC) by bd4)

Regarding hyprland-portals.conf, it is included in xdg-desktop-portal-hyprland, so the latest version of hyprland-git that also tries to include it cannot be installed:

error: failed to commit transaction (conflicting files)
hyprland-git: /usr/share/xdg-desktop-portal/hyprland-portals.conf exists in filesystem (owned by xdg-desktop-portal-hyprland)
Errors occurred, no packages were upgraded.

I am not sure what the correct resolution is - should the file be removed from xdg-desktop-portal-hyprland and always be in hyprland?