From 4054ee04169fd2c74228693ee1c7cc9aa633f1b0 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 19 Sep 2026 18:41:00 +0100 Subject: [PATCH 01/15] net-print/libcupsfilters: add 9999 Add a live ebuild because the CUPS stack often has regressions, and it's convenient to test if fixes are on master. Bug: https://bugs.gentoo.org/981565 Signed-off-by: Sam James --- .../libcupsfilters-2.2.1.ebuild | 21 ++++- .../libcupsfilters/libcupsfilters-9999.ebuild | 93 +++++++++++++++++++ 2 files changed, 109 insertions(+), 5 deletions(-) create mode 100644 net-print/libcupsfilters/libcupsfilters-9999.ebuild diff --git a/net-print/libcupsfilters/libcupsfilters-2.2.1.ebuild b/net-print/libcupsfilters/libcupsfilters-2.2.1.ebuild index 87290a60e3caa..e1aaf3b15ace2 100644 --- a/net-print/libcupsfilters/libcupsfilters-2.2.1.ebuild +++ b/net-print/libcupsfilters/libcupsfilters-2.2.1.ebuild @@ -10,12 +10,19 @@ MY_P=${PN}-${MY_PV} DESCRIPTION="library for developing printing features, split out of cups-filters" HOMEPAGE="https://github.com/OpenPrinting/libcupsfilters" -SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${MY_PV}/${MY_P}.tar.xz" -S="${WORKDIR}"/${MY_P} + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/OpenPrinting/libcupsfilters" + inherit autotools git-r3 +else + SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${MY_PV}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm" +fi LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm" IUSE="dbus exif fontconfig jpeg jpegxl pdf +postscript png test tiff" RESTRICT="!test? ( test )" @@ -46,8 +53,12 @@ BDEPEND=" src_prepare() { default - # respect --as-needed - elibtoolize + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # respect --as-needed + elibtoolize + fi } src_configure() { diff --git a/net-print/libcupsfilters/libcupsfilters-9999.ebuild b/net-print/libcupsfilters/libcupsfilters-9999.ebuild new file mode 100644 index 0000000000000..e1aaf3b15ace2 --- /dev/null +++ b/net-print/libcupsfilters/libcupsfilters-9999.ebuild @@ -0,0 +1,93 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool + +MY_PV=${PV/_beta/b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="library for developing printing features, split out of cups-filters" +HOMEPAGE="https://github.com/OpenPrinting/libcupsfilters" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/OpenPrinting/libcupsfilters" + inherit autotools git-r3 +else + SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${MY_PV}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="dbus exif fontconfig jpeg jpegxl pdf +postscript png test tiff" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=app-text/pdfio-1.6.4 + app-text/poppler[utils] + media-libs/lcms:2 + >=net-print/cups-2.2.2 + !=media-libs/fontconfig-2.0.0 ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpegxl? ( >=media-libs/libjxl-0.7.0:= ) + pdf? ( >=app-text/mupdf-1.15:= ) + postscript? ( app-text/ghostscript-gpl[cups] ) + png? ( media-libs/libpng:= ) + tiff? ( media-libs/tiff:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig + test? ( media-fonts/dejavu ) +" + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + # respect --as-needed + elibtoolize + fi +} + +src_configure() { + local myeconfargs=( + --enable-imagefilters + --localstatedir="${EPREFIX}"/var + --with-cups-rundir="${EPREFIX}"/run/cups + $(use_enable exif) + $(use_enable dbus) + $(use_enable postscript ghostscript) + $(use_enable pdf mutool) + $(use_with fontconfig) + $(use_with jpeg) + $(use_with jpegxl) + $(use_with png) + $(use_with tiff) + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + # Don't try to use ASAN which will fail under sandbox + local -x SAN_FLAGS=" " + + default +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} From aaddda4418d193345d2c229cf93d5361eb1a12ae Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Wed, 22 Apr 2026 15:14:34 +0200 Subject: [PATCH 02/15] app-editors/vim-classic-core: new package, add 9999 Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/vim-classic-core/files/gvim.svg | 94 +++++++ .../files/vim-core-unbundle-xxd.patch | 37 +++ app-editors/vim-classic-core/files/vimrc-r8 | 218 +++++++++++++++++ app-editors/vim-classic-core/metadata.xml | 19 ++ .../vim-classic-core-9999.ebuild | 231 ++++++++++++++++++ 5 files changed, 599 insertions(+) create mode 100644 app-editors/vim-classic-core/files/gvim.svg create mode 100644 app-editors/vim-classic-core/files/vim-core-unbundle-xxd.patch create mode 100644 app-editors/vim-classic-core/files/vimrc-r8 create mode 100644 app-editors/vim-classic-core/metadata.xml create mode 100644 app-editors/vim-classic-core/vim-classic-core-9999.ebuild diff --git a/app-editors/vim-classic-core/files/gvim.svg b/app-editors/vim-classic-core/files/gvim.svg new file mode 100644 index 0000000000000..b82742a79012c --- /dev/null +++ b/app-editors/vim-classic-core/files/gvim.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/app-editors/vim-classic-core/files/vim-core-unbundle-xxd.patch b/app-editors/vim-classic-core/files/vim-core-unbundle-xxd.patch new file mode 100644 index 0000000000000..a401b72c7bf11 --- /dev/null +++ b/app-editors/vim-classic-core/files/vim-core-unbundle-xxd.patch @@ -0,0 +1,37 @@ +The xxd utility is packaged in dev-util/xxd. With USE=nls, the prerequisite +$(INSTALL_TOOL_LANGS) target variable contains install-tool-languages, which +only installs xxd manpages. Remove it to prevent file collisions with +dev-util/xxd. + +Original patch From: Lucio Sauer +diff --git a/src/Makefile b/src/Makefile +index 30b315b6e..6fb8e0baa 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -1000,7 +1000,7 @@ EVIEWTARGET = $(EVIEWNAME)$(LNKEXT) + + ### Names of the tools that are also made {{{1 + XXDTARGET = xxd/$(XXDNAME)$(EXEEXT) +-TOOLS = $(XXDTARGET) ++TOOLS = + + ### Installation directories. The defaults come from configure. {{{1 + # +@@ -2489,16 +2489,11 @@ installspell: $(DEST_VIM) $(DEST_RT) $(DEST_SPELL) + + # install helper program xxd + installtools: $(TOOLS) $(DESTDIR)$(exec_prefix) $(DEST_BIN) \ +- $(TOOLSSOURCE) $(DEST_VIM) $(DEST_RT) $(DEST_TOOLS) \ +- $(INSTALL_TOOL_LANGS) ++ $(TOOLSSOURCE) $(DEST_VIM) $(DEST_RT) $(DEST_TOOLS) + if test -f $(DEST_BIN)/$(XXDNAME)$(EXEEXT); then \ + mv -f $(DEST_BIN)/$(XXDNAME)$(EXEEXT) $(DEST_BIN)/$(XXDNAME).rm; \ + rm -f $(DEST_BIN)/$(XXDNAME).rm; \ + fi +- $(INSTALL_PROG) xxd/$(XXDNAME)$(EXEEXT) $(DEST_BIN) +- $(STRIP) $(DEST_BIN)/$(XXDNAME)$(EXEEXT) +- chmod $(BINMOD) $(DEST_BIN)/$(XXDNAME)$(EXEEXT) +- -$(SHELL) ./installman.sh xxd $(DEST_MAN) "" $(INSTALLMANARGS) + + # install the runtime tools + $(INSTALL_DATA_R) $(TOOLSSOURCE)/* $(DEST_TOOLS) diff --git a/app-editors/vim-classic-core/files/vimrc-r8 b/app-editors/vim-classic-core/files/vimrc-r8 new file mode 100644 index 0000000000000..c4abc23e74965 --- /dev/null +++ b/app-editors/vim-classic-core/files/vimrc-r8 @@ -0,0 +1,218 @@ +scriptencoding utf-8 +" ^^ Please leave the above line at the start of the file. + +" If you want to completely disable this script, make sure to put +" "let skip_etc_vimrc = 1" in a skip_etc_vimrc.vim in your runtimepath, like +" ~/.vim/skip_etc_vimrc. +runtime! skip_etc_vimrc.vim +" Bail out when a power user would prefer to avoid the system configuration +if exists('skip_etc_vimrc') + finish +endif + +" Default configuration file for Vim + +" Written by Aron Griffis +" Modified by Ryan Phillips +" Modified some more by Ciaran McCreesh +" Added Redhat's vimrc info by Seemant Kulleen + +" You can override any of these settings on a global basis via the +" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may +" need to create these. + +" {{{ General settings +" The following are some sensible defaults for Vim for most users. +" We attempt to change as little as possible from Vim's defaults, +" deviating only where it makes sense +set nocompatible " Use Vim defaults (much better!) +set bs=2 " Allow backspacing over everything in insert mode +set ai " Always set auto-indenting on +set history=50 " keep 50 lines of command history +set ruler " Show the cursor position all the time + +set viminfo='20,\"500 " Keep a .viminfo file. + +" Don't use Ex mode, use Q for formatting +map Q gq + +" When doing tab completion, give the following files lower priority. You may +" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable +" enhanced tab completion. These can be done in the user vimrc file. +set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo + +" When displaying line numbers, don't use an annoyingly wide number column. This +" doesn't enable line numbers -- :set number will do that. The value given is a +" minimum width to use for the number column, not a fixed size. +if v:version >= 700 + set numberwidth=3 +endif +" }}} + +" {{{ Modeline settings +" We don't allow modelines by default. See bug #14088 and bug #73715. +" If you're not concerned about these, you can enable them on a per-user +" basis by adding "set modeline" to your ~/.vimrc file. +set nomodeline +" }}} + +" {{{ Locale settings +" Try to come up with some nice sane GUI fonts. Also try to set a sensible +" value for fileencodings based upon locale. These can all be overridden in +" the user vimrc file. +if v:lang =~? "^ko" + set fileencodings=euc-kr + set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-* +elseif v:lang =~? "^ja_JP" + set fileencodings=euc-jp + set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-* +elseif v:lang =~? "^zh_TW" + set fileencodings=big5 + set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0 +elseif v:lang =~? "^zh_CN" + set fileencodings=gb2312 + set guifontset=*-r-* +endif + +" If we have a BOM, always honour that rather than trying to guess. +if &fileencodings !~? "ucs-bom" + set fileencodings^=ucs-bom +endif + +" Always check for UTF-8 when trying to determine encodings. +if &fileencodings !~? "utf-8" + " If we have to add this, the default encoding is not Unicode. + " We use this fact later to revert to the default encoding in plaintext/empty + " files. + let g:added_fenc_utf8 = 1 + set fileencodings+=utf-8 +endif + +" Make sure we have a sane fallback for encoding detection +if &fileencodings !~? "default" + set fileencodings+=default +endif +" }}} + +" {{{ Syntax highlighting settings +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch +endif +" }}} + +" {{{ Terminal fixes +if &term ==? "xterm" + set t_Sb=^[4%dm + set t_Sf=^[3%dm + set ttymouse=xterm2 +endif + +if &term ==? "gnome" && has("eval") + " Set useful keys that vim doesn't discover via termcap but are in the + " builtin xterm termcap. See bug #122562. We use exec to avoid having to + " include raw escapes in the file. + exec "set =\eO5D" + exec "set =\eO5C" +endif +" }}} + +" {{{ Filetype plugin settings +" Enable plugin-provided filetype settings, but only if the ftplugin +" directory exists (which it won't on livecds, for example). +if isdirectory(expand("$VIMRUNTIME/ftplugin")) + filetype plugin on + + " Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided + " indent settings. Some people don't like these, so we won't turn them on by + " default. + " filetype indent on +endif +" }}} + +" {{{ Fix &shell, see bug #101665. +if "" == &shell + if executable("@GENTOO_PORTAGE_EPREFIX@/bin/bash") + set shell=@GENTOO_PORTAGE_EPREFIX@/bin/bash + elseif executable("@GENTOO_PORTAGE_EPREFIX@/bin/sh") + set shell=@GENTOO_PORTAGE_EPREFIX@/bin/sh + endif +endif +"}}} + +" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh +" files should default to bash. See :help sh-syntax and bug #101819. +if has("eval") + let is_bash=1 +endif +" }}} + +" {{{ Autocommands +if has("autocmd") + +augroup gentoo + au! + + " Gentoo-specific settings for ebuilds. These are the federally-mandated + " required tab settings. See the following for more information: + " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml + " Note that the rules below are very minimal and don't cover everything. + " Better to emerge app-vim/gentoo-syntax, which provides full syntax, + " filetype and indent settings for all things Gentoo. + au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh + au BufRead,BufNewFile *.e{build,class} setl ts=4 sw=4 noexpandtab + + " When editing a file, always jump to the last cursor position + autocmd BufReadPost * + \ if ! exists("g:leave_my_cursor_position_alone") | + \ if line("'\"") > 0 && line ("'\"") <= line("$") | + \ exe "normal! g'\"" | + \ endif | + \ endif + + " When editing a crontab file, set backupcopy to yes rather than auto. See + " :help crontab and bug #53437. + autocmd FileType crontab setl backupcopy=yes + + " If we previously detected that the default encoding is not UTF-8 + " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no + " characters at all) isn't a Unicode file, but is in the default encoding. + " Except of course if a byte-order mark is in effect. + autocmd BufReadPost * + \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" && + \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable | + \ set fileencoding= | + \ endif + +augroup END + +endif " has("autocmd") +" }}} + +" We don't want VIM to load their own built-in defaults, preferring ours here +" instead. This option cannot apply to minimal builds, so it is guarded by a +" test that's guaranteed to fail for those, owing to the lack of +eval. +if 1 + let g:skip_defaults_vim = 1 +endif + +" Enable Omni completion when opening a file only if a specific plugin does +" not already exist for that filetype. This allows Omni completion +" (Ctrl-x/Ctrl-o) to work with any programming language if and only if a syntax +" file exists for the said language. +if exists("+omnifunc") + autocmd gentoo Filetype * + \ if &omnifunc == "" | + \ setlocal omnifunc=syntaxcomplete#Complete | + \ endif +endif + +" {{{ vimrc.local +if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local") + source @GENTOO_PORTAGE_EPREFIX@/etc/vim/vimrc.local +endif +" }}} + +" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker : diff --git a/app-editors/vim-classic-core/metadata.xml b/app-editors/vim-classic-core/metadata.xml new file mode 100644 index 0000000000000..6a69bc7afe3ef --- /dev/null +++ b/app-editors/vim-classic-core/metadata.xml @@ -0,0 +1,19 @@ + + + + + bacs@librecast.net + Brett A C Sheffield + + + proxy-maint@gentoo.org + Proxy Maintainers + + + vim@gentoo.org + Gentoo Vim Project + + + ~sircmpwn/vim-classic + + diff --git a/app-editors/vim-classic-core/vim-classic-core-9999.ebuild b/app-editors/vim-classic-core/vim-classic-core-9999.ebuild new file mode 100644 index 0000000000000..dec67c5bc8186 --- /dev/null +++ b/app-editors/vim-classic-core/vim-classic-core-9999.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic and app-editors/gvim-classic + +VIM_VERSION="8.3" +inherit desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils + +MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" + EGIT_CHECKOUT_DIR="${MYWORKDIR}" +else + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + " + KEYWORDS="~amd64" +fi + +DESCRIPTION="vim-classic and gvim-classic shared files" +HOMEPAGE="https://vim-classic.org/" +S="${MYWORKDIR}" + +LICENSE="vim" +SLOT="0" +IUSE="nls acl minimal" + +RDEPEND=" + !app-editors/vim-core + dev-util/xxd + >=virtual/editor-0-r8 +" +# ncurses is only needed by ./configure, so no subslot operator required +DEPEND=">=sys-libs/ncurses-5.2-r2:0" +BDEPEND="dev-build/autoconf" + +# unbundle xxd +PATCHES+=( "${FILESDIR}/vim-core-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} + --enable-gui=no + --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 +} From e0d0c8670f4af44cbfaf647325d033ba249eb32c Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Sun, 19 Apr 2026 11:40:02 +0200 Subject: [PATCH 03/15] app-editors/vim-classic: new package, add 9999 Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- .../vim-classic/files/vim-classic-completion | 36 ++ app-editors/vim-classic/metadata.xml | 27 ++ .../vim-classic/vim-classic-9999.ebuild | 374 ++++++++++++++++++ 3 files changed, 437 insertions(+) create mode 100644 app-editors/vim-classic/files/vim-classic-completion create mode 100644 app-editors/vim-classic/metadata.xml create mode 100644 app-editors/vim-classic/vim-classic-9999.ebuild diff --git a/app-editors/vim-classic/files/vim-classic-completion b/app-editors/vim-classic/files/vim-classic-completion new file mode 100644 index 0000000000000..67537d63101d0 --- /dev/null +++ b/app-editors/vim-classic/files/vim-classic-completion @@ -0,0 +1,36 @@ +# Author: Ciaran McCreesh +# +# completion for vim + +_vim() +{ + local cur prev cmd args + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + cmd=${COMP_WORDS[0]} + + if [[ "${prev}" == "--servername" ]] ; then + local servers + servers=$(gvim --serverlist ) + COMPREPLY=( $( compgen -W "${servers}" -- $cur ) ) + + elif [[ "${prev}" == -[uUi] ]] ; then + COMPREPLY=( $( compgen -W "NONE" ) \ + $( compgen -f -X "!*vim*" -- "$cur" ) ) + + elif [[ "${cur}" == -* ]] ; then + args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \ + -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \ + -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \ + --help --literal --noplugin --version' + COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) + else + _filedir + fi +} + +complete -o filenames -F _vim vim ex vi view rvim rview vimdiff + +# vim: set ft=sh sw=4 et sts=4 : diff --git a/app-editors/vim-classic/metadata.xml b/app-editors/vim-classic/metadata.xml new file mode 100644 index 0000000000000..bafa6b9cc9a16 --- /dev/null +++ b/app-editors/vim-classic/metadata.xml @@ -0,0 +1,27 @@ + + + + + bacs@librecast.net + Brett A C Sheffield + + + proxy-maint@gentoo.org + Proxy Maintainers + + + vim@gentoo.org + Gentoo Vim Project + + + Enable cscope interface + Enable support for Scheme using dev-scheme/racket + Enable terminal emulation support + Install vimpager and vimmanpager links + Link console vim against X11 libraries to enable title and + clipboard features in xterm + + + ~sircmpwn/vim-classic + + diff --git a/app-editors/vim-classic/vim-classic-9999.ebuild b/app-editors/vim-classic/vim-classic-9999.ebuild new file mode 100644 index 0000000000000..c7a0b062bda72 --- /dev/null +++ b/app-editors/vim-classic/vim-classic-9999.ebuild @@ -0,0 +1,374 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic-core and app-editors/gvim-classic + +VIM_VERSION="8.3" + +LUA_COMPAT=( lua5-{1..4} luajit ) +PYTHON_COMPAT=( python3_{11..15} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +inherit bash-completion-r1 flag-o-matic lua-single desktop perl-module python-single-r1 \ + ruby-single toolchain-funcs vim-doc xdg-utils + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" +else + SRC_URI="https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Long term support Vim text editor" +HOMEPAGE="https://vim-classic.org/" + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager X ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + vim-pager? ( !minimal ) +" + +RDEPEND=" + !app-editors/vim + ~app-editors/vim-classic-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) + vim-pager? ( app-editors/vim-classic-core[-minimal] ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +# configure runs the Lua interpreter +BDEPEND=" + dev-build/autoconf + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +# platform-specific checks (bug #898450 #898452): +# - 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" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_unpack() { + default + if [[ ${PV} != 9999* ]] ; then + mv "${WORKDIR}/vim-classic-v${PV}" "${WORKDIR}/vim-classic-${PV}" || die + fi +} + +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 "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # 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 -e \ + 's/\> "$c" || die "echo failed" + done + + # conditionally make the manpager.sh script + if use vim-pager; then + cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + _EOF_ + fi + + # 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 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 -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # 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. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite ${file} + fi + done + + local myconf=( + --with-modified-by="Gentoo-${PVR} (RIP Bram)" + --enable-gui=no + --disable-darwin + ) + + if use minimal; then + myconf+=( + --with-features=tiny + --disable-nls + --disable-canberra + --disable-acl + --without-x + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf+=( + --with-features=huge + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + $(use_enable terminal) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + $(use_with X x) + ) + fi + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep 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() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Arch and opensuse seem to do this and at this point, I'm willing + # to try anything to avoid random test hangs! + export TERM=xterm + + # See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5 + # for more information on test variables we can use. + # Note that certain variables need vim-compatible regex (not PCRE), see e.g. + # http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml. + # + # Skipped tests: + # - Test_expand_star_star + # Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680) + # - Test_exrc + # Looks in wrong location? (bug #742710) + # - Test_job_tty_in_out + # Fragile and depends on TERM(?) + # - Test_spelldump_bang + # Hangs. + # - Test_fuzzy_completion_env + # Too sensitive to leaked environment variables. + # - Test_term_mouse_multiple_clicks_to_select_mode + # Hangs. + # - Test_spelldump + # Hangs. + # - Test_glvs_* + # Depends on local network. + export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\|Test_glvs_\)' + + # Don't do additional GUI tests. + emake -j1 -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + if ! use minimal ; then + dosym vim /usr/bin/vimdiff + fi + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + domenu runtime/vim.desktop + + newbashcomp "${FILESDIR}"/${PN}-completion vim + + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update desktop file mime cache + xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update desktop file mime cache + xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update +} From 0df03281ada212920dfba1cb200ba2295ef552bc Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Wed, 22 Apr 2026 15:20:24 +0200 Subject: [PATCH 04/15] app-editors/gvim-classic: new package, add 9999 Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- .../gvim-classic/files/gvim-completion | 40 ++ app-editors/gvim-classic/files/gvimrc-r1 | 28 ++ .../gvim-classic/gvim-classic-9999.ebuild | 344 ++++++++++++++++++ app-editors/gvim-classic/metadata.xml | 24 ++ 4 files changed, 436 insertions(+) create mode 100644 app-editors/gvim-classic/files/gvim-completion create mode 100644 app-editors/gvim-classic/files/gvimrc-r1 create mode 100644 app-editors/gvim-classic/gvim-classic-9999.ebuild create mode 100644 app-editors/gvim-classic/metadata.xml diff --git a/app-editors/gvim-classic/files/gvim-completion b/app-editors/gvim-classic/files/gvim-completion new file mode 100644 index 0000000000000..6488a82bc76e8 --- /dev/null +++ b/app-editors/gvim-classic/files/gvim-completion @@ -0,0 +1,40 @@ +# Author: Ciaran McCreesh +# +# completion for gvim + +_gvim() +{ + local cur prev cmd args + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + cmd=${COMP_WORDS[0]} + + if [[ "${prev}" == "--servername" ]] ; then + local servers + servers=$(gvim --serverlist ) + COMPREPLY=( $( compgen -W "${servers}" -- $cur ) ) + + elif [[ "${prev}" == -[uUi] ]] ; then + COMPREPLY=( $( compgen -W "NONE" ) \ + $( compgen -f -X "!*vim*" -- "$cur" ) ) + + elif [[ "${cur}" == -* ]] ; then + args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \ + -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \ + -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \ + --help --literal --noplugin --version' + args="${args} --echo-wid --remote --remote-expr \ + --remote-send --remote-silent --remote-wait \ + --remote-wait-silent --serverlist \ + --servername --socketid" + COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) + else + _filedir + fi +} + +complete -o filenames -F _gvim gvim evim eview gview gvimdiff rgvim rgview + +# vim: set ft=sh sw=4 et sts=4 : diff --git a/app-editors/gvim-classic/files/gvimrc-r1 b/app-editors/gvim-classic/files/gvimrc-r1 new file mode 100644 index 0000000000000..27f398c1011c0 --- /dev/null +++ b/app-editors/gvim-classic/files/gvimrc-r1 @@ -0,0 +1,28 @@ +scriptencoding utf-8 +" ^^ Please leave the above line at the start of the file. + +" Default configuration file for gvim +" +" Written by Aron Griffis +" +" This file is read AFTER normal Vim initializations, like reading your .vimrc +" file (and the default /usr/share/vim/vimrc). So there's no reason to +" duplicate settings from vimrc. Red Hat has had this wrong for years, to the +" great annoyance of users. + +" Pre-GUI settings +set columns=80 lines=30 " don't inherit geometry from parent term +set mousemodel=popup " right mouse button pops up a menu in the GUI + +" Use a sufficiently wide window automatically when started as "gvimdiff" +if (&foldmethod == 'diff') + set columns=165 +endif + +" For bug 33327, add a mapping which allows shift-insert to function +" as expected in insert and command-line modes +map! * + +if filereadable("@GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local") + source @GENTOO_PORTAGE_EPREFIX@/etc/vim/gvimrc.local +endif diff --git a/app-editors/gvim-classic/gvim-classic-9999.ebuild b/app-editors/gvim-classic/gvim-classic-9999.ebuild new file mode 100644 index 0000000000000..65fde4cae6785 --- /dev/null +++ b/app-editors/gvim-classic/gvim-classic-9999.ebuild @@ -0,0 +1,344 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic-core and app-editors/vim-classic + +VIM_VERSION="8.3" + +LUA_COMPAT=( lua5-{1..4} luajit ) +PYTHON_COMPAT=( python3_{11..15} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +inherit bash-completion-r1 flag-o-matic lua-single perl-module prefix python-single-r1 \ + ruby-single toolchain-funcs vim-doc xdg-utils + +MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" + EGIT_CHECKOUT_DIR="${MYWORKDIR}" +else + SRC_URI="https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="https://vim-classic.org/" +S="${MYWORKDIR}" + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug lua minimal motif netbeans nls perl python racket ruby selinux session sound tcl ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + !app-editors/gvim + ~app-editors/vim-classic-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + x11-libs/libICE + x11-libs/libSM + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + x11-libs/gtk+:3[X] + x11-libs/libXft + ) + cscope? ( dev-util/cscope ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +# configure runs the Lua interpreter +BDEPEND=" + dev-build/autoconf + virtual/pkgconfig + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +# various failures (bugs #630042 and #682320) +RESTRICT="test" + +# platform-specific checks (bug #898450 #898452): +# - 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" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +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 "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # 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 -e \ + '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 + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # 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 -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -v src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # 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. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite ${file} + fi + done + + use debug && append-flags "-DDEBUG" + + local myconf=( + --with-features=huge + --disable-gpm + --with-gnome=no + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable cscope) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # Default is gtk unless motif is enabled + echo ; echo + if use motif; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + else + myconf+=( --enable-gtk3-check ) + einfo "Building gvim with the gtk+-3 GUI" + myconf+=( --enable-gui=gtk3 ) + fi + echo ; echo + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep 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 \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Make gvim not try to connect to X. See :help gui-x11-start in vim for how + # this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim || die + + # Make sure our VIMPROG is used. + sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die + + # Don't do additional GUI tests. + emake -j1 VIMPROG=../testvim -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed" + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed" + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \ + die "echo failed" + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/gvim-completion ${PN} + + # don't install vim desktop file + rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop" +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} diff --git a/app-editors/gvim-classic/metadata.xml b/app-editors/gvim-classic/metadata.xml new file mode 100644 index 0000000000000..cc84022707750 --- /dev/null +++ b/app-editors/gvim-classic/metadata.xml @@ -0,0 +1,24 @@ + + + + + bacs@librecast.net + Brett A C Sheffield + + + proxy-maint@gentoo.org + Proxy Maintainers + + + vim@gentoo.org + Gentoo Vim Project + + + Enable cscope interface + Include netbeans external editor integration support + Enable support for Scheme using dev-scheme/racket + + + ~sircmpwn/vim-classic + + From 1a31b729b1208e0a9d5c45e89315f9ee5cc13888 Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Wed, 22 Apr 2026 15:38:15 +0200 Subject: [PATCH 05/15] metadata/stabilization-groups: add vim-classic.group Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- metadata/stabilization-groups/vim-classic.group | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 metadata/stabilization-groups/vim-classic.group diff --git a/metadata/stabilization-groups/vim-classic.group b/metadata/stabilization-groups/vim-classic.group new file mode 100644 index 0000000000000..119a2601b3bac --- /dev/null +++ b/metadata/stabilization-groups/vim-classic.group @@ -0,0 +1,3 @@ +app-editors/gvim-classic +app-editors/vim-classic +app-editors/vim-classic-core From 2f84cca1a80e0aed196cf4a325c03443f65c7019 Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Sun, 3 May 2026 12:40:03 +0200 Subject: [PATCH 06/15] virtual/editor: add vim-classic, gvim-classic Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- virtual/editor/{editor-0-r7.ebuild => editor-0-r8.ebuild} | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) rename virtual/editor/{editor-0-r7.ebuild => editor-0-r8.ebuild} (93%) diff --git a/virtual/editor/editor-0-r7.ebuild b/virtual/editor/editor-0-r8.ebuild similarity index 93% rename from virtual/editor/editor-0-r7.ebuild rename to virtual/editor/editor-0-r8.ebuild index 5a56964736fa5..9738f5c37b43d 100644 --- a/virtual/editor/editor-0-r7.ebuild +++ b/virtual/editor/editor-0-r8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -41,7 +41,9 @@ RDEPEND="|| ( app-editors/uemacs-pk app-editors/vile app-editors/vim + app-editors/vim-classic app-editors/gvim + app-editors/gvim-classic app-editors/vis app-editors/xemacs app-editors/zile From 9c41bdc8f0b62073e959954094c8975791e3786a Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 15:09:18 +0200 Subject: [PATCH 07/15] app-editors/vim-classic-core: add 8.3.0 Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/vim-classic-core/Manifest | 1 + .../vim-classic-core-8.3.0.ebuild | 231 ++++++++++++++++++ 2 files changed, 232 insertions(+) create mode 100644 app-editors/vim-classic-core/Manifest create mode 100644 app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild diff --git a/app-editors/vim-classic-core/Manifest b/app-editors/vim-classic-core/Manifest new file mode 100644 index 0000000000000..798da1465c721 --- /dev/null +++ b/app-editors/vim-classic-core/Manifest @@ -0,0 +1 @@ +DIST vim-classic-core-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca diff --git a/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild b/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild new file mode 100644 index 0000000000000..dec67c5bc8186 --- /dev/null +++ b/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic and app-editors/gvim-classic + +VIM_VERSION="8.3" +inherit desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils + +MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" +if [[ ${PV} == 9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" + EGIT_CHECKOUT_DIR="${MYWORKDIR}" +else + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + " + KEYWORDS="~amd64" +fi + +DESCRIPTION="vim-classic and gvim-classic shared files" +HOMEPAGE="https://vim-classic.org/" +S="${MYWORKDIR}" + +LICENSE="vim" +SLOT="0" +IUSE="nls acl minimal" + +RDEPEND=" + !app-editors/vim-core + dev-util/xxd + >=virtual/editor-0-r8 +" +# ncurses is only needed by ./configure, so no subslot operator required +DEPEND=">=sys-libs/ncurses-5.2-r2:0" +BDEPEND="dev-build/autoconf" + +# unbundle xxd +PATCHES+=( "${FILESDIR}/vim-core-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} + --enable-gui=no + --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 +} From 28860b87a976207519206f2e9ff5f22f05b1c018 Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 15:09:30 +0200 Subject: [PATCH 08/15] app-editors/vim-classic: add 8.3.0 Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/vim-classic/Manifest | 1 + .../vim-classic/vim-classic-8.3.0.ebuild | 374 ++++++++++++++++++ 2 files changed, 375 insertions(+) create mode 100644 app-editors/vim-classic/Manifest create mode 100644 app-editors/vim-classic/vim-classic-8.3.0.ebuild diff --git a/app-editors/vim-classic/Manifest b/app-editors/vim-classic/Manifest new file mode 100644 index 0000000000000..e5194b76afd43 --- /dev/null +++ b/app-editors/vim-classic/Manifest @@ -0,0 +1 @@ +DIST vim-classic-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca diff --git a/app-editors/vim-classic/vim-classic-8.3.0.ebuild b/app-editors/vim-classic/vim-classic-8.3.0.ebuild new file mode 100644 index 0000000000000..c7a0b062bda72 --- /dev/null +++ b/app-editors/vim-classic/vim-classic-8.3.0.ebuild @@ -0,0 +1,374 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic-core and app-editors/gvim-classic + +VIM_VERSION="8.3" + +LUA_COMPAT=( lua5-{1..4} luajit ) +PYTHON_COMPAT=( python3_{11..15} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +inherit bash-completion-r1 flag-o-matic lua-single desktop perl-module python-single-r1 \ + ruby-single toolchain-funcs vim-doc xdg-utils + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" +else + SRC_URI="https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Long term support Vim text editor" +HOMEPAGE="https://vim-classic.org/" + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager X ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + vim-pager? ( !minimal ) +" + +RDEPEND=" + !app-editors/vim + ~app-editors/vim-classic-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + acl? ( kernel_linux? ( sys-apps/acl ) ) + cscope? ( dev-util/cscope ) + gpm? ( >=sys-libs/gpm-1.19.3 ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) + vim-pager? ( app-editors/vim-classic-core[-minimal] ) + X? ( x11-libs/libXt ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +# configure runs the Lua interpreter +BDEPEND=" + dev-build/autoconf + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +# platform-specific checks (bug #898450 #898452): +# - 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" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_unpack() { + default + if [[ ${PV} != 9999* ]] ; then + mv "${WORKDIR}/vim-classic-v${PV}" "${WORKDIR}/vim-classic-${PV}" || die + fi +} + +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 "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # 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 -e \ + 's/\> "$c" || die "echo failed" + done + + # conditionally make the manpager.sh script + if use vim-pager; then + cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" + #!/bin/sh + sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ + vim \\ + -c 'let no_plugin_maps = 1' \\ + -c 'set nolist nomod ft=man ts=8' \\ + -c 'let g:showmarks_enable=0' \\ + -c 'runtime! macros/less.vim' - + _EOF_ + fi + + # 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 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 -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # 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. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite ${file} + fi + done + + local myconf=( + --with-modified-by="Gentoo-${PVR} (RIP Bram)" + --enable-gui=no + --disable-darwin + ) + + if use minimal; then + myconf+=( + --with-features=tiny + --disable-nls + --disable-canberra + --disable-acl + --without-x + --disable-luainterp + --disable-perlinterp + --disable-pythoninterp + --disable-mzschemeinterp + --disable-rubyinterp + --disable-selinux + --disable-tclinterp + --disable-gpm + ) + else + use debug && append-flags "-DDEBUG" + + myconf+=( + --with-features=huge + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable cscope) + $(use_enable gpm) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable tcl tclinterp) + $(use_enable terminal) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # don't test USE=X here ... see bug #19115 + # but need to provide a way to link against X ... see bug #20093 + myconf+=( + $(use_with X x) + ) + fi + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep 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() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Arch and opensuse seem to do this and at this point, I'm willing + # to try anything to avoid random test hangs! + export TERM=xterm + + # See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5 + # for more information on test variables we can use. + # Note that certain variables need vim-compatible regex (not PCRE), see e.g. + # http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml. + # + # Skipped tests: + # - Test_expand_star_star + # Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680) + # - Test_exrc + # Looks in wrong location? (bug #742710) + # - Test_job_tty_in_out + # Fragile and depends on TERM(?) + # - Test_spelldump_bang + # Hangs. + # - Test_fuzzy_completion_env + # Too sensitive to leaked environment variables. + # - Test_term_mouse_multiple_clicks_to_select_mode + # Hangs. + # - Test_spelldump + # Hangs. + # - Test_glvs_* + # Depends on local network. + export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\|Test_glvs_\)' + + # Don't do additional GUI tests. + emake -j1 -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are + # managed by eselect-vi + dobin src/vim + if ! use minimal ; then + dosym vim /usr/bin/vimdiff + fi + dosym vim /usr/bin/rvim + dosym vim /usr/bin/rview + if use vim-pager ; then + dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager + dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager + insinto ${vimfiles}/macros + doins runtime/macros/manpager.sh + fperms a+x ${vimfiles}/macros/manpager.sh + fi + + domenu runtime/vim.desktop + + newbashcomp "${FILESDIR}"/${PN}-completion vim + + # keep in sync with 'complete ... -F' list + bashcomp_alias vim ex vi view rvim rview vimdiff +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update desktop file mime cache + xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update desktop file mime cache + xdg_desktop_database_update + + # call eselect vi update + eselect_vi_update +} From 0f7ea3e6a7685ef108e591a85ec2430a2320ccaf Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 16:41:18 +0200 Subject: [PATCH 09/15] app-editors/gvim-classic: add 8.3.0 Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/gvim-classic/Manifest | 1 + .../gvim-classic/gvim-classic-8.3.0.ebuild | 344 ++++++++++++++++++ 2 files changed, 345 insertions(+) create mode 100644 app-editors/gvim-classic/Manifest create mode 100644 app-editors/gvim-classic/gvim-classic-8.3.0.ebuild diff --git a/app-editors/gvim-classic/Manifest b/app-editors/gvim-classic/Manifest new file mode 100644 index 0000000000000..fc5577e7644eb --- /dev/null +++ b/app-editors/gvim-classic/Manifest @@ -0,0 +1 @@ +DIST gvim-classic-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca diff --git a/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild b/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild new file mode 100644 index 0000000000000..65fde4cae6785 --- /dev/null +++ b/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild @@ -0,0 +1,344 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with app-editors/vim-classic-core and app-editors/vim-classic + +VIM_VERSION="8.3" + +LUA_COMPAT=( lua5-{1..4} luajit ) +PYTHON_COMPAT=( python3_{11..15} ) +PYTHON_REQ_USE="threads(+)" +USE_RUBY="ruby32 ruby33" +GENTOO_DEPEND_ON_PERL=no + +inherit bash-completion-r1 flag-o-matic lua-single perl-module prefix python-single-r1 \ + ruby-single toolchain-funcs vim-doc xdg-utils + +MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" + EGIT_CHECKOUT_DIR="${MYWORKDIR}" +else + SRC_URI="https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="GUI version of the Vim text editor" +HOMEPAGE="https://vim-classic.org/" +S="${MYWORKDIR}" + +LICENSE="vim" +SLOT="0" +IUSE="acl cscope debug lua minimal motif netbeans nls perl python racket ruby selinux session sound tcl ${GENTOO_PERL_USESTRING}" +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + !app-editors/gvim + ~app-editors/vim-classic-core-${PV} + >=app-eselect/eselect-vi-1.1 + >=sys-libs/ncurses-5.2-r2:0= + x11-libs/libICE + x11-libs/libSM + x11-libs/libXext + x11-libs/libXt + acl? ( kernel_linux? ( sys-apps/acl ) ) + motif? ( >=x11-libs/motif-2.3:0 ) + !motif? ( + x11-libs/gtk+:3[X] + x11-libs/libXft + ) + cscope? ( dev-util/cscope ) + lua? ( + ${LUA_DEPS} + $(lua_gen_impl_dep 'deprecated' lua5-1) + ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) + python? ( ${PYTHON_DEPS} ) + racket? ( dev-scheme/racket ) + ruby? ( ${RUBY_DEPS} ) + selinux? ( sys-libs/libselinux ) + session? ( x11-libs/libSM ) + sound? ( media-libs/libcanberra ) + tcl? ( dev-lang/tcl:0= ) +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +# configure runs the Lua interpreter +BDEPEND=" + dev-build/autoconf + virtual/pkgconfig + lua? ( ${LUA_DEPS} ) + nls? ( sys-devel/gettext ) +" +PDEPEND="!minimal? ( app-vim/gentoo-syntax )" + +# various failures (bugs #630042 and #682320) +RESTRICT="test" + +# platform-specific checks (bug #898450 #898452): +# - 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" + + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +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 "mve.awk sed failed" + + # Read vimrc and gvimrc from /etc/vim + echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ + >> "${S}"/src/feature.h || die "echo failed" + + # 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 -e \ + '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 + fi + + cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" + + # 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 -e \ + 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" + rm -v src/auto/configure || die "rm failed" + + # --with-features=huge forces on cscope even if we --disable it. We need + # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) + if ! use cscope; then + sed -i -e \ + '/# define FEAT_CSCOPE/d' src/feature.h || die "couldn't disable cscope" + fi + + # 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. + local file + for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do + if [[ -e ${file} ]]; then + addwrite ${file} + fi + done + + use debug && append-flags "-DDEBUG" + + local myconf=( + --with-features=huge + --disable-gpm + --with-gnome=no + $(use_enable sound canberra) + $(use_enable acl) + $(use_enable cscope) + $(use_enable netbeans) + $(use_enable nls) + $(use_enable perl perlinterp) + $(use_enable python python3interp) + $(use_with python python3-command "${PYTHON}") + $(use_enable racket mzschemeinterp) + $(use_enable ruby rubyinterp) + $(use_enable selinux) + $(use_enable session xsmp) + $(use_enable tcl tclinterp) + ) + + if use lua; then + # -DLUA_COMPAT_OPENLIB=1 is required to enable the + # deprecated (in 5.1) luaL_openlib API (#874690) + use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 + + myconf+=( + --enable-luainterp + $(use_with lua_single_target_luajit luajit) + --with-lua-prefix="${EPREFIX}/usr" + ) + fi + + # Default is gtk unless motif is enabled + echo ; echo + if use motif; then + einfo "Building gvim with the MOTIF GUI" + myconf+=( --enable-gui=motif ) + else + myconf+=( --enable-gtk3-check ) + einfo "Building gvim with the gtk+-3 GUI" + myconf+=( --enable-gui=gtk3 ) + fi + echo ; echo + + # let package manager strip binaries + export ac_cv_prog_STRIP="$(type -P true ) faking strip" + + # keep 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 \ + --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ + --with-vim-name=gvim \ + --with-x \ + "${myconf[@]}" +} + +src_compile() { + # The following allows emake to be used + emake -j1 -C src auto/osdef.h objects + + emake +} + +src_test() { + einfo + einfo "Starting vim tests. Several error messages will be shown" + einfo "while the tests run. This is normal behaviour and does not" + einfo "indicate a fault." + einfo + ewarn "If the tests fail, your terminal may be left in a strange" + ewarn "state. Usually, running 'reset' will fix this." + einfo + + # Don't let vim talk to X + unset DISPLAY + + # Make gvim not try to connect to X. See :help gui-x11-start in vim for how + # this evil trickery works. + ln -s "${S}"/src/gvim "${S}"/src/testvim || die + + # Make sure our VIMPROG is used. + sed -i -e 's:\.\./vim:../testvim:' src/testdir/test49.vim || die + + # Don't do additional GUI tests. + emake -j1 VIMPROG=../testvim -C src/testdir nongui +} + +# Call eselect vi update with --if-unset +# to respect user's choice (bug #187449) +eselect_vi_update() { + ebegin "Calling eselect vi update" + eselect vi update --if-unset + eend $? +} + +src_install() { + local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} + + dobin src/gvim + dosym gvim /usr/bin/gvimdiff + dosym gvim /usr/bin/evim + dosym gvim /usr/bin/eview + dosym gvim /usr/bin/gview + dosym gvim /usr/bin/rgvim + dosym gvim /usr/bin/rgview + + emake -C src DESTDIR="${D}" DATADIR="${EPREFIX}"/usr/share install-icons + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 || die "echo failed" + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 || die "echo failed" + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 || \ + die "echo failed" + + insinto /etc/vim + newins "${FILESDIR}"/gvimrc-r1 gvimrc + eprefixify "${ED}"/etc/vim/gvimrc + + # bash completion script, bug #79018. + newbashcomp "${FILESDIR}"/gvim-completion ${PN} + + # don't install vim desktop file + rm -v "${ED}"/usr/share/applications/vim.desktop || die "failed to remove vim.desktop" +} + +pkg_postinst() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} + +pkg_postrm() { + # update documentation tags (from vim-doc.eclass) + update_vim_helptags + + # update fdo mime stuff, bug #78394 + xdg_desktop_database_update + + # update icon cache + xdg_icon_cache_update + + # call eselect vi update + eselect_vi_update +} From 35928bb590f563d9aea1fb53882ef4523646992f Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 18:04:32 +0200 Subject: [PATCH 10/15] sec-keys/openpgp-keys-ddevault: new package, add 20250219 Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- sec-keys/openpgp-keys-ddevault/Manifest | 1 + sec-keys/openpgp-keys-ddevault/metadata.xml | 13 +++++++++++++ .../openpgp-keys-ddevault-20250219.ebuild | 16 ++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 sec-keys/openpgp-keys-ddevault/Manifest create mode 100644 sec-keys/openpgp-keys-ddevault/metadata.xml create mode 100644 sec-keys/openpgp-keys-ddevault/openpgp-keys-ddevault-20250219.ebuild diff --git a/sec-keys/openpgp-keys-ddevault/Manifest b/sec-keys/openpgp-keys-ddevault/Manifest new file mode 100644 index 0000000000000..1406959c107b4 --- /dev/null +++ b/sec-keys/openpgp-keys-ddevault/Manifest @@ -0,0 +1 @@ +DIST publickey.txt 644 BLAKE2B 89334e1c90c0df31725cb5988f9d178e03d47eaa776d5f28056702a6cf75a63fe917640a27b49053071c82cf5ffb3e3f76a0b2b928634796067cece22d83056a SHA512 95e78ca2adc49bbf187e30842844d708c9a2e5550a15a1aa610a121317978a8feb2eb110827e946248e3a5f7944465a4d9681e746ed0c16dfe7fe98a19e40a4e diff --git a/sec-keys/openpgp-keys-ddevault/metadata.xml b/sec-keys/openpgp-keys-ddevault/metadata.xml new file mode 100644 index 0000000000000..08f433cae2789 --- /dev/null +++ b/sec-keys/openpgp-keys-ddevault/metadata.xml @@ -0,0 +1,13 @@ + + + + + bacs@librecast.net + Brett A C Sheffield + + + proxy-maint@gentoo.org + Proxy Maintainers + + + diff --git a/sec-keys/openpgp-keys-ddevault/openpgp-keys-ddevault-20250219.ebuild b/sec-keys/openpgp-keys-ddevault/openpgp-keys-ddevault-20250219.ebuild new file mode 100644 index 0000000000000..200a4f23d5652 --- /dev/null +++ b/sec-keys/openpgp-keys-ddevault/openpgp-keys-ddevault-20250219.ebuild @@ -0,0 +1,16 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +SEC_KEYS_VALIDPGPKEYS=( + "9FB5E737DC25B29D8EEC469142F3F1862E3CC4B8:ddevault:manual" +) + +inherit sec-keys + +DESCRIPTION="Drew DeVault's PGP signing key" +HOMEPAGE="https://drewdevault.com/" +SRC_URI="https://drewdevault.com/publickey.txt" + +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" From c3149662426e665009f7e30b6bff8a10c32994a2 Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 18:12:46 +0200 Subject: [PATCH 11/15] app-editors/vim-classic-core: wire up verify-sig Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/vim-classic-core/Manifest | 1 + .../vim-classic-core/vim-classic-core-8.3.0.ebuild | 10 ++++++++-- .../vim-classic-core/vim-classic-core-9999.ebuild | 10 ++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app-editors/vim-classic-core/Manifest b/app-editors/vim-classic-core/Manifest index 798da1465c721..f97f1a171e537 100644 --- a/app-editors/vim-classic-core/Manifest +++ b/app-editors/vim-classic-core/Manifest @@ -1 +1,2 @@ DIST vim-classic-core-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca +DIST vim-classic-core-8.3.0.tar.gz.sig 119 BLAKE2B f54d8a514146cca189966ecedf707590a0f76ff7ef2cd2bb6729c70dd68bb3e4644cb53ca28a7b7efa237466755d23acb2011bcd088f9c9e24d77d782a4c3a2f SHA512 947285dd9359c7399c358176c327f45b43c2bc58a3bec7a1d2ec838a7d070551f4f510ce92523110b6c590ef3ff0115683ebe7144ef4b6b9bb6dde72d8e11084 diff --git a/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild b/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild index dec67c5bc8186..ff11e99bd902e 100644 --- a/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild +++ b/app-editors/vim-classic-core/vim-classic-core-8.3.0.ebuild @@ -6,7 +6,8 @@ EAPI=8 # Please bump with app-editors/vim-classic and app-editors/gvim-classic VIM_VERSION="8.3" -inherit desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc +inherit desktop flag-o-matic prefix toolchain-funcs verify-sig vim-doc xdg-utils MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" if [[ ${PV} == 9999* ]] ; then @@ -16,8 +17,13 @@ if [[ ${PV} == 9999* ]] ; then else SRC_URI=" https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) " KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " fi DESCRIPTION="vim-classic and gvim-classic shared files" @@ -35,7 +41,7 @@ RDEPEND=" " # ncurses is only needed by ./configure, so no subslot operator required DEPEND=">=sys-libs/ncurses-5.2-r2:0" -BDEPEND="dev-build/autoconf" +BDEPEND+="dev-build/autoconf" # unbundle xxd PATCHES+=( "${FILESDIR}/vim-core-unbundle-xxd.patch" ) diff --git a/app-editors/vim-classic-core/vim-classic-core-9999.ebuild b/app-editors/vim-classic-core/vim-classic-core-9999.ebuild index dec67c5bc8186..ff11e99bd902e 100644 --- a/app-editors/vim-classic-core/vim-classic-core-9999.ebuild +++ b/app-editors/vim-classic-core/vim-classic-core-9999.ebuild @@ -6,7 +6,8 @@ EAPI=8 # Please bump with app-editors/vim-classic and app-editors/gvim-classic VIM_VERSION="8.3" -inherit desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc +inherit desktop flag-o-matic prefix toolchain-funcs verify-sig vim-doc xdg-utils MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" if [[ ${PV} == 9999* ]] ; then @@ -16,8 +17,13 @@ if [[ ${PV} == 9999* ]] ; then else SRC_URI=" https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) " KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " fi DESCRIPTION="vim-classic and gvim-classic shared files" @@ -35,7 +41,7 @@ RDEPEND=" " # ncurses is only needed by ./configure, so no subslot operator required DEPEND=">=sys-libs/ncurses-5.2-r2:0" -BDEPEND="dev-build/autoconf" +BDEPEND+="dev-build/autoconf" # unbundle xxd PATCHES+=( "${FILESDIR}/vim-core-unbundle-xxd.patch" ) From 01d55000223056a1b2506a62f0ae837497137352 Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 18:17:24 +0200 Subject: [PATCH 12/15] app-editors/vim-classic: wire up verify-sig Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/vim-classic/Manifest | 1 + app-editors/vim-classic/vim-classic-8.3.0.ebuild | 14 +++++++++++--- app-editors/vim-classic/vim-classic-9999.ebuild | 14 +++++++++++--- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app-editors/vim-classic/Manifest b/app-editors/vim-classic/Manifest index e5194b76afd43..b25ab36fc6c45 100644 --- a/app-editors/vim-classic/Manifest +++ b/app-editors/vim-classic/Manifest @@ -1 +1,2 @@ DIST vim-classic-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca +DIST vim-classic-8.3.0.tar.gz.sig 119 BLAKE2B f54d8a514146cca189966ecedf707590a0f76ff7ef2cd2bb6729c70dd68bb3e4644cb53ca28a7b7efa237466755d23acb2011bcd088f9c9e24d77d782a4c3a2f SHA512 947285dd9359c7399c358176c327f45b43c2bc58a3bec7a1d2ec838a7d070551f4f510ce92523110b6c590ef3ff0115683ebe7144ef4b6b9bb6dde72d8e11084 diff --git a/app-editors/vim-classic/vim-classic-8.3.0.ebuild b/app-editors/vim-classic/vim-classic-8.3.0.ebuild index c7a0b062bda72..3465fafffa36f 100644 --- a/app-editors/vim-classic/vim-classic-8.3.0.ebuild +++ b/app-editors/vim-classic/vim-classic-8.3.0.ebuild @@ -13,15 +13,23 @@ PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby32 ruby33" GENTOO_DEPEND_ON_PERL=no +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc inherit bash-completion-r1 flag-o-matic lua-single desktop perl-module python-single-r1 \ - ruby-single toolchain-funcs vim-doc xdg-utils + ruby-single toolchain-funcs verify-sig vim-doc xdg-utils if [[ ${PV} == 9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" else - SRC_URI="https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " fi DESCRIPTION="Long term support Vim text editor" @@ -66,7 +74,7 @@ DEPEND="${RDEPEND} X? ( x11-base/xorg-proto ) " # configure runs the Lua interpreter -BDEPEND=" +BDEPEND+=" dev-build/autoconf lua? ( ${LUA_DEPS} ) nls? ( sys-devel/gettext ) diff --git a/app-editors/vim-classic/vim-classic-9999.ebuild b/app-editors/vim-classic/vim-classic-9999.ebuild index c7a0b062bda72..3465fafffa36f 100644 --- a/app-editors/vim-classic/vim-classic-9999.ebuild +++ b/app-editors/vim-classic/vim-classic-9999.ebuild @@ -13,15 +13,23 @@ PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby32 ruby33" GENTOO_DEPEND_ON_PERL=no +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc inherit bash-completion-r1 flag-o-matic lua-single desktop perl-module python-single-r1 \ - ruby-single toolchain-funcs vim-doc xdg-utils + ruby-single toolchain-funcs verify-sig vim-doc xdg-utils if [[ ${PV} == 9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" else - SRC_URI="https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " fi DESCRIPTION="Long term support Vim text editor" @@ -66,7 +74,7 @@ DEPEND="${RDEPEND} X? ( x11-base/xorg-proto ) " # configure runs the Lua interpreter -BDEPEND=" +BDEPEND+=" dev-build/autoconf lua? ( ${LUA_DEPS} ) nls? ( sys-devel/gettext ) From a2a2797f866adab252032530fe5952aff77f697a Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 18:20:58 +0200 Subject: [PATCH 13/15] app-editors/gvim-classic: wire up verify-sig Bug: https://bugs.gentoo.org/971885 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/gvim-classic/Manifest | 1 + app-editors/gvim-classic/gvim-classic-8.3.0.ebuild | 14 +++++++++++--- app-editors/gvim-classic/gvim-classic-9999.ebuild | 14 +++++++++++--- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app-editors/gvim-classic/Manifest b/app-editors/gvim-classic/Manifest index fc5577e7644eb..09279f0103937 100644 --- a/app-editors/gvim-classic/Manifest +++ b/app-editors/gvim-classic/Manifest @@ -1 +1,2 @@ DIST gvim-classic-8.3.0.tar.gz 14767832 BLAKE2B 309305bf99997e4c8f6d309de118f78da9e88de2e2909d4216f8991526fc430f7b0eedf6f7d5d91fdeb3dfe80935b2196880ab9438a8b9496d675d37f9386b11 SHA512 83417abe7989728aa4ed9da26b2779578cbad676f501953eaf04d4b99ea5615e8cf1df129c18c3e745aba7ed065d37c59015bc6461a5e5d4a5ea8a9c0364d7ca +DIST gvim-classic-8.3.0.tar.gz.sig 119 BLAKE2B f54d8a514146cca189966ecedf707590a0f76ff7ef2cd2bb6729c70dd68bb3e4644cb53ca28a7b7efa237466755d23acb2011bcd088f9c9e24d77d782a4c3a2f SHA512 947285dd9359c7399c358176c327f45b43c2bc58a3bec7a1d2ec838a7d070551f4f510ce92523110b6c590ef3ff0115683ebe7144ef4b6b9bb6dde72d8e11084 diff --git a/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild b/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild index 65fde4cae6785..50166945907a3 100644 --- a/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild +++ b/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild @@ -13,8 +13,9 @@ PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby32 ruby33" GENTOO_DEPEND_ON_PERL=no +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc inherit bash-completion-r1 flag-o-matic lua-single perl-module prefix python-single-r1 \ - ruby-single toolchain-funcs vim-doc xdg-utils + ruby-single toolchain-funcs verify-sig vim-doc xdg-utils MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" if [[ ${PV} == 9999* ]]; then @@ -22,8 +23,15 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" EGIT_CHECKOUT_DIR="${MYWORKDIR}" else - SRC_URI="https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " fi DESCRIPTION="GUI version of the Vim text editor" @@ -76,7 +84,7 @@ DEPEND=" x11-base/xorg-proto " # configure runs the Lua interpreter -BDEPEND=" +BDEPEND+=" dev-build/autoconf virtual/pkgconfig lua? ( ${LUA_DEPS} ) diff --git a/app-editors/gvim-classic/gvim-classic-9999.ebuild b/app-editors/gvim-classic/gvim-classic-9999.ebuild index 65fde4cae6785..50166945907a3 100644 --- a/app-editors/gvim-classic/gvim-classic-9999.ebuild +++ b/app-editors/gvim-classic/gvim-classic-9999.ebuild @@ -13,8 +13,9 @@ PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby32 ruby33" GENTOO_DEPEND_ON_PERL=no +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ddevault.asc inherit bash-completion-r1 flag-o-matic lua-single perl-module prefix python-single-r1 \ - ruby-single toolchain-funcs vim-doc xdg-utils + ruby-single toolchain-funcs verify-sig vim-doc xdg-utils MYWORKDIR="${WORKDIR}/vim-classic-v${PV}" if [[ ${PV} == 9999* ]]; then @@ -22,8 +23,15 @@ if [[ ${PV} == 9999* ]]; then EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/vim-classic" EGIT_CHECKOUT_DIR="${MYWORKDIR}" else - SRC_URI="https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI=" + https://git.sr.ht/~sircmpwn/vim-classic/archive/v${PV}.tar.gz -> ${P}.tar.gz + verify-sig? ( + https://git.sr.ht/~sircmpwn/vim-classic/refs/download/v${PV}/vim-classic-v${PV}.tar.gz.sig + -> ${P}.tar.gz.sig + ) + " KEYWORDS="~amd64" + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-ddevault-20250219 ) " fi DESCRIPTION="GUI version of the Vim text editor" @@ -76,7 +84,7 @@ DEPEND=" x11-base/xorg-proto " # configure runs the Lua interpreter -BDEPEND=" +BDEPEND+=" dev-build/autoconf virtual/pkgconfig lua? ( ${LUA_DEPS} ) From e9e159b7f8c583c2c9e71f24faf3ca072e4b3ef4 Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 18:23:07 +0200 Subject: [PATCH 14/15] app-editors/gvim-classic: disable py3.11 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/gvim-classic/gvim-classic-8.3.0.ebuild | 2 +- app-editors/gvim-classic/gvim-classic-9999.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild b/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild index 50166945907a3..dbbaada1eed9e 100644 --- a/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild +++ b/app-editors/gvim-classic/gvim-classic-8.3.0.ebuild @@ -8,7 +8,7 @@ EAPI=8 VIM_VERSION="8.3" LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{11..15} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby32 ruby33" GENTOO_DEPEND_ON_PERL=no diff --git a/app-editors/gvim-classic/gvim-classic-9999.ebuild b/app-editors/gvim-classic/gvim-classic-9999.ebuild index 50166945907a3..dbbaada1eed9e 100644 --- a/app-editors/gvim-classic/gvim-classic-9999.ebuild +++ b/app-editors/gvim-classic/gvim-classic-9999.ebuild @@ -8,7 +8,7 @@ EAPI=8 VIM_VERSION="8.3" LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{11..15} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby32 ruby33" GENTOO_DEPEND_ON_PERL=no From c033847bc964ee46b3391877d1f3cfae09c30cf0 Mon Sep 17 00:00:00 2001 From: Brett A C Sheffield Date: Tue, 2 Jun 2026 18:24:37 +0200 Subject: [PATCH 15/15] app-editors/vim-classic: disable py3.11 Signed-off-by: Brett A C Sheffield Part-of: https://codeberg.org/gentoo/gentoo/pulls/1039 Merges: https://codeberg.org/gentoo/gentoo/pulls/1039 Signed-off-by: Sam James --- app-editors/vim-classic/vim-classic-8.3.0.ebuild | 2 +- app-editors/vim-classic/vim-classic-9999.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app-editors/vim-classic/vim-classic-8.3.0.ebuild b/app-editors/vim-classic/vim-classic-8.3.0.ebuild index 3465fafffa36f..3c9d5f363df60 100644 --- a/app-editors/vim-classic/vim-classic-8.3.0.ebuild +++ b/app-editors/vim-classic/vim-classic-8.3.0.ebuild @@ -8,7 +8,7 @@ EAPI=8 VIM_VERSION="8.3" LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{11..15} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby32 ruby33" GENTOO_DEPEND_ON_PERL=no diff --git a/app-editors/vim-classic/vim-classic-9999.ebuild b/app-editors/vim-classic/vim-classic-9999.ebuild index 3465fafffa36f..3c9d5f363df60 100644 --- a/app-editors/vim-classic/vim-classic-9999.ebuild +++ b/app-editors/vim-classic/vim-classic-9999.ebuild @@ -8,7 +8,7 @@ EAPI=8 VIM_VERSION="8.3" LUA_COMPAT=( lua5-{1..4} luajit ) -PYTHON_COMPAT=( python3_{11..15} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="threads(+)" USE_RUBY="ruby32 ruby33" GENTOO_DEPEND_ON_PERL=no