From 6e6a93b2e23f5e9b5f3f998d85f45a2efed003f8 Mon Sep 17 00:00:00 2001 From: Arthur Zamarin Date: Tue, 22 Sep 2026 11:36:39 +0300 Subject: [PATCH] app-editors/vim-core: add 9.2.1125 Signed-off-by: Arthur Zamarin --- app-editors/vim-core/Manifest | 1 + app-editors/vim-core/vim-core-9.2.1125.ebuild | 235 ++++++++++++++++++ 2 files changed, 236 insertions(+) create mode 100644 app-editors/vim-core/vim-core-9.2.1125.ebuild diff --git a/app-editors/vim-core/Manifest b/app-editors/vim-core/Manifest index 2e778d817f8f8..267f0b69ba171 100644 --- a/app-editors/vim-core/Manifest +++ b/app-editors/vim-core/Manifest @@ -1,4 +1,5 @@ DIST vim-9.1.1652.tar.gz 18776578 BLAKE2B c4cc711ee996d6b7268c243c1fae01600d104763f6eee2abbe342f2cf9ee90fb6ee3f0b44fe4814ff47ae13c5a391510c3b711c92acbee591e290da621289029 SHA512 f1dfb1dc0fd834fa3ffb40c31f48de78b48225c9d67667f069ff8b23a6a76d534f3e228b936141616a33a0d73445626dcd2ff52a8571e9f4370a8fbcad9771d7 DIST vim-9.2.1119.tar.gz 20196061 BLAKE2B 2ccd209c5b5c8bab08d37147ba33f1d1a0ef2e3d6c5e26e165159bbafee311ccd3b236f852e3e12796e4618476c26985a5eea2a27c31087e2d3c1ee2957da34b SHA512 4939487f25757d571d1dc0bfa4888ebaf5c8799818da1c09e0d4781b3e7b27020d974e4ce3fb6e2c4e61198c09d1a2a51585c965107850c078ef1ea6d33d9d72 +DIST vim-9.2.1125.tar.gz 20194423 BLAKE2B a9c55209cbfc83ae13bad1799b15c4f6fe70f3e0ad936e0503eed125385805241404a4061902018fb126e4dc0316acdb648f1f2499586962f8645572ae443646 SHA512 75c79d31ca861a82cf51bdc357d30a8f22bd2b21690e9edfcc164a65489f2bbd7e745095ac4f3ddf852bc8befe0a5a6799ad53f8d9f1d9a5173e914bee60c579 DIST vim-patches-vim-9.1.1432-patches.tar.bz2 2618 BLAKE2B fe7c302c71fbf66f1921e1b55e2f67914ed104ab86e2a6cf2e6bf67c98214f13f1d8ff1ed7015ec41a5665c692946e20ec5bdf4806e789a70e34c0c888472739 SHA512 a794a7e4d9014d5508db7b205404f5a4b44748a82c5599a26c1ec6b06d3105f6cebf9a93a058f65ad853bbadf432034fc8257a7c77b4f3446331b9d66c19b3af DIST vim-patches-vim-9.2.1119-patches.tar.bz2 2619 BLAKE2B 32fe08c18bf276a21cb7067cd3f8c61dd07f6e0613e8afe32d4616546e1a93e0b20a3306ee1a695474d660c6ae42cfd9666c9f36f0bfccbb033705598deb0543 SHA512 58fc52058b3404588ca29f85ae1eb2740cba434952b7ad5636f76937f09121fd5d8c026e2f2489277d1ef5fc9a9c8a182dfc86346b233f08269ef6b68a056160 diff --git a/app-editors/vim-core/vim-core-9.2.1125.ebuild b/app-editors/vim-core/vim-core-9.2.1125.ebuild new file mode 100644 index 0000000000000..c2955632ca65b --- /dev/null +++ b/app-editors/vim-core/vim-core-9.2.1125.ebuild @@ -0,0 +1,235 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim and app-editors/gvim + +VIM_VERSION="9.2" +VIM_PATCHES_VERSION="9.2.1119" +inherit desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils + +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/vim/vim.git" + EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV} +else + SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz + https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="vim and gvim shared files" +HOMEPAGE="https://www.vim.org https://github.com/vim/vim" +S="${WORKDIR}/vim-${PV}" + +LICENSE="vim" +SLOT="0" +IUSE="nls acl minimal" + +RDEPEND="dev-util/xxd" +# ncurses is only needed by ./configure, so no subslot operator required +DEPEND=">=sys-libs/ncurses-5.2-r2:0" +BDEPEND=">=dev-build/autoconf-2.71" + +if [[ ${PV} != 9999* ]]; then + # Gentoo patches to fix runtime issues, cross-compile errors, etc + PATCHES=( + "${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches" + ) +fi + +# unbundle xxd +PATCHES+=( "${FILESDIR}/vim-core-9.1.1652-r1-unbundle-xxd.patch" ) + +# platform-specific checks (bug #898406): +# - acl() -- Solaris +# - statacl() -- AIX +QA_CONFIG_IMPL_DECL_SKIP=( + 'acl' + 'statacl' +) + +pkg_setup() { + # people with broken alphabets run into trouble. bug #82186. + unset LANG LC_ALL + export LC_COLLATE="C" +} + +src_prepare() { + default + + # Fixup a script to use awk instead of nawk + sed -i \ + -e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \ + "${S}"/runtime/tools/mve.awk || die "sed failed" + + # See bug #77841. We remove this file after the tarball extraction. + rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die + + # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. + # Hopefully this pattern won't break for a while at least. + # This fixes bug #29398 (27 Sep 2003 agriffis) + sed -i 's/\> "$c" || die "echo failed" + done + + # Try to avoid sandbox problems. Bug #114475. + if [[ -d "${S}"/src/po ]]; then + sed -i -e \ + '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ + "${S}"/src/po/Makefile || die "sed failed" + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for + # everyone since previous flag filtering bugs have turned out to affect + # multiple archs... + replace-flags -O3 -O2 + + # Fix bug #18245: Prevent "make" from the following chain: + # (1) Notice configure.ac is newer than auto/configure + # (2) Rebuild auto/configure + # (3) Notice auto/configure is newer than auto/config.mk + # (4) Run ./configure (with wrong args) to remake auto/config.mk + sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + + # Remove src/auto/configure file. + rm -v src/auto/configure || die "rm configure failed" + + # bug 908961 + if use elibc_musl ; then + sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die + fi +} + +src_configure() { + emake -j1 -C src autoconf + + # This should fix a sandbox violation (see bug 24447). The hvc + # things are for ppc64, see bug 86433. + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e "${file}" ]]; then + addwrite ${file} + fi + done + + # Let Portage do the stripping. Some people like that. + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + local myconf=( + --with-modified-by="Gentoo-${PVR} (RIP Bram)" + --enable-gui=no + --disable-hardcopy-pango + --without-wayland + --without-x + --disable-darwin + --disable-perlinterp + --disable-pythoninterp + --disable-rubyinterp + --disable-gpm + --disable-selinux + $(use_enable nls) + $(use_enable acl) + ) + + # Keep Gentoo Prefix env contained within the EPREFIX + use prefix && myconf+=( --without-local-dir ) + + if tc-is-cross-compiler ; then + export vim_cv_getcwd_broken=no \ + vim_cv_memmove_handles_overlap=yes \ + vim_cv_stat_ignores_slash=yes \ + vim_cv_terminfo=yes \ + vim_cv_toupper_broken=no + fi + + econf "${myconf[@]}" +} + +src_compile() { + emake -j1 -C src auto/osdef.h objects +} + +src_test() { :; } + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dodir /usr/{bin,share/{man/man1,vim}} + emake -C src \ + installruntime \ + installmanlinks \ + installmacros \ + installtutor \ + installtutorbin \ + installtools \ + install-languages \ + DESTDIR="${D}" \ + BINDIR="${EPREFIX}"/usr/bin \ + MANDIR="${EPREFIX}"/usr/share/man \ + DATADIR="${EPREFIX}"/usr/share + + keepdir ${vimfiles}/keymap + + # default vimrc is installed by vim-core since it applies to + # both vim and gvim + insinto /etc/vim/ + newins "${FILESDIR}"/vimrc-r8 vimrc + eprefixify "${ED}"/etc/vim/vimrc + + if use minimal; then + # To save space, install only a subset of the files. + # Helps minimalize the livecd, bug 65144. + rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die + rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die + rm -v "${ED}"/usr/bin/vimtutor || die + + for f in "${ED}${vimfiles}"/colors/*.vim; do + if [[ ${f} != */@(default).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + + for f in "${ED}${vimfiles}"/syntax/*.vim; do + if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then + printf '%s\0' "${f}" + fi + done | xargs -0 rm -f || die + fi + + # install gvim icon since both vim/gvim desktop files reference it + doicon -s scalable "${FILESDIR}"/gvim.svg +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +} + +pkg_postrm() { + # Update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update icon cache + xdg_icon_cache_update +}