Package Details: hyprland-git 0.45.0.r18.3fb47372-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: 97
Popularity: 8.53
First Submitted: 2022-04-12 20:26 (UTC)
Last Updated: 2024-11-21 17:56 (UTC)

Dependencies (54)

Required by (61)

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 .. 22 23 24 25 26 27 28 29 30 31 32 Next › Last »

mitch_mg2 commented on 2023-06-14 16:47 (UTC)

Sorry for the github plug, but I've hosted a revised PKGBUILD in my own repo, use at your own risk. Here are the following changes:

Removed the options flags that almost certainly caused the LDFLAGS errors (Section 4.4 in the ArchWiki: https://wiki.archlinux.org/title/makepkg ). Outright copy pasted @eclairevoyant's pkgver line. Removed -j flag Build and Package functions almost entirely copied off official repo package. There was a few discrepancies with file permissions Inserted header files several plugins rely on (such as hy3) that do not exist in the -git PKGBUILD. Also off the official PKGBUILD. Added a quick "prepare" function. Could use some revision but seems to work for now. Changed arch to x86_64 and aaarch64.

Please let me know of any issues with my edited PKGBUILD. Again, use at your own risk, this is experimental. https://github.com/MitchMG2/HyprlandPKGBUILDCustom

rpi2 commented on 2023-05-30 00:30 (UTC)

can build 2947 but not 0.26?

UltimateKyle commented on 2023-05-29 01:02 (UTC)

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=hyprland-hidpi-xprop-git#n116

Are there any reasons why this isn't in the PKGBUILD?

eclairevoyant commented on 2023-05-26 05:43 (UTC) (edited on 2023-05-26 06:05 (UTC) by eclairevoyant)

@Brynte builds fine in a clean chroot

@That1Calculator There are some significant issues with this package:

  • Please correct the arch array, any is incorrect due to building C++ code. It should be x86_64 and optionally any other supported architectures.

  • pkgver() should be corrected since upstream does versioned releases, you can use something like the following, which produces a proper version 0.25.0.r60.a2bb95fc:

pkgver() {    
    git -C $_pkgname describe --long --tags | sed 's/^v//;s/\([^-]*-\)g/r\1/;s/-/./g'    
}
  • Looks like LDFLAGS are not correctly passed through to the build process:
hyprland-git W: ELF file ('usr/bin/Hyprland') lacks FULL RELRO, check LDFLAGS.
hyprland-git W: ELF file ('usr/bin/hyprctl') lacks FULL RELRO, check LDFLAGS.
hyprland-git W: ELF file ('usr/lib/libwlroots.so.12032') lacks FULL RELRO, check LDFLAGS.
  • Never set -j$(shell nproc) or -j$(nproc) in a PKGBUILD, you should always respect the user's MAKEFLAGS (with the one exception that you can use -j1 if upstream code doesn't support parallelised builds / there are race conditions)

  • As per guidelines, "Try to keep the line length in the PKGBUILD below ~100 characters." - see https://wiki.archlinux.org/title/Arch_package_guidelines#Package_etiquette

    EDIT: you can refer to hyprland in the repos to see how they handle it, they use pushd/popd pairs for readability and all commands go on separate lines.

  • Submodules should be added to sources and init'd in prepare() so that build() can be run entirely offline. you can refer to https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=libdxvk for an example of how to do this

Brynte commented on 2023-05-04 11:22 (UTC)

Missing python-cmake-build-extension as make dependency

rpi2 commented on 2023-05-01 02:47 (UTC)

build r2852, no issue.

justinesmithies commented on 2023-04-21 19:29 (UTC) (edited on 2023-04-21 19:43 (UTC) by justinesmithies)

[ Issue Found ] - https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3637

This fails to build as of todays updates.

Error shown below relating to PKGBUILD

Found ninja-1.11.1 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
ninja: Entering directory `build/'
[365/422] Compiling C object libwlroots.so.12032.p/xcursor_xcursor.c.o
FAILED: libwlroots.so.12032.p/xcursor_xcursor.c.o 
cc -Ilibwlroots.so.12032.p -I. -I.. -Iinclude -I../include -Iprotocol -I../protocol -Irender/gles2/shaders -Irender/vulkan/shaders -Ibackend/drm -I/usr/include/libdrm -I/usr/include/pixman-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -DWLR_USE_UNSTABLE -DWLR_LITTLE_ENDIAN=1 -DWLR_BIG_ENDIAN=0 -Wundef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough=2 -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wmissing-prototypes -Walloca -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -fmacro-prefix-map=../= -fPIC -MD -MQ libwlroots.so.12032.p/xcursor_xcursor.c.o -MF libwlroots.so.12032.p/xcursor_xcursor.c.o.d -o libwlroots.so.12032.p/xcursor_xcursor.c.o -c ../xcursor/xcursor.c
../xcursor/xcursor.c: In function ‘xcursor_load_theme’:
../xcursor/xcursor.c:597:39: error: ‘%s’ directive output between 7 and 7 bytes may cause result to exceed ‘INT_MAX’ [-Werror=format-truncation=]
  597 |         snprintf(full, full_size, "%s/%s/%s", dir, subdir, file);
      |                                       ^~
......
  765 |                 full = xcursor_build_fullname(dir, "cursors", "");
      |                                                    ~~~~~~~~~
../xcursor/xcursor.c:597:41: error: ‘/’ directive output between 1 and 1 bytes may cause result to exceed ‘INT_MAX’ -Werror=format-truncation=]
  597 |         snprintf(full, full_size, "%s/%s/%s", dir, subdir, file);
      |                                         ^
cc1: all warnings being treated as errors
[382/422] Compiling C object libwlroots.so.12032.p/xwayland_xwm.c.o
ninja: build stopped: subcommand failed.
/home/justine/.cache/paru/clone/hyprland-git/PKGBUILD: line 72: cd: udis86: No such file or directory
make: *** No rule to make target 'protocols'.  Stop.
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'hyprland-git-r2580.71ef1bde-3': 
error: packages failed to build: hyprland-git-r2580.71ef1bde-3

lilydjwg commented on 2023-04-05 11:15 (UTC)

arch=(any) is wrong.

infarni commented on 2023-03-11 10:11 (UTC)

    
        cmake --build ./build --config Release --target all -j4
[61/61] Linking CXX executable Hyprland
FAILED: Hyprland 
: && /usr/bin/c++ -O3 -DNDEBUG -Wl,--export-dynamic -rdynamic  -rdynamic CMakeFiles/Hyprland.dir/src/Compositor.cpp.o CMakeFiles/Hyprland.dir/src/Window.cpp.o CMakeFiles/Hyprland.dir/src/config/ConfigManager.cpp.o CMakeFiles/Hyprland.dir/src/debug/CrashReporter.cpp.o CMakeFiles/Hyprland.dir/src/debug/HyprCtl.cpp.o CMakeFiles/Hyprland.dir/src/debug/HyprDebugOverlay.cpp.o CMakeFiles/Hyprland.dir/src/debug/HyprNotificationOverlay.cpp.o CMakeFiles/Hyprland.dir/src/debug/Log.cpp.o CMakeFiles/Hyprland.dir/src/events/Devices.cpp.o CMakeFiles/Hyprland.dir/src/events/Layers.cpp.o CMakeFiles/Hyprland.dir/src/events/Misc.cpp.o CMakeFiles/Hyprland.dir/src/events/Monitors.cpp.o CMakeFiles/Hyprland.dir/src/events/Popups.cpp.o CMakeFiles/Hyprland.dir/src/events/Windows.cpp.o CMakeFiles/Hyprland.dir/src/helpers/AnimatedVariable.cpp.o CMakeFiles/Hyprland.dir/src/helpers/BezierCurve.cpp.o CMakeFiles/Hyprland.dir/src/helpers/Color.cpp.o CMakeFiles/Hyprland.dir/src/helpers/MiscFunctions.cpp.o CMakeFiles/Hyprland.dir/src/helpers/Monitor.cpp.o CMakeFiles/Hyprland.dir/src/helpers/SubsurfaceTree.cpp.o CMakeFiles/Hyprland.dir/src/helpers/Timer.cpp.o CMakeFiles/Hyprland.dir/src/helpers/Vector2D.cpp.o CMakeFiles/Hyprland.dir/src/helpers/WLClasses.cpp.o CMakeFiles/Hyprland.dir/src/helpers/WLListener.cpp.o CMakeFiles/Hyprland.dir/src/helpers/Workspace.cpp.o CMakeFiles/Hyprland.dir/src/hyprerror/HyprError.cpp.o CMakeFiles/Hyprland.dir/src/init/initHelpers.cpp.o CMakeFiles/Hyprland.dir/src/layout/DwindleLayout.cpp.o CMakeFiles/Hyprland.dir/src/layout/IHyprLayout.cpp.o CMakeFiles/Hyprland.dir/src/layout/MasterLayout.cpp.o CMakeFiles/Hyprland.dir/src/main.cpp.o CMakeFiles/Hyprland.dir/src/managers/AnimationManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/EventManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/HookSystemManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/KeybindManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/LayoutManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/ProtocolManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/SessionLockManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/ThreadManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/XWaylandManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/input/IdleInhibitor.cpp.o CMakeFiles/Hyprland.dir/src/managers/input/InputManager.cpp.o CMakeFiles/Hyprland.dir/src/managers/input/InputMethodRelay.cpp.o CMakeFiles/Hyprland.dir/src/managers/input/Swipe.cpp.o CMakeFiles/Hyprland.dir/src/managers/input/Tablets.cpp.o CMakeFiles/Hyprland.dir/src/managers/input/Touch.cpp.o CMakeFiles/Hyprland.dir/src/plugins/HookSystem.cpp.o CMakeFiles/Hyprland.dir/src/plugins/PluginAPI.cpp.o CMakeFiles/Hyprland.dir/src/plugins/PluginSystem.cpp.o CMakeFiles/Hyprland.dir/src/protocols/FractionalScale.cpp.o CMakeFiles/Hyprland.dir/src/protocols/ToplevelExport.cpp.o CMakeFiles/Hyprland.dir/src/render/Framebuffer.cpp.o CMakeFiles/Hyprland.dir/src/render/OpenGL.cpp.o CMakeFiles/Hyprland.dir/src/render/Renderer.cpp.o CMakeFiles/Hyprland.dir/src/render/Shader.cpp.o CMakeFiles/Hyprland.dir/src/render/Texture.cpp.o CMakeFiles/Hyprland.dir/src/render/decorations/CHyprDropShadowDecoration.cpp.o CMakeFiles/Hyprland.dir/src/render/decorations/CHyprGroupBarDecoration.cpp.o CMakeFiles/Hyprland.dir/src/render/decorations/IHyprWindowDecoration.cpp.o CMakeFiles/Hyprland.dir/src/wlrunstable/wlr_ext_workspace_v1.cpp.o -o Hyprland  -Wl,-rpath,/home/archdrdr/.cache/yay/hyprland-git/src/hyprland/subprojects/wlroots/build  -lxcb  -lsystemd  -lrt  /home/archdrdr/.cache/yay/hyprland-git/src/hyprland/subprojects/wlroots/build/libwlroots.so.12032  -lpixman-1  -lOpenGL  -lGLESv2  -lpthread  /home/archdrdr/.cache/yay/hyprland-git/src/hyprland/ext-workspace-unstable-v1-protocol.o  /home/archdrdr/.cache/yay/hyprland-git/src/hyprland/wlr-foreign-toplevel-management-unstable-v1-protocol.o  /home/archdrdr/.cache/yay/hyprland-git/src/hyprland/hyprland-toplevel-export-v1-protocol.o  /home/archdrdr/.cache/yay/hyprland-git/src/hyprland/fractional-scale-v1-protocol.o  /home/archdrdr/.cache/yay/hyprland-git/src/hyprland/subprojects/udis86/build/libudis86/liblibudis86.a  /usr/lib/libwayland-server.so  /usr/lib/libwayland-client.so  /usr/lib/libwayland-cursor.so  /usr/lib/libcairo.so  /usr/lib/libdrm.so  /usr/lib/libEGL.so  /usr/lib/libxkbcommon.so  /usr/lib/libinput.so && :
/usr/bin/ld: CMakeFiles/Hyprland.dir/src/Compositor.cpp.o: у функції «CCompositor::initServer()»:
Compositor.cpp:(.text+0x10047): невизначене посилання «wlr_drm_lease_v1_manager_create»
/usr/bin/ld: CMakeFiles/Hyprland.dir/src/events/Misc.cpp.o: у функції «Events::listener_leaseRequest(wl_listener*, void*)»:
Misc.cpp:(.text+0x6a8): невизначене посилання «wlr_drm_lease_request_v1_grant»
/usr/bin/ld: Misc.cpp:(.text+0x6ce): невизначене посилання «wlr_drm_lease_request_v1_reject»
/usr/bin/ld: CMakeFiles/Hyprland.dir/src/helpers/Monitor.cpp.o: у функції «CMonitor::onConnect(bool)»:
Monitor.cpp:(.text+0x1855): невизначене посилання «wlr_backend_is_drm»
/usr/bin/ld: Monitor.cpp:(.text+0x209c): невизначене посилання «wlr_drm_lease_v1_manager_offer_output»