#!/bin/bash # variables GITHUB_REPO=swaywm/sway VERSION=${VERSION:-"latest"} BUILD=4 TAG=gwh OUTPUT=/tmp TMP=/tmp/$TAG CWD=$(pwd) PRGNAM=$(basename $CWD) PKG=$TMP/pkg-$PRGNAM ARCH=$(uname -m) REPOSITORY=/home/installs/SlackBuilds/_repositories/$PRGNAM PREFIX=/usr # nettoyage préalable rm -fr $PKG $TMP/$PRGNAM mkdir -p $PKG # mise en place [ ! -e $REPOSITORY ] && git clone https://github.com/${GITHUB_REPO} $REPOSITORY cd $REPOSITORY git pull --all cp -R $REPOSITORY $TMP/ cd $TMP/$PRGNAM/ case $VERSION in trunk) VERSION="git_$(git log -1 --format=%h_%ad --date=format:%Y.%m.%d)" ;; latest) VERSION=$(git for-each-ref --sort=taggerdate --format '%(tag)' | tail -n1) git checkout $VERSION ;; *) git checkout $VERSION ;; esac for p in $CWD/patches/*.patch; do git am $p done # Slackware ships meson 0.59.4 and won't move to 0.60.x for the time being # sed -i 's|0.60|0.59|' meson.build # -current now has 0.62.x meson setup \ --prefix /usr \ --mandir /usr/man/ \ -Dsd-bus-provider=libelogind \ -Dstrip=true \ -Ddefault-wallpaper=true \ -Dswaybar=true \ -Dxwayland=enabled \ -Dtray=enabled \ -Dgdk-pixbuf=enabled \ -Dswaynag=true \ -Dbash-completions=true \ -Dzsh-completions=true \ -Dfish-completions=true \ build/ ninja -C build/ cd build/ meson install --destdir=$PKG cd ../ # https://github.com/swaywm/sway/wiki/Running-Sway-without-systemd chmod +s $PKG$PREFIX/bin/sway cat < $PKG$PREFIX/bin/start_sway.sh #!/bin/bash set -e export QT_QPA_PLATFORMTHEME=qt5ct export QT_QPA_PLATFORM=wayland-egl export QT_WAYLAND_FORCE_DPI=physical export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 export QT_AUTO_SCREEN_SCALE_FACTOR=0 export QT_AUTO_SCREEN_SCALE_FACTOR=0 #export QT_FONT_DPI=161 export QT_SCALE_FACTOR=2 export SAL_USE_VCLPLUGIN=gtk3 export MOZ_ENABLE_WAYLAND=1 export MOZ_DBUS_REMOTE=1 export _JAVA_AWT_WM_NONREPARENTING=1 export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland #export XDG_CURRENT_DESKTOP=sway export XDG_CURRENT_DESKTOP=Unity # for waybar's tray export XDG_SESSION_TYPE=wayland export NO_AT_BRIDGE=1 export \$(gnome-keyring-daemon --start --components=ssh) # java fix export _JAVA_AWT_WM_NONREPARENTING=1 export ECORE_EVAS_ENGINE=wayland_egl export ELM_ENGINE=wayland_egl # SDL [https://www.reddit.com/r/swaywm/comments/s8kiz6/common_swaywayland_fixes_for_steam_games/] export SDL_DYNAMIC_API=/usr/lib64/libSDL2.so export SDL_VIDEODRIVER=wayland #[ -e \$HOME/.profile ] && . \$HOME/.profile unset DISPLAY export XDG_RUNTIME_DIR=/tmp/xdg-runtime-\$(id -u) mkdir -p \$XDG_RUNTIME_DIR chmod 0700 \$XDG_RUNTIME_DIR export LIBSEAT_BACKEND=logind # Décommenter s'il n'y a pas de curseur souris visible #export WLR_NO_HARDWARE_CURSORS=1 export SWAYSOCK=/run/user/\$(id -u)/sway-ipc.\$(id -u).\$(pgrep -x sway).sock exec dbus-run-session sway EOF chmod +x $PKG$PREFIX/bin/start_sway.sh sed -i 's|Exec=sway|Exec=/usr/bin/start_sway.sh|' $PKG$PREFIX/share/wayland-sessions/sway.desktop mkdir -p $PKG$PREFIX/doc/$PRGNAM cp LICENSE *.md $PKG$PREFIX/doc/$PRGNAM/ # correction cd $PKG chown -R root:root * [ -d $PKG$PREFIX/man ] && find $PKG$PREFIX/man -name "*.?" -type f -exec gzip -9 {} \; # embaumement mkdir -p $PKG/install cat < $PKG/install/slack-desc # HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' # on the right side marks the last column you can put a character in. You must # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| $PRGNAM: $PRGNAM (i3-compatible Wayland compositor) $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: https://github.com/${GITHUB_REPO} EOF # empaquetage rm -f $PKG/{,usr/}lib$(uname -m | grep -o 64)/*.la /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD$TAG.txz