Introduksjon til Hypr Biblioteker
Hypr bibliotekene tilbyr nødvendige verktøy for hele Hypr
økosystemet. Selv om tre av pakkene som er installert på denne
siden ikke er strengt nødvendige (hyprtoolkit, hyprland-qt-support
og hyprland-guiutils), er de nødvendige for noen dialogbokser, og
denne boken forutsetter at du har bygget dem.
Viktig
Det er kjent at oppdatering av denne pakken ødelegger ABI.
Notat
Dette kan ta litt tid å bygge. Gjør gjerne noe annet mens dette
bygges.
Hypr Biblioteker Avhengigheter
Påkrevd
Cairo,
CMake,
GBM (libgbm
eller Mesa),
Glslang,
libdisplay-info, libdrm,
libinput,
libjxl,
libpng,
librsvg,
libwebp,
libzip-1.11.4, OpenGL + EGL + GLESv2 (libglvnd
eller Mesa; Mesa's
GL is not supported), Pixman,
pugixml-1.15, Qt-6,
seatd-0.9.1, toml++-3.4.0, Wayland,
og
Wayland-Protocols
Anbefalt
Oppstartsfilene
til Bash Skallet og hwdata
Laste ned Hypr Biblioteker
Lag først en liste over filer som skal lastes ned:
cat > hypr-list << "EOF"
hyprland-protocols/archive/v0.7.0/hyprland-protocols-v0.7.0.tar.gz
hyprutils/archive/v0.10.2/hyprutils-v0.10.2.tar.gz
hyprlang/archive/v0.6.6/hyprlang-v0.6.6.tar.gz
hyprcursor/archive/v0.1.13/hyprcursor-v0.1.13.tar.gz
hyprwayland-scanner/archive/v0.4.5/hyprwayland-scanner-v0.4.5.tar.gz
aquamarine/archive/v0.9.5/aquamarine-v0.9.5.tar.gz
hyprgraphics/archive/v0.3.0/hyprgraphics-v0.3.0.tar.gz
hyprtoolkit/archive/v0.3.0/hyprtoolkit-v0.3.0.tar.gz
hyprland-qt-support/archive/v0.1.0/hyprland-qt-support-v0.1.0.tar.gz
hyprland-guiutils/archive/v0.1.0/hyprland-guiutils-v0.1.0.tar.gz
EOF
For å laste ned de nødvendige filene ved hjelp av Wget,
bruk følgende kommandoer:
mkdir hyprlib &&
cd hyprlib &&
grep -v '^#' ../hypr-list | wget -i- -c \
-B https://github.com/hyprwm/
Installasjon av Hypr Biblioteker
Opprett /etc/profile.d/hypr.sh for å
sikre at QML filer kan lastes inn og importeres som root bruker:
cat > /etc/profile.d/hypr.sh << "EOF"
# Begin /etc/profile.d/hypr.sh
pathappend /usr/lib/plugins QT_PLUGIN_PATH
pathappend $QT6DIR/lib/plugins QT_PLUGIN_PATH
pathappend /usr/lib/qt6/qml QML2_IMPORT_PATH
pathappend $QT6DIR/lib/qml QML2_IMPORT_PATH
# End /etc/profile.d/hypr.sh
EOF
Nå henter du hovedprofilen:
source /etc/profile
Notat
Når du installerer flere pakker i et skript, må installasjonen
gjøres som root bruker. Det finnes tre generelle alternativer som
kan brukes til å gjøre dette:
-
Kjør hele skriptet som root bruker (ikke anbefalt).
-
Bruk sudo
kommandoen fra sudo pakken.
-
Use su -c "command
arguments" (anførselstegn kreves) som vil
be om root passordet for hver iterasjon av løkken.
En måte å håndtere denne situasjonen på er å lage en kort
bash funksjon som
automatisk velger riktig metode. Når kommandoen er satt i
miljøet, trenger den ikke å settes på nytt.
as_root()
{
if [ $EUID = 0 ]; then $*
elif [ -x /usr/bin/sudo ]; then sudo $*
else su -c \\"$*\\"
fi
}
export -f as_root
Deretter starter du et underskall som avsluttes ved feil:
bash -e
Installer alle pakkene ved å kjøre følgende kommandoer:
for package in $(grep -v '^#' ../hypr-list)
do
package=$(basename "$package")
packagedir=${package%.tar.?z*}
packagedir=$(echo -n "$packagedir" | sed 's/-v\([0-9]\)/-\1/')
echo "Building $packagedir"
tar -xf $package
pushd $packagedir
case $packagedir in
hyprland-protocols-[0-9]* )
mkdir build
cd build
meson setup --prefix=/usr ..
;;
* )
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_SKIP_INSTALL_RPATH=ON \
-D INSTALL_QML_PREFIX=/lib/qt6/qml \
-D DISABLE_TESTS=ON \
-D BUILD_TESTING=OFF \
-W no-dev -G Ninja ..
;;
esac
ninja
as_root ninja install
popd
rm -rf $packagedir
as_root /sbin/ldconfig
done
Til slutt, avslutt skallet som ble startet tidligere:
exit
Parameterforklaringer
-D
CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at
cmake fjerner
hardkodede biblioteksøk stier (rpath) når du installerer en binær
kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke
rpath når den er installert på standard plassering, og rpath kan
noen ganger forårsake uønskede effekter eller til og med
sikkerhetsproblemer.
Innhold
Installerte Programmer:
hyprcursor-util, hyprland-dialog,
hyprland-donate-screen, hyprland-update-screen, og
hyprwayland-scanner
Installerte Biblioteker:
libaquamarine, libhyprcursor,
libhyprgraphics, libhyprland-quick-style-implplugin,
libhyprland-quick-style-impl, libhyprland-quick-styleplugin,
libhyprland-quick-style, libhyprlang, libhyprtoolkit, og
libhyprutils
Installerte Mapper:
/usr/include/{aquamarine,hypr{cursor,graphics,toolkit,utils}},
/usr/lib/cmake/hyprwayland-scanner,
/usr/lib/qt6/qml/org/hyprland/style, og
/usr/share/hyprland-protocols
Korte Beskrivelser
|
hyprcursor-util
|
kompilerer, pakker og pakker ut hyprcursor og xcursor
temaer
|
|
hyprland-dialog
|
viser visse dialoger ved bruk av Qt-6
|
|
hyprland-donate-screen
|
viser en popup-boks som ber brukerne om å donere ved
hjelp av Qt-6
|
|
hyprland-update-screen
|
viser en popup-boks som ber brukerne om å oppdatere ved
hjelp av Qt-6
|
|
hyprwayland-scanner
|
genererer C++-kode fra Wayland protokollens XML filer
|
|
libaquamarine
|
tilbyr API funksjoner for rendering av bakstykket
|
|
libhyprcursor
|
tilbyr API funksjoner for hyprcursor formatet
|
|
libhyprgraphics
|
tilbyr grafikkverktøyfunksjoner for Hypr økosystemet
|
|
libhyprland-quick-style-implplugin
|
er Hyprland Quick Style IMPL programtillegget
|
|
libhyprland-quick-style-impl
|
er Hyprland Quick Style IMPL biblioteket
|
|
libhyprland-quick-styleplugin
|
er Hyprland Quick Style programtillegget
|
|
libhyprland-quick-style
|
er Hyprland Quick Style biblioteket
|
|
libhyprlang
|
tilbyr funksjoner for å analysere og bruke Hypr
konfigurasjonsspråket
|
|
libhyprtoolkit
|
tilbyr GUI verktøysettfunksjoner for bruk med noen Hypr
pakker
|
|
libhyprutils
|
tilbyr nyttefunksjoner for Hypr økosystemet
|