diff --git a/dev-util/geany-plugins/Manifest b/dev-util/geany-plugins/Manifest
index 63994069a142c..c198a7f4b9c32 100644
--- a/dev-util/geany-plugins/Manifest
+++ b/dev-util/geany-plugins/Manifest
@@ -1 +1,2 @@
DIST geany-plugins-2.0.tar.bz2 3181264 BLAKE2B 6175f91a3a7effa081393e9397336e0f5f59846fdadd0e31584f237c14863016cc4ab1b17745e1e2804ad88161dc7e43aef97a2332a5c18a7f1baf10d2ea42ba SHA512 48d575459e5c9f905b8809796ea89a05f6e082a1bb1d29c9f44dd5de607a64ad65a27d18348312702d25cfbb80ea0348b9e806f8c0fe649ea558b5b4ccd84818
+DIST geany-plugins-2.1.tar.bz2 3851685 BLAKE2B cd05f1046209dc8085e5bbcc5251bee2c8941d0e160ed434cad15d7b2d767f5de8b58a3feb95ca5110f6d89c49d6860fc4b56f17c97cba21e5e41e5ced131efc SHA512 aed8998c9fd7467b08c05cdf7a066c701b8ef73917e78f674d547282513be418063f37651d2fa0d345c4fdc5b8db3371837f3498263fa73c41497beb364294c6
diff --git a/dev-util/geany-plugins/geany-plugins-2.1.ebuild b/dev-util/geany-plugins/geany-plugins-2.1.ebuild
new file mode 100644
index 0000000000000..d2836d2e6f2a3
--- /dev/null
+++ b/dev-util/geany-plugins/geany-plugins-2.1.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 )
+
+inherit autotools lua-single
+
+DESCRIPTION="A collection of different plugins for Geany"
+HOMEPAGE="https://plugins.geany.org"
+SRC_URI="https://plugins.geany.org/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="ctags debugger enchant geniuspaste git gpg gtkspell lsp lua markdown nls pretty-printer scope test webhelper workbench"
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/glib:2
+ >=dev-util/geany-2.1
+ x11-libs/gtk+:3
+ ctags? ( dev-util/ctags )
+ debugger? ( x11-libs/vte:2.91 )
+ enchant? ( app-text/enchant:= )
+ geniuspaste? ( net-libs/libsoup:3.0 )
+ git? ( dev-libs/libgit2:= )
+ gpg? ( app-crypt/gpgme:= )
+ gtkspell? ( app-text/gtkspell:3= )
+ lsp? (
+ >=dev-libs/json-glib-1.10
+ >=dev-libs/jsonrpc-glib-3.44
+ )
+ lua? ( ${LUA_DEPS} )
+ markdown? (
+ app-text/discount:=
+ net-libs/webkit-gtk:4.1
+ )
+ pretty-printer? ( dev-libs/libxml2:2= )
+ scope? ( x11-libs/vte:2.91 )
+ webhelper? ( net-libs/webkit-gtk:4.1 )
+ workbench? ( dev-libs/libgit2:= )
+"
+DEPEND="${COMMON_DEPEND}
+ test? ( dev-libs/check )
+"
+RDEPEND="${COMMON_DEPEND}
+ scope? ( dev-debug/gdb )
+"
+BDEPEND="virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ default
+ if ! use test; then
+ sed -i "s:gp_have_unittests=yes:gp_have_unittests=no:" build/unittests.m4 || die
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-cppcheck
+ --disable-extra-c-warnings
+ $(use_enable nls)
+ --enable-utilslib
+ # Plugins
+ --enable-addons
+ --enable-autoclose
+ --enable-automark
+ --enable-codenav
+ --enable-commander
+ --enable-defineformat
+ --enable-geanydoc
+ --enable-geanyextrasel
+ --enable-geanyinsertnum
+ --enable-geanymacro
+ --enable-geanyminiscript
+ --enable-geanynumberedbookmarks
+ --enable-geanyprj
+ --enable-geanyvc $(use_enable gtkspell)
+ --enable-keyrecord
+ --enable-latex
+ --enable-lineoperations
+ --enable-lipsum
+ --enable-overview
+ --enable-pairtaghighlighter
+ --enable-pohelper
+ --enable-projectorganizer
+ --enable-sendmail
+ --enable-shiftcolumn
+ --enable-tableconvert
+ --enable-treebrowser
+ --enable-vimode
+ --enable-xmlsnippets
+ $(use_enable debugger)
+ $(use_enable ctags geanyctags)
+ $(use_enable lua geanylua)
+ $(use_enable geniuspaste)
+ $(use_enable gpg geanypg)
+ $(use_enable git gitchangebar)
+ $(use_enable lsp) --enable-system-jsonrpc
+ $(use_enable markdown) --disable-peg-markdown # using app-text/discount instead
+ $(use_enable pretty-printer)
+ $(use_enable scope)
+ $(use_enable enchant spellcheck)
+ $(use_enable webhelper)
+ $(use_enable workbench)
+ # GeanyGenDoc requires ctpl which isn't yet in portage
+ --disable-geanygendoc
+ # UpdateChecker not required when packaged
+ --disable-updatechecker
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+
+ # make installs all translations if LINGUAS is empty
+ if [[ -z "${LINGUAS-x}" ]]; then
+ rm -r "${ED}/usr/share/locale/" || die
+ fi
+}
diff --git a/dev-util/geany-plugins/metadata.xml b/dev-util/geany-plugins/metadata.xml
index 28e3e26dec868..91c34e458d860 100644
--- a/dev-util/geany-plugins/metadata.xml
+++ b/dev-util/geany-plugins/metadata.xml
@@ -13,8 +13,10 @@
Enable ctags plugin
Enable the debugger plugin which interfaces with dev-debug/gdb
Enable spell checking using enchant
+ Enable the GeniusPaste plugin
Enable geanypg plugin which integrates GPG using app-crypt/gpgme
Use gtkspell for dictionary support in GeanyVC
+ Enable the Language Server Protocol plugin
Enable the markdown plugin
Enable pretty-printer plugin
Enable the scope plugin which is a graphical GDB front-end