pkgbase=vim
pkgname=('vim' 'vim-runtime')
pkgver=9.0.1678
_versiondir=90
pkgrel=1
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
url='https://www.vim.org'
arch=('x86_64' 'x86_64_v3')
license=('custom:vim')
makedepends=('glibc' 'libgcrypt' 'gpm' 'python' 'ruby' 'libxt' 'gtk3' 'lua'
'gawk' 'tcl' 'zlib' 'libcanberra')
source=(https://github.com/vim/vim/archive/v${pkgver}/${pkgbase}-${pkgver}.tar.gz fix-perl-build.patch
vimrc
archlinux.vim
vimdoc.hook)
sha256sums=('e0b52a997b4f6180c5d8a5dae717075d99650c3e2e7761d1878a3dd7011ec315'
'f79c2afd26bbe0b21375293203d8f0e8dad2424146014ceafc4e8eca6ecf7d39'
'b16e85e457397ab2043a7ee0a3c84307c6b4eac157fd0b721694761f25b3ed5b'
'cc3d931129854c298eb22e993ec14c2ad86cc1e70a08a64496f5e06559289972'
'8e9656934d9d7793063230d15a689e10455e6db9b9fe73afa0f294792795d8ae')
sha512sums=('c5ffb7ca56ff4eee70f06599dd84db2eb28ddadac229d4f7faf01174805923636a4ce61486bdf5a47910c929613dc9b9290dfc9288006222b4bc4ac891548bb8'
'184dd232db5b4a346e9751e58ad0a9b2f60d50d1a2aa2050415d288445606d80c239745f0d8987ff822d2acf6826104a81f8e59c8f1785095d1f319c0fe4abf0'
'4b5bed0813f22af9e158ea9aa56a4a9862dd786ba2d201f20159ccf652da6190164aaed0b6b7217d578f7b25c33a8adcc307bfcf3caa8d173a7ff29e2a00fee7'
'fe091d289d876f45319c898f6021ef86d6a238b540c225a279c46efc5c36fa7d868cd0cee73a111811c4be90df160f85340bb251be3a437727dbe5c699950363'
'a02ad0d66f300160911aeb81d8886c6c558436ac4ee3fcd161dd65c6b1e5d1f41b9005a7f5bb5ba68d57027fc1c8e43daabf055bd6207fb5a216a67f758df8d1')
prepare() {
(cd vim-${pkgver}/src
patch -Np2 -i ../../fix-perl-build.patch
# define the place for the global (g)vimrc file (set to /etc/vimrc)
sed -E 's|^.*(#define SYS_.*VIMRC_FILE.*").*$|\1|g' -i feature.h
sed -E 's|^.*(#define VIMRC_FILE.*").*$|\1|g' -i feature.h
autoconf
)
cp -a vim-${pkgver} gvim-${pkgver}
}
build() {
echo "Building vim..."
(cd vim-${pkgver}
./configure \
--prefix=/usr \
--localstatedir=/var/lib/vim \
--with-features=huge \
--with-compiledby='Arch Linux' \
--enable-gpm \
--enable-acl \
--with-x=yes \ # 这里改为 yes
--disable-gui \
--enable-multibyte \
--enable-cscope \
--enable-netbeans \
--enable-perlinterp=dynamic \
--enable-python3interp=dynamic \
--enable-rubyinterp=dynamic \
--enable-luainterp=dynamic \
--enable-tclinterp=dynamic \
--disable-canberra
make
)
}
check() {
cd vim-${pkgver}
TERM=xterm make -j1 test
}
package_vim-runtime() {
pkgdesc+=' (shared runtime)'
optdepends=('sh: support for some tools and macros'
'python: demoserver example tool'
'gawk: mve tools upport')
backup=('etc/vimrc')
cd vim-${pkgver}
make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
# man and bin files belong to 'vim'
rm -r "${pkgdir}"/usr/share/man/ "${pkgdir}"/usr/bin/
# Don't forget logtalk.dict
install -Dm 644 runtime/ftplugin/logtalk.dict \
"${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/logtalk.dict
# rc files
install -Dm 644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
install -Dm 644 "${srcdir}"/archlinux.vim \
"${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim
# no desktop files and icons
rm -r "${pkgdir}"/usr/share/{applications,icons}
# license
install -dm 755 "${pkgdir}"/usr/share/licenses/vim-runtime
ln -s /usr/share/vim/vim${_versiondir}/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/vim-runtime/license.txt
# pacman hook for documentation helptags
install -Dm 644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook
}
package_vim() {
# TODO: move perl back into optdeps after --enable-perlinterp=dynamic
# starts working again (https://github.com/vim/vim/issues/10512)
depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'acl' 'glibc' 'libgcrypt' 'zlib' 'perl')
optdepends=('python: Python language support'
'ruby: Ruby language support'
'lua: Lua language support'
#'perl: Perl language support'
'tcl: Tcl language support')
conflicts=('gvim' 'vim-minimal')
provides=('xxd' 'vim-minimal' 'vim-plugin-runtime')
replaces=('vim-minimal')
cd vim-${pkgver}
make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
# provided by (n)vi in core
rm "${pkgdir}"/usr/bin/{ex,view}
# delete some manpages
find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \
while read _mandir; do
cd "${_mandir}"
rm -f ex.1 view.1 # provided by (n)vi
rm -f evim.1 # this does not make sense if we have no GUI
done
# Runtime provided by runtime package
rm -r "${pkgdir}"/usr/share/vim
# remove gvim.desktop as not included
rm "${pkgdir}"/usr/share/applications/gvim.desktop
# license
install -Dm 644 runtime/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
}
# vim: ts=2 sw=2 et:
pkgbase=vim
pkgname=('vim' 'vim-runtime')
pkgver=9.0.1678
_versiondir=90
pkgrel=1
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
url='https://www.vim.org'
arch=('x86_64' 'x86_64_v3')
license=('custom:vim')
makedepends=('glibc' 'libgcrypt' 'gpm' 'python' 'ruby' 'libxt' 'gtk3' 'lua'
'gawk' 'tcl' 'zlib' 'libcanberra')
source=(https://github.com/vim/vim/archive/v${pkgver}/${pkgbase}-${pkgver}.tar.gz fix-perl-build.patch
vimrc
archlinux.vim
vimdoc.hook)
sha256sums=('e0b52a997b4f6180c5d8a5dae717075d99650c3e2e7761d1878a3dd7011ec315'
'f79c2afd26bbe0b21375293203d8f0e8dad2424146014ceafc4e8eca6ecf7d39'
'b16e85e457397ab2043a7ee0a3c84307c6b4eac157fd0b721694761f25b3ed5b'
'cc3d931129854c298eb22e993ec14c2ad86cc1e70a08a64496f5e06559289972'
'8e9656934d9d7793063230d15a689e10455e6db9b9fe73afa0f294792795d8ae')
sha512sums=('c5ffb7ca56ff4eee70f06599dd84db2eb28ddadac229d4f7faf01174805923636a4ce61486bdf5a47910c929613dc9b9290dfc9288006222b4bc4ac891548bb8'
'184dd232db5b4a346e9751e58ad0a9b2f60d50d1a2aa2050415d288445606d80c239745f0d8987ff822d2acf6826104a81f8e59c8f1785095d1f319c0fe4abf0'
'4b5bed0813f22af9e158ea9aa56a4a9862dd786ba2d201f20159ccf652da6190164aaed0b6b7217d578f7b25c33a8adcc307bfcf3caa8d173a7ff29e2a00fee7'
'fe091d289d876f45319c898f6021ef86d6a238b540c225a279c46efc5c36fa7d868cd0cee73a111811c4be90df160f85340bb251be3a437727dbe5c699950363'
'a02ad0d66f300160911aeb81d8886c6c558436ac4ee3fcd161dd65c6b1e5d1f41b9005a7f5bb5ba68d57027fc1c8e43daabf055bd6207fb5a216a67f758df8d1')
prepare() {
(cd vim-${pkgver}/src
patch -Np2 -i ../../fix-perl-build.patch
# define the place for the global (g)vimrc file (set to /etc/vimrc)
sed -E 's|^.*(#define SYS_.*VIMRC_FILE.*").*$|\1|g' -i feature.h
sed -E 's|^.*(#define VIMRC_FILE.*").*$|\1|g' -i feature.h
autoconf
)
cp -a vim-${pkgver} gvim-${pkgver}
}
build() {
echo "Building vim..."
(cd vim-${pkgver}
./configure \
--prefix=/usr \
--localstatedir=/var/lib/vim \
--with-features=huge \
--with-compiledby='Arch Linux' \
--enable-gpm \
--enable-acl \
--with-x=yes \ # 这里改为 yes
--disable-gui \
--enable-multibyte \
--enable-cscope \
--enable-netbeans \
--enable-perlinterp=dynamic \
--enable-python3interp=dynamic \
--enable-rubyinterp=dynamic \
--enable-luainterp=dynamic \
--enable-tclinterp=dynamic \
--disable-canberra
make
)
}
check() {
cd vim-${pkgver}
TERM=xterm make -j1 test
}
package_vim-runtime() {
pkgdesc+=' (shared runtime)'
optdepends=('sh: support for some tools and macros'
'python: demoserver example tool'
'gawk: mve tools upport')
backup=('etc/vimrc')
cd vim-${pkgver}
make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
# man and bin files belong to 'vim'
rm -r "${pkgdir}"/usr/share/man/ "${pkgdir}"/usr/bin/
# Don't forget logtalk.dict
install -Dm 644 runtime/ftplugin/logtalk.dict \
"${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/logtalk.dict
# rc files
install -Dm 644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
install -Dm 644 "${srcdir}"/archlinux.vim \
"${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim
# no desktop files and icons
rm -r "${pkgdir}"/usr/share/{applications,icons}
# license
install -dm 755 "${pkgdir}"/usr/share/licenses/vim-runtime
ln -s /usr/share/vim/vim${_versiondir}/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/vim-runtime/license.txt
# pacman hook for documentation helptags
install -Dm 644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook
}
package_vim() {
# TODO: move perl back into optdeps after --enable-perlinterp=dynamic
# starts working again (https://github.com/vim/vim/issues/10512)
depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'acl' 'glibc' 'libgcrypt' 'zlib' 'perl')
optdepends=('python: Python language support'
'ruby: Ruby language support'
'lua: Lua language support'
#'perl: Perl language support'
'tcl: Tcl language support')
conflicts=('gvim' 'vim-minimal')
provides=('xxd' 'vim-minimal' 'vim-plugin-runtime')
replaces=('vim-minimal')
cd vim-${pkgver}
make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
# provided by (n)vi in core
rm "${pkgdir}"/usr/bin/{ex,view}
# delete some manpages
find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \
while read _mandir; do
cd "${_mandir}"
rm -f ex.1 view.1 # provided by (n)vi
rm -f evim.1 # this does not make sense if we have no GUI
done
# Runtime provided by runtime package
rm -r "${pkgdir}"/usr/share/vim
# remove gvim.desktop as not included
rm "${pkgdir}"/usr/share/applications/gvim.desktop
# license
install -Dm 644 runtime/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
}
# vim: ts=2 sw=2 et: