mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 05:05:00 -07:00
fbb27a101f
libtool, autoconf, automake and perl are no longer dependencies of neovim and doesn't need to be installed in CI anymore. The dependencies and the commit that removed them as dependencies are the following: libtool:b05100a9ea
perl:20a932cb72
autoconf+automake:e23c5fda0a
86 lines
3.4 KiB
YAML
86 lines
3.4 KiB
YAML
name: nvim
|
|
base: core18
|
|
adopt-info: nvim
|
|
summary: Vim-fork focused on extensibility and agility.
|
|
description: |
|
|
Neovim is a project that seeks to aggressively refactor Vim in order to:
|
|
|
|
Simplify maintenance and encourage contributions
|
|
Split the work between multiple developers
|
|
Enable the implementation of new/modern user interfaces without any modifications to the core source
|
|
Improve extensibility with a new plugin architecture
|
|
For lots more details, see the wiki!
|
|
|
|
grade: stable # must be 'stable' to release into candidate/stable channels
|
|
confinement: classic
|
|
|
|
apps:
|
|
nvim:
|
|
command: usr/bin/nvim
|
|
environment:
|
|
HOME: /home/$USER
|
|
VIM: $SNAP/usr/share/nvim
|
|
VIMRUNTIME: $SNAP/usr/share/nvim/runtime
|
|
desktop: usr/share/applications/nvim.desktop
|
|
|
|
parts:
|
|
nvim:
|
|
source: https://github.com/neovim/neovim.git
|
|
override-pull: |
|
|
snapcraftctl pull
|
|
latest_tag="$(git tag -l --sort=refname|head -1)"
|
|
git checkout "${latest_tag}"
|
|
major="$(awk '/NVIM_VERSION_MAJOR/{gsub(")","",$2); print $2}' CMakeLists.txt)"
|
|
minor="$(awk '/NVIM_VERSION_MINOR/{gsub(")","",$2); print $2}' CMakeLists.txt)"
|
|
patch="$(awk '/NVIM_VERSION_PATCH/{gsub(")","",$2); print $2}' CMakeLists.txt)"
|
|
version_prefix="v$major.$minor.$patch"
|
|
git_described="$(git describe --first-parent --dirty 2> /dev/null | perl -lpe 's/v\d.\d.\d-//g')"
|
|
git_described="${git_described:-$(git describe --first-parent --tags --always --dirty)}"
|
|
if [ "${version_prefix}" != "${git_described}" ]; then
|
|
VERSION="${version_prefix}-${git_described}-${latest_tag}"
|
|
else
|
|
VERSION="${version_prefix}-${latest_tag}"
|
|
fi
|
|
snapcraftctl set-version "${VERSION}"
|
|
plugin: make
|
|
make-parameters:
|
|
- CMAKE_BUILD_TYPE=RelWithDebInfo
|
|
- CMAKE_INSTALL_PREFIX=/usr
|
|
- CMAKE_FLAGS=-DPREFER_LUA=ON
|
|
- DEPS_CMAKE_FLAGS="-DUSE_BUNDLED_LUA=ON -DUSE_BUNDLED_LUAJIT=OFF"
|
|
override-build: |
|
|
echo "Building on $SNAP_ARCH"
|
|
set -x
|
|
case "$SNAP_ARCH" in
|
|
"arm64" | "ppc64el" | "s390x")
|
|
make -j"${SNAPCRAFT_PARALLEL_BUILD_COUNT}" \
|
|
CMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
CMAKE_INSTALL_PREFIX=/usr \
|
|
CMAKE_FLAGS=-DPREFER_LUA=ON \
|
|
DEPS_CMAKE_FLAGS="-DUSE_BUNDLED_LUA=ON -DUSE_BUNDLED_LUAJIT=OFF"
|
|
;;
|
|
*)
|
|
make -j"${SNAPCRAFT_PARALLEL_BUILD_COUNT}" \
|
|
CMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
CMAKE_INSTALL_PREFIX=/usr
|
|
;;
|
|
esac
|
|
make DESTDIR="$SNAPCRAFT_PART_INSTALL" install
|
|
# Fix Desktop file
|
|
sed -i 's|^Exec=nvim|Exec=/snap/bin/nvim.nvim|' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/nvim.desktop
|
|
sed -i 's|^TryExec=nvim|TryExec=/snap/bin/nvim.nvim|' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/nvim.desktop
|
|
sed -i 's|^Icon=.*|Icon=${SNAP}/usr/share/icons/hicolor/128x128/apps/nvim.png|' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/nvim.desktop
|
|
build-packages:
|
|
- ninja-build
|
|
- cmake
|
|
- gawk
|
|
- g++
|
|
- git
|
|
- gettext
|
|
- pkg-config
|
|
- unzip
|
|
- wget
|
|
prime:
|
|
- -usr/share/man
|
|
|