-
Notifications
You must be signed in to change notification settings - Fork 344
Maintainers Packaging
Arch Linux:
sudo pacman -S base-devel cmake libsystemd zlib libpulse libxcb xcb-util-wm qt6-base quazip-qt6 qt6-tools qt6-wayland gitDebian/Ubuntu (24.04+):
sudo apt install build-essential cmake qt6-base-dev libudev-dev zlib1g-dev libpulse-dev libquazip1-qt6-dev qt6-tools-dev qt6-wayland-dev libxcb-screensaver0-dev libxcb-ewmh-dev libxcb1-dev wayland-protocolsDebian/Ubuntu (20.04, 22.04):
sudo apt install build-essential cmake libudev-dev qtbase5-dev zlib1g-dev libpulse-dev libquazip5-dev libqt5x11extras5-dev libxcb-screensaver0-dev libxcb-ewmh-dev libxcb1-dev qttools5-dev git libdbusmenu-qt5-devFedora:
sudo dnf install gcc gcc-c++ make cmake git glibc libxcb-devel make pulseaudio-libs-devel qt6-linguist qt6-qttools-devel qt6-qtbase-devel quazip-qt6-devel qt6-qtwayland-devel systemd-devel xcb-util-devel xcb-util-wm-devel zlib-devel wayland-protocols-devel wayland-develIf the above returns nothing provides pkgconfig, make sure exclude=xorg-x11* is commented or removed in /etc/dnf/dnf.conf
OpenSUSE:
sudo zypper install gcc gcc-c++ make cmake linux-glibc-devel zlib-devel libqt5-qtbase-devel systemd-devel libpulse-devel quazip-qt5-devel libudev-devel libqt5-linguist-devel git libdbusmenu-qt5-devel libxcb-devel xcb-util-wm-devel libqt5-qtx11extras-develgit clone https://github.com/ckb-next/ckb-next.git && cd ckb-next
./quickinstallIf you built ckb-next from source using quickinstall, and haven't deleted the previous ckb-next folder, you can use
cd ckb-next
sudo cmake --build build --target uninstallIf you used quickinstall, but no longer have the original folder, you can re-run quickinstall using the instructions above, and then after it finishes, simply run
sudo cmake --build build --target uninstallIf you ran cmake manually, you should recall all -DOPTION=VALUE flags (if any) you have used, build the install target and then build the uninstall target. For example:
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DSAFE_INSTALL=ON -DSAFE_UNINSTALL=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBEXECDIR=lib
cmake --build build --target all -- -j 4
sudo cmake --build build --target install
sudo cmake --build build --target uninstallThe compilation and installation steps are required because install target generates an install manifest that later allows to determine which files to remove and what is their location.
You can run the following command to delete any files that may exist from older versions of ckb. It is normal for some errors (no such file or directory) to show up.
sudo rm -r /usr/bin/ckb /usr/lib/systemd/system/ckb-daemon.service /etc/init/ckb-daemon.conf /etc/init.d/ckb-daemon /usr/bin/ckb-daemon /usr/bin/ckb-animations /usr/lib/animations /usr/share/applications/ckb.desktop /usr/local/share/applications/ckb.desktop /usr/share/icons/hicolor/512x512/apps/ckb.png /usr/local/share/icons/hicolor/512x512/apps/ckb.pngFirst, search for the installed package and click on it. In this case it's ckb-next-git.

Then, click on the Build button.

On the bottom right of the window, click on Apply.

Finally, click on Apply again in the new window that popped up.

You can run:
yay --rebuildall -S ckb-next-git
A clean build is usually not required.
If you haven't deleted the cloned repository directory (ckb-next, ckb-next-git), then you can simply cd into it and run makepkg -f -i to rebuild and reinstall the package.
If the original directory has been deleted, then you can clone and re-run makepkg as usual.