Add FreeBSD instructions to Installation page (#84)

* Installation: document FreeBSD packages

* Installation: document FreeBSD dependencies

* Installation: document libc++ may not support C++23
This commit is contained in:
Jan Beich 2022-12-20 16:09:42 +00:00 committed by GitHub
parent 18fa6d91b9
commit 7d6bea998c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -67,11 +67,19 @@ emaint sync -r wayland-desktop
emerge --ask --verbose hyprland emerge --ask --verbose hyprland
``` ```
{{</ tab >}}
{{< tab "FreeBSD" >}}
Hyprland and related are in the default repository:
- [hyprland](https://www.freshports.org/x11-wm/hyprland)
- [hyprpaper](https://www.freshports.org/x11/hyprpaper)
- [hyprpicker](https://www.freshports.org/x11/hyprpicker)
- [xdg-desktop-portal-hyprland](https://www.freshports.org/x11/xdg-desktop-portal-hyprland)
- [Other Wayland stuff](https://www.freshports.org/wayland/)
{{</ tab >}} {{</ tab >}}
{{< /tabs >}} {{< /tabs >}}
### Manual (Releases) ### Manual (Releases, Linux-only)
Download the most recent release. Download the most recent release.
@ -107,12 +115,22 @@ zypper in gcc-c++ git meson cmake "pkgconfig(cairo)" "pkgconfig(egl)" "pkgconfig
(this should also work on RHEL/Fedora if you remove `Mesa-libGLESv3-devel` and `pkgconfig(xcb-errors)`) (this should also work on RHEL/Fedora if you remove `Mesa-libGLESv3-devel` and `pkgconfig(xcb-errors)`)
_FreeBSD dependencies_:
```plain
pkg install git pkgconf gmake gcc evdev-proto cmake wayland-protocols wayland libglvnd libxkbcommon libinput cairo pixman libxcb
pkg install meson `pkg rquery %dn wlroots`
export CC=gcc CXX=g++ LDFLAGS="-static-libstdc++ -static-libgcc"
```
Please note Hyprland builds `wlroots`. Make sure you have the dependencies of Please note Hyprland builds `wlroots`. Make sure you have the dependencies of
wlroots installed, you can make sure you have them by installing wlroots wlroots installed, you can make sure you have them by installing wlroots
separately (Hyprland doesn't mind) separately (Hyprland doesn't mind)
Also note that Hyprland uses the C++23 standard, so your compiler has to support Also note that Hyprland uses the C++23 standard, so both your compiler
that (`gcc>=12.1.0` or `clang>=15`) and your C++ library has to support that (`gcc>=12.1.0` or `clang>=15`).
On Clang-based systems libc++ may be used by default, so until libc++
supports C++23 you have to pass `-stdlib=libstdc++` or switch to GCC.
### CMake (recommended) ### CMake (recommended)