PKGBUILDs/community/neovim/PKGBUILD
2022-06-30 12:45:22 +00:00

73 lines
2.8 KiB
Bash

# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Maintainer: Caleb Maclennan <caleb@alerque.com>
# Contributor: Florian Walch <florian+aur@fwalch.com>
# Contributor: Florian Hahn <flo@fhahn.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - -DENABLE_LTO=OFF
pkgname=neovim
pkgver=0.7.2
pkgrel=3
pkgdesc='Fork of Vim aiming to improve user experience, plugins, and GUIs'
arch=('x86_64')
url='https://neovim.io'
backup=('etc/xdg/nvim/sysinit.vim')
license=('custom:neovim')
provides=('vim-plugin-runtime')
depends=('libtermkey' 'libuv' 'msgpack-c' 'unibilium' 'libvterm01' 'luajit' 'libluv' 'tree-sitter')
makedepends=('cmake' 'ninja' 'lua51-mpack' 'lua51-lpeg' 'gperf' 'patchelf')
optdepends=('python-neovim: for Python 3 plugin support (see :help python)'
'xclip: for clipboard support on X11 (or xsel) (see :help clipboard)'
'xsel: for clipboard support on X11 (or xclip) (see :help clipboard)'
'wl-clipboard: for clipboard support on wayland (see :help clipboard)')
options=(debug)
source=("https://github.com/neovim/neovim/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
sha512sums=('04d0fa5b23018531b70b53271821bf6944cde1bcec2210b99f5888e1339cd38f57feaa8e40874a3a504930e6614980947f31852185cbcd2ce106a0867896dd79')
build() {
# Neovim does not support libvterm 0.2 yet
export PKG_CONFIG_PATH="/usr/lib/libvterm01/pkgconfig"
# Neovim breaks with GCC 12
# https://github.com/neovim/neovim/issues/19125
CFLAGS+=" -fno-strict-aliasing"
cmake \
-Bbuild \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_LTO=OFF \
-W no-dev \
-S neovim-$pkgver
cmake --build build --verbose
}
check() {
./build/bin/nvim --version
./build/bin/nvim --headless -u NONE -i NONE -c ':quit'
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm644 neovim-$pkgver/LICENSE.txt -t "${pkgdir}/usr/share/licenses/${pkgname}/"
install -Dm644 neovim-$pkgver/runtime/nvim.desktop -t "${pkgdir}/usr/share/applications/"
install -Dm644 neovim-$pkgver/runtime/nvim.appdata.xml -t "${pkgdir}/usr/share/metainfo/"
install -Dm644 neovim-$pkgver/runtime/nvim.png -t "${pkgdir}/usr/share/pixmaps/"
# Make Arch vim packages work
mkdir -p "${pkgdir}"/etc/xdg/nvim
echo "\" This line makes pacman-installed global Arch Linux vim packages work." > "${pkgdir}"/etc/xdg/nvim/sysinit.vim
echo "source /usr/share/nvim/archlinux.vim" >> "${pkgdir}"/etc/xdg/nvim/sysinit.vim
mkdir -p "${pkgdir}"/usr/share/vim
echo "set runtimepath+=/usr/share/vim/vimfiles" > "${pkgdir}"/usr/share/nvim/archlinux.vim
# NOTE: this is very ugly and needs to be removed as soon as neovim supports libvterm >= 0.2.0
# (both libvterm01 and libvterm provide libvterm.so.0)
patchelf --add-rpath '/usr/lib/libvterm01' "$pkgdir/usr/bin/nvim"
}
# vim:set ft=sh sw=2 sts=2 et: