summaryrefslogtreecommitdiff
path: root/lxde-base
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /lxde-base
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'lxde-base')
-rw-r--r--lxde-base/lxappearance-obconf/Manifest1
-rw-r--r--lxde-base/lxappearance-obconf/files/lxappearance-obconf-0.2.3-cairo-xlib.patch47
-rw-r--r--lxde-base/lxappearance-obconf/files/lxappearance-obconf-0.2.3-no-undefined.patch25
-rw-r--r--lxde-base/lxappearance-obconf/lxappearance-obconf-0.2.3-r3.ebuild61
-rw-r--r--lxde-base/lxappearance-obconf/metadata.xml5
-rw-r--r--lxde-base/lxappearance/Manifest1
-rw-r--r--lxde-base/lxappearance/lxappearance-0.6.4-r2.ebuild47
-rw-r--r--lxde-base/lxappearance/metadata.xml5
-rw-r--r--lxde-base/lxde-common/Manifest1
-rw-r--r--lxde-base/lxde-common/files/lxde90
-rw-r--r--lxde-base/lxde-common/lxde-common-0.99.2-r1.ebuild29
-rw-r--r--lxde-base/lxde-common/metadata.xml5
-rw-r--r--lxde-base/lxde-icon-theme/Manifest1
-rw-r--r--lxde-base/lxde-icon-theme/lxde-icon-theme-0.5.1-r1.ebuild20
-rw-r--r--lxde-base/lxde-icon-theme/metadata.xml5
-rw-r--r--lxde-base/lxde-meta/lxde-meta-0.5.5-r8.ebuild35
-rw-r--r--lxde-base/lxde-meta/metadata.xml5
-rw-r--r--lxde-base/lxdm/Manifest1
-rw-r--r--lxde-base/lxdm/files/Xsession79
-rw-r--r--lxde-base/lxdm/files/lxdm-0.5.3-pam.patch12
-rw-r--r--lxde-base/lxdm/files/lxdm-0.5.3-portable-msghdr.patch18
-rw-r--r--lxde-base/lxdm/files/lxdm-0.5.3-upstream-fixes.patch236
-rw-r--r--lxde-base/lxdm/lxdm-0.5.3-r4.ebuild87
-rw-r--r--lxde-base/lxdm/metadata.xml5
-rw-r--r--lxde-base/lxinput/Manifest1
-rw-r--r--lxde-base/lxinput/lxinput-0.3.5-r2.ebuild33
-rw-r--r--lxde-base/lxinput/metadata.xml5
-rw-r--r--lxde-base/lxlauncher/Manifest1
-rw-r--r--lxde-base/lxlauncher/lxlauncher-0.2.5-r1.ebuild40
-rw-r--r--lxde-base/lxlauncher/metadata.xml5
-rw-r--r--lxde-base/lxmenu-data/Manifest1
-rw-r--r--lxde-base/lxmenu-data/lxmenu-data-0.1.5.ebuild24
-rw-r--r--lxde-base/lxmenu-data/metadata.xml5
-rw-r--r--lxde-base/lxpanel/Manifest1
-rw-r--r--lxde-base/lxpanel/files/lxpanel-0.10.1-c99-2.patch25
-rw-r--r--lxde-base/lxpanel/files/lxpanel-0.10.1-c99.patch21
-rw-r--r--lxde-base/lxpanel/files/lxpanel-0.10.1-fix-pager-panel-width.patch37
-rw-r--r--lxde-base/lxpanel/files/lxpanel-0.10.1-icon-grid-taskbar.patch40
-rw-r--r--lxde-base/lxpanel/files/lxpanel-0.10.1-netstatus-icon.patch79
-rw-r--r--lxde-base/lxpanel/lxpanel-0.10.1-r1.ebuild76
-rw-r--r--lxde-base/lxpanel/lxpanel-0.10.1-r2.ebuild77
-rw-r--r--lxde-base/lxpanel/metadata.xml5
-rw-r--r--lxde-base/lxrandr/Manifest1
-rw-r--r--lxde-base/lxrandr/lxrandr-0.3.2-r1.ebuild33
-rw-r--r--lxde-base/lxrandr/metadata.xml5
-rw-r--r--lxde-base/lxsession/Manifest1
-rw-r--r--lxde-base/lxsession/files/lxsession-0.5.2-notify-daemon-default.patch13
-rw-r--r--lxde-base/lxsession/files/lxsession-0.5.2-reload.patch43
-rw-r--r--lxde-base/lxsession/lxsession-0.5.6.ebuild75
-rw-r--r--lxde-base/lxsession/metadata.xml5
-rw-r--r--lxde-base/lxtask/Manifest1
-rw-r--r--lxde-base/lxtask/lxtask-0.1.10.ebuild29
-rw-r--r--lxde-base/lxtask/metadata.xml5
-rw-r--r--lxde-base/lxterminal/Manifest1
-rw-r--r--lxde-base/lxterminal/files/lxterminal-0.4.0-c99.patch54
-rw-r--r--lxde-base/lxterminal/files/lxterminal-0.4.0-crash-on-exit.patch57
-rw-r--r--lxde-base/lxterminal/lxterminal-0.4.0_p20230917-r1.ebuild53
-rw-r--r--lxde-base/lxterminal/metadata.xml5
-rw-r--r--lxde-base/menu-cache/Manifest1
-rw-r--r--lxde-base/menu-cache/files/menu-cache-1.1.0-fno-common.diff88
-rw-r--r--lxde-base/menu-cache/files/menu-cache-1.1.0-memleak.patch37
-rw-r--r--lxde-base/menu-cache/menu-cache-1.1.0-r1.ebuild37
-rw-r--r--lxde-base/menu-cache/metadata.xml12
-rw-r--r--lxde-base/metadata.xml16
64 files changed, 1869 insertions, 0 deletions
diff --git a/lxde-base/lxappearance-obconf/Manifest b/lxde-base/lxappearance-obconf/Manifest
new file mode 100644
index 000000000000..6c1edbdfcf0a
--- /dev/null
+++ b/lxde-base/lxappearance-obconf/Manifest
@@ -0,0 +1 @@
+DIST lxappearance-obconf-0.2.3.tar.xz 290204 BLAKE2B 3f222419e147232eb805e8b86a29993fefbf80008cc3cd98d048a0b3b2799fb3672571f87666917136ad17c1b4b6bd649194599d684bb14a574ae40d0d127d99 SHA512 cec56238b2b8ea86ab310fdf3d9d43ef665aac7762018a296803ef7caccb6a5a7854c4b17e0028152b379a373602ede30edb02811a9a370ba369b62bb3caee09
diff --git a/lxde-base/lxappearance-obconf/files/lxappearance-obconf-0.2.3-cairo-xlib.patch b/lxde-base/lxappearance-obconf/files/lxappearance-obconf-0.2.3-cairo-xlib.patch
new file mode 100644
index 000000000000..7098f98ca50f
--- /dev/null
+++ b/lxde-base/lxappearance-obconf/files/lxappearance-obconf-0.2.3-cairo-xlib.patch
@@ -0,0 +1,47 @@
+From: orbea <orbea@riseup.net>
+Date: Mon, 11 Jul 2022 17:38:52 -0700
+Subject: [PATCH] build: Add missing cairo-xlib dependency
+
+src/preview.c:146:15: warning: implicit declaration of function ‘cairo_xlib_surface_create’; did you mean ‘cairo_image_surface_create’? [-Wimplicit-function-declaration]
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -16,6 +16,7 @@ module_LTLIBRARIES = src/obconf.la
+ moduledir = $(libdir)/lxappearance/plugins
+
+ src_obconf_la_CPPFLAGS = \
++ $(CAIRO_CFLAGS) \
+ $(OPENBOX_CFLAGS) \
+ $(GTK_CFLAGS) \
+ $(LXAPPEARANCE_CFLAGS) \
+@@ -30,6 +31,7 @@ src_obconf_la_CPPFLAGS = \
+ -DG_LOG_DOMAIN=\"Obconf\"
+
+ src_obconf_la_LIBADD = \
++ $(CAIRO_LIBS) \
+ $(OPENBOX_LIBS) \
+ $(GTK_LIBS) \
+ $(LXAPPEARANCE_LIBS) \
+--- a/configure.ac
++++ b/configure.ac
+@@ -89,6 +89,10 @@ PKG_CHECK_MODULES(OPENBOX, [obrender-3.5 >= 3.5 obt-3.5 >= 3.5])
+ AC_SUBST(OPENBOX_CFLAGS)
+ AC_SUBST(OPENBOX_LIBS)
+
++PKG_CHECK_MODULES(CAIRO, [cairo-xlib])
++AC_SUBST(CAIRO_CFLAGS)
++AC_SUBST(CAIRO_LIBS)
++
+ if test "x$enable_gtk3" = "xyes" ; then
+ CFLAGS="$CFLAGS -DENABLE_GTK3"
+ gtk_modules="gtk+-3.0 >= 3.0.0"
+--- a/src/preview.c
++++ b/src/preview.c
+@@ -27,6 +27,7 @@
+
+ #include <string.h>
+
++#include <cairo/cairo-xlib.h>
+ #include <obrender/theme.h>
+
+ #if GTK_CHECK_VERSION(3, 0, 0)
diff --git a/lxde-base/lxappearance-obconf/files/lxappearance-obconf-0.2.3-no-undefined.patch b/lxde-base/lxappearance-obconf/files/lxappearance-obconf-0.2.3-no-undefined.patch
new file mode 100644
index 000000000000..4e94157ac7a0
--- /dev/null
+++ b/lxde-base/lxappearance-obconf/files/lxappearance-obconf-0.2.3-no-undefined.patch
@@ -0,0 +1,25 @@
+Bug: https://bugs.gentoo.org/779484
+
+From: orbea <orbea@riseup.net>
+Date: Mon, 11 Jul 2022 17:23:36 -0700
+Subject: [PATCH] build: Remove -no-undefined
+
+This depends on lxappearance_changed which is only available in the
+lxappearence binary and will be undefined at build time. Additionally
+GNU libtool silently ignores -no-undefined allowing the build to work
+while slibtool will respect it as expected.
+
+The easiest way to solve this is to just remove -no-undefined since it
+is not respected anyways.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -126,7 +126,7 @@ AC_SUBST(LXAPPEARANCE_LIBDIR)
+ AC_SUBST(LXAPPEARANCE_DATADIR)
+
+ LXAPPEARANCE_MODULE="-avoid-version \
+- -no-undefined "'-export-symbols-regex "^[[^_]].*"'
++ "'-export-symbols-regex "^[[^_]].*"'
+ AC_SUBST(LXAPPEARANCE_MODULE)
+
+ if test x"$enable_more_warnings" = x"yes"; then
diff --git a/lxde-base/lxappearance-obconf/lxappearance-obconf-0.2.3-r3.ebuild b/lxde-base/lxappearance-obconf/lxappearance-obconf-0.2.3-r3.ebuild
new file mode 100644
index 000000000000..aab32506664a
--- /dev/null
+++ b/lxde-base/lxappearance-obconf/lxappearance-obconf-0.2.3-r3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="LXAppearance plugin for configuring OpenBox"
+HOMEPAGE="https://lxde.org/"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/atk
+ dev-libs/glib:2
+ dev-libs/libxml2:2=
+ gnome-base/librsvg:2
+ >=lxde-base/lxappearance-0.6.3-r2
+ media-libs/fontconfig
+ media-libs/freetype:2
+ media-libs/harfbuzz:=
+ x11-libs/cairo[X]
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/pango
+ x11-wm/openbox
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/intltool
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-undefined.patch # 779484
+ "${FILESDIR}"/${P}-cairo-xlib.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --enable-gtk3
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/lxde-base/lxappearance-obconf/metadata.xml b/lxde-base/lxappearance-obconf/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxappearance-obconf/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxappearance/Manifest b/lxde-base/lxappearance/Manifest
new file mode 100644
index 000000000000..40a768b0efc3
--- /dev/null
+++ b/lxde-base/lxappearance/Manifest
@@ -0,0 +1 @@
+DIST lxappearance-0.6.4.gh.tar.gz 109568 BLAKE2B 60c7ca48775a39cae31235b33ff55204f058b0ccb84c3081188d11ff9b99ea11cdd8c72b20dfd437ecbd50036abe1d9e1796605560350bfb8213f1f26f922d78 SHA512 cf8a71fe546a3f9a11856d1290825c0433a64eb59c65298bc6e8a4742154ec6b9a901ee126b1303ec18f6c7f8c4875b20993c53f8f226d934c1c7406beac5f64
diff --git a/lxde-base/lxappearance/lxappearance-0.6.4-r2.ebuild b/lxde-base/lxappearance/lxappearance-0.6.4-r2.ebuild
new file mode 100644
index 000000000000..0261d511b9de
--- /dev/null
+++ b/lxde-base/lxappearance/lxappearance-0.6.4-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="LXDE GTK+ theme switcher"
+HOMEPAGE="https://wiki.lxde.org/en/LXAppearance"
+SRC_URI="https://github.com/lxde/lxappearance/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.26.0:2
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=app-text/docbook-xsl-stylesheets-1.70.1
+ app-text/docbook-xml-dtd:4.1.2
+ dev-libs/libxslt
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-gtk3
+ # As of 0.6.4, there's no more dist tarballs, but we
+ # still want man pages.
+ --enable-man
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/lxde-base/lxappearance/metadata.xml b/lxde-base/lxappearance/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxappearance/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxde-common/Manifest b/lxde-base/lxde-common/Manifest
new file mode 100644
index 000000000000..fe1ec1fd864c
--- /dev/null
+++ b/lxde-base/lxde-common/Manifest
@@ -0,0 +1 @@
+DIST lxde-common-0.99.2.tar.xz 889948 BLAKE2B c01b3af5499ed4efe3004c922563c752999921cadab36a7fd5fec56762334c93d22ca7a28e9a8e8ce3462e128bea493740d5aa9931c4bf26cdf8a8dcd1bfb9e6 SHA512 9eb939ad411ed15c6bae880541b5c021ce5f3dd66df8662865e2f7219159110d8bf6059a707e55863d04617b17a15ea517317c44f88982344369aa85b7128b6e
diff --git a/lxde-base/lxde-common/files/lxde b/lxde-base/lxde-common/files/lxde
new file mode 100644
index 000000000000..489ce2d1fe32
--- /dev/null
+++ b/lxde-base/lxde-common/files/lxde
@@ -0,0 +1,90 @@
+#!/bin/sh
+# LXDE Xsession starter, based on Xsession shipped by x11-apps/xinit-1.0.5-r1
+
+# redirect errors to a file in user's home directory if we can
+for errfile in "$HOME/.lxde-errors" "${TMPDIR-/tmp}/lxde-$USER" "/tmp/lxde-$USER"
+do
+ if ( cp /dev/null "$errfile" 2> /dev/null )
+ then
+ chmod 600 "$errfile"
+ exec > "$errfile" 2>&1
+ break
+ fi
+done
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+userxkbmap=$HOME/.Xkbmap
+
+sysresources=/etc/X11/Xresources
+sysmodmap=/etc/X11/Xmodmap
+sysxkbmap=/etc/X11/Xkbmap
+
+rh6sysresources=/etc/X11/xinit/Xresources
+rh6sysmodmap=/etc/X11/xinit/Xmodmap
+
+
+# merge in defaults
+if [ -f "$rh6sysresources" ]; then
+ xrdb -merge "$rh6sysresources"
+fi
+
+if [ -f "$sysresources" ]; then
+ xrdb -merge "$sysresources"
+fi
+
+if [ -f "$userresources" ]; then
+ xrdb -merge "$userresources"
+fi
+
+# merge in keymaps
+if [ -f "$sysxkbmap" ]; then
+ setxkbmap `cat "$sysxkbmap"`
+ XKB_IN_USE=yes
+fi
+
+if [ -f "$userxkbmap" ]; then
+ setxkbmap `cat "$userxkbmap"`
+ XKB_IN_USE=yes
+fi
+
+#
+# Eeek, this seems like too much magic here
+#
+if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then
+ if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then
+ xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config /etc/X11/xorg.conf`
+ if [ -n "$xkbsymbols" ]; then
+ setxkbmap -symbols "$xkbsymbols"
+ XKB_IN_USE=yes
+ fi
+ fi
+fi
+
+# xkb and xmodmap don't play nice together
+if [ -z "$XKB_IN_USE" ]; then
+ if [ -f "$rh6sysmodmap" ]; then
+ xmodmap "$rh6sysmodmap"
+ fi
+
+ if [ -f "$sysmodmap" ]; then
+ xmodmap "$sysmodmap"
+ fi
+
+ if [ -f "$usermodmap" ]; then
+ xmodmap "$usermodmap"
+ fi
+fi
+
+unset XKB_IN_USE
+
+# run all system xinitrc shell scripts.
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+ for i in /etc/X11/xinit/xinitrc.d/* ; do
+ if [ -x "$i" ]; then
+ . "$i"
+ fi
+ done
+fi
+
+exec /usr/bin/startlxde
diff --git a/lxde-base/lxde-common/lxde-common-0.99.2-r1.ebuild b/lxde-base/lxde-common/lxde-common-0.99.2-r1.ebuild
new file mode 100644
index 000000000000..7ee9e3e495b7
--- /dev/null
+++ b/lxde-base/lxde-common/lxde-common-0.99.2-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="LXDE Session default configuration files and nuoveXT2 iconset"
+HOMEPAGE="https://wiki.lxde.org/en/LXDE_Common"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+IUSE=""
+
+BDEPEND="
+ sys-devel/gettext
+ >=dev-util/intltool-0.40.0
+ virtual/pkgconfig
+"
+PDEPEND="lxde-base/lxde-icon-theme"
+
+src_install() {
+ emake DESTDIR="${D}" install
+ # install session file
+ insinto /etc/X11/Sessions/
+ doins "${FILESDIR}/lxde"
+ fperms 755 /etc/X11/Sessions/lxde
+ dodoc AUTHORS ChangeLog README
+}
diff --git a/lxde-base/lxde-common/metadata.xml b/lxde-base/lxde-common/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxde-common/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxde-icon-theme/Manifest b/lxde-base/lxde-icon-theme/Manifest
new file mode 100644
index 000000000000..b06ae63bd566
--- /dev/null
+++ b/lxde-base/lxde-icon-theme/Manifest
@@ -0,0 +1 @@
+DIST lxde-icon-theme-0.5.1.tar.xz 4469552 BLAKE2B 0c2b6cb3c60fc5260c2813db84977167b56898f1388bc034180c2efd6b7d3fe5baea6a18f9cadbf984d3680100bf2c5ebbc8f1130491c41b1223efff889ff4a8 SHA512 4ae0e7efd610bc68c4fec2fa00e83b4cc61a313fa4207c213d592f7c8f40bda79117e45dfe7df537baddc8834a55f8ab8864918655136d938a7201c7520597b5
diff --git a/lxde-base/lxde-icon-theme/lxde-icon-theme-0.5.1-r1.ebuild b/lxde-base/lxde-icon-theme/lxde-icon-theme-0.5.1-r1.ebuild
new file mode 100644
index 000000000000..c8d087818ba3
--- /dev/null
+++ b/lxde-base/lxde-icon-theme/lxde-icon-theme-0.5.1-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xdg
+
+DESCRIPTION="nuoveXT2 iconset"
+HOMEPAGE="https://lxde.org/"
+SRC_URI="https://downloads.sourceforge.net/lxde/LXDE%20Icon%20Theme/${P}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+IUSE=""
+
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
diff --git a/lxde-base/lxde-icon-theme/metadata.xml b/lxde-base/lxde-icon-theme/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxde-icon-theme/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxde-meta/lxde-meta-0.5.5-r8.ebuild b/lxde-base/lxde-meta/lxde-meta-0.5.5-r8.ebuild
new file mode 100644
index 000000000000..ce937c48dde5
--- /dev/null
+++ b/lxde-base/lxde-meta/lxde-meta-0.5.5-r8.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Meta ebuild for LXDE, the Lightweight X11 Desktop Environment"
+HOMEPAGE="https://wiki.lxde.org/en/Status_of_LXDE_components"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+
+RDEPEND="
+ >=lxde-base/menu-cache-1.1.0-r1
+ >=lxde-base/lxappearance-0.6.3-r2
+ >=lxde-base/lxde-icon-theme-0.5.1-r1
+ >=lxde-base/lxde-common-0.99.2-r1
+ >=lxde-base/lxmenu-data-0.1.5
+ >=lxde-base/lxinput-0.3.5-r2
+ >=lxde-base/lxpanel-0.10.1
+ >=lxde-base/lxrandr-0.3.2-r1
+ >=lxde-base/lxsession-0.5.5
+ >=lxde-base/lxtask-0.1.10
+ >=lxde-base/lxterminal-0.3.2-r1
+ media-gfx/gpicview
+ >=x11-libs/libfm-1.3.2
+ >=x11-misc/obconf-2.0.4
+ >=x11-misc/pcmanfm-1.3.2
+ >=x11-wm/openbox-3.6.1-r3
+"
+
+pkg_postinst() {
+ elog "For your convenience you can review the LXDE Configuration HOWTO at"
+ elog "https://www.gentoo.org/proj/en/desktop/lxde/lxde-howto.xml"
+}
diff --git a/lxde-base/lxde-meta/metadata.xml b/lxde-base/lxde-meta/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxde-meta/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxdm/Manifest b/lxde-base/lxdm/Manifest
new file mode 100644
index 000000000000..c32620da1a44
--- /dev/null
+++ b/lxde-base/lxdm/Manifest
@@ -0,0 +1 @@
+DIST lxdm-0.5.3.tar.xz 239132 BLAKE2B 9d27feb60452af49127972ce0ecdc25122f5f86961f65512fd6c185c5d6ca03e637fab703fa2df156dba8a3d0ef4e7cf9f55e20762ba49bb14dc4ee8a82b1fa3 SHA512 0e3539c595a71cb850c1756dd075b8d477a4e111a4167714057cac06650e9587f338f797f14122e7b2a2f4ad35b38cd7172b83e996758abeeaf0146d65bbc26f
diff --git a/lxde-base/lxdm/files/Xsession b/lxde-base/lxdm/files/Xsession
new file mode 100644
index 000000000000..d5df36fbb66d
--- /dev/null
+++ b/lxde-base/lxdm/files/Xsession
@@ -0,0 +1,79 @@
+#!/bin/sh
+#
+# LXDM wrapper to run around X sessions.
+# Copied form lightdm
+
+echo "Running X session wrapper"
+
+#Convert MATE to lower case util MATE scripts are fixed
+[ "$DESKTOP_SESSION" = "MATE" ] && DESKTOP_SESSION=mate
+export DESKTOP_SESSION
+
+# Load profile
+for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
+ if [ -f "$file" ]; then
+ echo "Loading profile from $file";
+ . "$file"
+ fi
+done
+
+# Load resources
+for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
+ if [ -f "$file" ]; then
+ echo "Loading resource: $file"
+ xrdb -nocpp -merge "$file"
+ fi
+done
+
+# Load keymaps
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading keymap: $file"
+ setxkbmap `cat "$file"`
+ XKB_IN_USE=yes
+ fi
+done
+
+# Load xmodmap if not using XKB
+if [ -z "$XKB_IN_USE" ]; then
+ for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading modmap: $file"
+ xmodmap "$file"
+ fi
+ done
+fi
+
+unset XKB_IN_USE
+
+# /etc/X11/xinit/xinitrc.d/80-dbus expects $command to be
+# set to the Xsession arguments. So make it happy. See
+# https://bugs.gentoo.org/show_bug.cgi?id=533456
+command="$@"
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+ for script in $xinitdir/*; do
+ echo "Loading xinit script $script"
+ if [ -x "$script" -a ! -d "$script" ]; then
+ . "$script"
+ fi
+ done
+fi
+
+# Load Xsession scripts
+xsessionddir="/etc/X11/Xsession.d"
+if [ -d "$xsessionddir" ]; then
+ for i in `ls $xsessionddir`; do
+ script="$xsessionddir/$i"
+ echo "Loading X session script $script"
+ if [ -r "$script" -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
+ . "$script"
+ fi
+ done
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $command
diff --git a/lxde-base/lxdm/files/lxdm-0.5.3-pam.patch b/lxde-base/lxdm/files/lxdm-0.5.3-pam.patch
new file mode 100644
index 000000000000..c13f4e7f14bc
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.5.3-pam.patch
@@ -0,0 +1,12 @@
+--- a/pam/lxdm
++++ b/pam/lxdm
+@@ -5,6 +5,8 @@ account include system-auth
+ auth optional pam_gnome_keyring.so
+ account include system-local-login
++-session optional pam_systemd.so class=greeter
++-session optional pam_elogind.so class=greeter
+ session optional pam_keyinit.so force revoke
+ session include system-auth
+-session optional pam_console.so
++#session optional pam_console.so
+ session optional pam_gnome_keyring.so auto_start
diff --git a/lxde-base/lxdm/files/lxdm-0.5.3-portable-msghdr.patch b/lxde-base/lxdm/files/lxdm-0.5.3-portable-msghdr.patch
new file mode 100644
index 000000000000..dc7f8ad016e9
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.5.3-portable-msghdr.patch
@@ -0,0 +1,18 @@
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -117,7 +117,15 @@
+ char ctrl[/*CMSG_SPACE(sizeof(LXDM_CRED))*/1024];
+ struct sockaddr_un peer;
+ struct iovec v={buf,sizeof(buf)};
+- struct msghdr h={&peer,sizeof(peer),&v,1,ctrl,sizeof(ctrl),0};
++ struct msghdr h={
++ .msg_name = &peer,
++ .msg_namelen = sizeof(peer),
++ .msg_iov = &v,
++ .msg_iovlen = 1,
++ .msg_control = ctrl,
++ .msg_controllen = sizeof(ctrl),
++ .msg_flags = 0
++ };
+ struct cmsghdr *cmptr;
+ int ret;
diff --git a/lxde-base/lxdm/files/lxdm-0.5.3-upstream-fixes.patch b/lxde-base/lxdm/files/lxdm-0.5.3-upstream-fixes.patch
new file mode 100644
index 000000000000..0360ebff8d06
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.5.3-upstream-fixes.patch
@@ -0,0 +1,236 @@
+From c6836939c6fd603f86f469bb7c6502b28b1ca583 Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 3 Jan 2016 11:53:13 +0800
+Subject: [PATCH 01/07] create user specific directory under /var/run
+
+---
+ src/lxdm.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/lxdm.c b/src/lxdm.c
+index a37f051..d81b587 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -750,7 +750,13 @@ static char ** create_client_auth(struct passwd *pw,char **env)
+ if(xauth_write_file(authfile,s->display,s->mcookie)==-1)
+ {
+ g_free(authfile);
+- authfile = g_strdup_printf("/var/run/lxdm/.Xauth%d",pw->pw_uid);
++
++ gchar *authdir = g_strdup_printf("/var/run/lxdm/%d", pw->pw_uid);
++ g_mkdir_with_parents(authdir, S_IRWXU);
++ chown(authdir, pw->pw_uid, pw->pw_gid);
++
++ authfile = g_strdup_printf("%s/.Xauthority", authdir);
++ g_free(authdir);
+ remove(authfile);
+ xauth_write_file(authfile,s->display,s->mcookie);
+ }
+--
+2.1.4
+
+
+From 7258b57fd305182c6c031eb8c1ded96c5a06f6da Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Sat, 20 Feb 2016 22:36:59 +0800
+Subject: [PATCH 02/07] fix build before gtk 2.22
+
+---
+ src/greeter-gdk.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/greeter-gdk.c b/src/greeter-gdk.c
+index 1abbefa..ad3267a 100644
+--- a/src/greeter-gdk.c
++++ b/src/greeter-gdk.c
+@@ -22,6 +22,7 @@
+
+ #define XLIB_ILLEGAL_ACCESS
+
++#include <gtk/gtk.h>
+ #include <gdk/gdk.h>
+ #include <gdk/gdkx.h>
+ #include <gdk/gdkkeysyms.h>
+@@ -88,12 +89,14 @@ static void on_ui_expose(void)
+ }
+
+ cr=gdk_cairo_create(win);
++#if GTK_CHECK_VERSION(3,0,0)
+ cairo_pattern_t *pattern=gdk_window_get_background_pattern(win);
+ if(pattern)
+ {
+ cairo_set_source(cr,pattern);
+ cairo_paint(cr);
+ }
++#endif
+
+ gdk_cairo_set_source_color(cr, &bg);
+ cairo_rectangle(cr, rc.x, rc.y, rc.width, rc.height);
+--
+2.1.4
+
+
+From 5d36a53702f1e60bb316946f1edccb2dbc3c01bd Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 21 Feb 2016 10:45:58 +0800
+Subject: [PATCH 03/07] fix with user_list only: problem when password check
+ fail
+
+---
+ src/greeter.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index 10b7f3f..03503b6 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -146,7 +146,7 @@ static void switch_to_input_user(void)
+ if(user_list_scrolled)
+ gtk_widget_show(user_list_scrolled);
+ else
+- gtk_widget_hide(user_list);
++ gtk_widget_show(user_list);
+ gtk_widget_grab_focus(user_list);
+ }
+ else
+--
+2.1.4
+
+
+From fe121ce70ad5e99bd3b3b896dfcbe439dd22716c Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 21 Feb 2016 11:45:35 +0800
+Subject: [PATCH 04/07] fix not honor ctl+alt+backspacer for restarting
+
+---
+ src/lxdm.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/lxdm.c b/src/lxdm.c
+index d81b587..e00d219 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -962,6 +962,11 @@ static void on_xserver_stop(void *data,int pid, int status)
+ s->dpy=NULL;
+ ui_drop();
+ lxdm_startx(s);
++ #ifndef DISABLE_XAUTH
++ char temp[256];
++ sprintf(temp,"/var/run/lxdm/lxdm-:%d.auth",s->display);
++ setenv("XAUTHORITY",temp,1);
++ #endif
+ ui_prepare();
+ lxsession_set_active(s);
+ }
+--
+2.1.4
+
+
+From 72812894cfd9454d70e4b0753531e46580416771 Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Mon, 21 Mar 2016 19:25:25 +0800
+Subject: [PATCH 05/07] fix css under gtk 3.20
+
+---
+ data/themes/Industrial/gtk.css | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/data/themes/Industrial/gtk.css b/data/themes/Industrial/gtk.css
+index 179f0d6..f8e6432 100644
+--- a/data/themes/Industrial/gtk.css
++++ b/data/themes/Industrial/gtk.css
+@@ -17,6 +17,7 @@
+ color: #000000;
+ }
+
++#bottom_pane label,
+ #bottom_pane GtkLabel {
+ font: Sans 12;
+ color: #9E9D9B;
+--
+2.1.4
+
+
+From 855c090f1330aedc97b9a486dcd0d0b4c7ff4f4e Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 16 Oct 2016 12:49:40 +0800
+Subject: [PATCH 06/07] Compile with the musl c library (no execinfo.h)
+
+---
+ configure.ac | 2 +-
+ src/lxdm.c | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 52f2ac9..a9fca61 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,7 +32,7 @@ AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ])
+
+ # Checks for header files.
+ AC_PATH_X
+-AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
++AC_CHECK_HEADERS([execinfo.h shadow.h stdlib.h string.h unistd.h utmpx.h])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_TYPE_PID_T
+diff --git a/src/lxdm.c b/src/lxdm.c
+index e00d219..53d2176 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -49,7 +49,9 @@
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+
++#ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
++#endif
+
+ #ifdef HAVE_UTMPX_H
+ #include <utmpx.h>
+@@ -1552,6 +1554,7 @@ int lxdm_do_auto_login(void)
+
+ static void log_sigsegv(void)
+ {
++#ifdef HAVE_EXECINFO_H
+ void *array[40];
+ size_t size;
+ char **bt_strs;
+@@ -1564,6 +1567,7 @@ static void log_sigsegv(void)
+ fprintf(stderr, "%s\n", bt_strs[i]);
+
+ free(bt_strs);
++#endif
+ }
+
+ static void sigsegv_handler(int sig)
+--
+2.1.4
+
+
+From a548c73e35d62ec334df5cd3a491ee409d0067bd Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Fri, 11 Nov 2016 20:24:30 +0800
+Subject: [PATCH 07/07] fix tcp_listen=1 does not work for mordern X.org
+
+---
+ src/lxdm.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/lxdm.c b/src/lxdm.c
+index 53d2176..722936f 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -490,6 +490,9 @@ static char *lxsession_xserver_command(LXSession *s)
+ {
+ arg[arc++] = g_strdup("-nolisten");
+ arg[arc++] = g_strdup("tcp");
++ } else {
++ arg[arc++] = g_strdup("-listen");
++ arg[arc++] = g_strdup("tcp");
+ }
+ if(!novtswitch)
+ {
+--
+2.1.4
+
diff --git a/lxde-base/lxdm/lxdm-0.5.3-r4.ebuild b/lxde-base/lxdm/lxdm-0.5.3-r4.ebuild
new file mode 100644
index 000000000000..a73049954edc
--- /dev/null
+++ b/lxde-base/lxdm/lxdm-0.5.3-r4.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools strip-linguas systemd
+
+DESCRIPTION="LXDE Display Manager"
+HOMEPAGE="https://wiki.lxde.org/en/LXDM"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~riscv x86"
+
+IUSE="debug elogind nls pam systemd"
+
+# Although cairo, gdk-pixbuf, and pango are not directly checked and often forced by gtk+
+# They are directly referenced in the C code of the greeter and config util
+DEPEND="
+ dev-libs/glib:2
+ x11-libs/cairo[X(-)]
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3[X(-)]
+ x11-libs/pango[X(-)]
+ x11-libs/libX11
+ x11-libs/libxcb:0=
+ virtual/libcrypt:0=
+ pam? ( sys-libs/pam )"
+# We only use the pam modules and not actually link to the code
+RDEPEND="${DEPEND}
+ elogind? ( sys-auth/elogind[pam] )
+ systemd? ( sys-apps/systemd[pam] )
+"
+BDEPEND="
+ app-text/iso-codes
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+DOCS=( AUTHORS README TODO )
+
+REQUIRED_USE="?? ( elogind systemd ) elogind? ( pam ) systemd? ( pam )"
+
+PATCHES=(
+ # Fix consolekit and selinux
+ "${FILESDIR}/${P}-pam.patch"
+ # Apply all upstream fixes in git until 2016-11-11
+ "${FILESDIR}/lxdm-0.5.3-upstream-fixes.patch"
+ "${FILESDIR}/lxdm-0.5.3-portable-msghdr.patch"
+)
+
+src_prepare() {
+ # Upstream bug, tarball contains pre-made lxdm.conf
+ rm "${S}"/data/lxdm.conf || die
+
+ default
+
+ # this replaces the bootstrap/autogen script in most packages
+ eautoreconf
+
+ # process LINGUAS
+ if use nls; then
+ einfo "Running intltoolize ..."
+ intltoolize --force --copy --automake || die
+ strip-linguas -i "${S}/po" || die
+ fi
+}
+src_configure() {
+ econf --enable-password \
+ --with-x \
+ --with-xconn=xcb \
+ --with-systemdsystemunitdir=$(systemd_get_systemunitdir) \
+ --disable-consolekit \
+ --enable-gtk3 \
+ $(use_enable nls) \
+ $(use_enable debug) \
+ $(use_with pam)
+}
+
+src_install() {
+ default_src_install
+
+ #Use Gentoo specific Xsession startup file
+ exeinto /etc/${PN}
+ doexe "${FILESDIR}"/Xsession
+}
diff --git a/lxde-base/lxdm/metadata.xml b/lxde-base/lxdm/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxdm/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxinput/Manifest b/lxde-base/lxinput/Manifest
new file mode 100644
index 000000000000..e009690ad7fc
--- /dev/null
+++ b/lxde-base/lxinput/Manifest
@@ -0,0 +1 @@
+DIST lxinput-0.3.5.tar.xz 145356 BLAKE2B e3c96a1232329afa5030adffc17af4adf9afc3eb1049f860fe6ed115eb35d580c24a69a21a9a858790b9213b7d4dc716ab9e30becf42b4f9645f2ec642de538c SHA512 d5233f03c4314ac16fb548db56ae2d17651b29d8a59bfef3e6e6805f6b9bc8100b0711bbc72e31a6bc458eccc6fe1b4a38cf097dbf6a1b04f600bba58ff03f35
diff --git a/lxde-base/lxinput/lxinput-0.3.5-r2.ebuild b/lxde-base/lxinput/lxinput-0.3.5-r2.ebuild
new file mode 100644
index 000000000000..88063bd7d653
--- /dev/null
+++ b/lxde-base/lxinput/lxinput-0.3.5-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic
+
+DESCRIPTION="LXDE keyboard and mouse configuration tool"
+HOMEPAGE="https://lxde.org/"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # bug #944065
+ append-flags -std=gnu17
+
+ econf --enable-gtk3
+}
diff --git a/lxde-base/lxinput/metadata.xml b/lxde-base/lxinput/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxinput/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxlauncher/Manifest b/lxde-base/lxlauncher/Manifest
new file mode 100644
index 000000000000..8e779c007147
--- /dev/null
+++ b/lxde-base/lxlauncher/Manifest
@@ -0,0 +1 @@
+DIST lxlauncher-0.2.5.tar.xz 131428 BLAKE2B fa12b7d49d0a95b6aa782c2bb338dc26677edf585b2b532e6d457771e450a8fba458c8c5638fd101edf079a3872a322418c44f01b4ccf6118c8a1377c6dd7a8a SHA512 3f57755ad6feeeb1daa61c29f142b997f8175ff0863d1749b3e28b83744d03e06a7f0bb373fdcd48364e307840dd05cd23b92109c75523e32d3eae8e183ed6cf
diff --git a/lxde-base/lxlauncher/lxlauncher-0.2.5-r1.ebuild b/lxde-base/lxlauncher/lxlauncher-0.2.5-r1.ebuild
new file mode 100644
index 000000000000..a5aad561f5f9
--- /dev/null
+++ b/lxde-base/lxlauncher/lxlauncher-0.2.5-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Open source clone of the Asus launcher for EeePC"
+HOMEPAGE="https://wiki.lxde.org/en/LXLauncher"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ gnome-base/gnome-menus
+ lxde-base/menu-cache
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/startup-notification
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+src_configure() {
+ econf \
+ --enable-gtk3
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog README
+}
diff --git a/lxde-base/lxlauncher/metadata.xml b/lxde-base/lxlauncher/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxlauncher/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxmenu-data/Manifest b/lxde-base/lxmenu-data/Manifest
new file mode 100644
index 000000000000..43f5a45cf222
--- /dev/null
+++ b/lxde-base/lxmenu-data/Manifest
@@ -0,0 +1 @@
+DIST lxmenu-data-0.1.5.tar.xz 199192 BLAKE2B 2aeec1e350a06c0fbdc74136590ce132944503f5e411df2c22a0db61cf9ccd02303b28326dde9d0b0ad5098327e9cc35c4a9abccb9ccec0c05370128e68d12ba SHA512 ea1a1ad511d9e56c7692a8d96feb52c53aa7bd7595f2312d4f41fc15a12a056551c70d6a2c55a30f849e2ac2fd1a06436751573472ae70e0158e069736578b40
diff --git a/lxde-base/lxmenu-data/lxmenu-data-0.1.5.ebuild b/lxde-base/lxmenu-data/lxmenu-data-0.1.5.ebuild
new file mode 100644
index 000000000000..bb7232025d66
--- /dev/null
+++ b/lxde-base/lxmenu-data/lxmenu-data-0.1.5.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Provides files needed for LXDE application menus"
+HOMEPAGE="https://lxde.org/"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86"
+IUSE=""
+
+BDEPEND="
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS README
+}
diff --git a/lxde-base/lxmenu-data/metadata.xml b/lxde-base/lxmenu-data/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxmenu-data/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxpanel/Manifest b/lxde-base/lxpanel/Manifest
new file mode 100644
index 000000000000..e4d6ef9ccda5
--- /dev/null
+++ b/lxde-base/lxpanel/Manifest
@@ -0,0 +1 @@
+DIST lxpanel-0.10.1.tar.xz 1548276 BLAKE2B 2ea8628c9c4c7a77d65e58cae0b5656209db63b455299fcda00fe79aae1b139860ed8993ade7db68bbc65f61b8911f40879f1ef9993dc12f15f7480d3ea72cfa SHA512 0478ca1322a6645c5120e0fdb2b6d6409799f3296d971456670eb8b23b8457ae93a966ddcb5b5e5bdbcd694442ade2252d6a3931d36296e19e5339b2d689cfef
diff --git a/lxde-base/lxpanel/files/lxpanel-0.10.1-c99-2.patch b/lxde-base/lxpanel/files/lxpanel-0.10.1-c99-2.patch
new file mode 100644
index 000000000000..e4d674a3fd10
--- /dev/null
+++ b/lxde-base/lxpanel/files/lxpanel-0.10.1-c99-2.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/919092
+https://github.com/lxde/lxpanel/commit/633a2d46ffd37f3acde539de9a2861d1ade49ef8
+
+From 633a2d46ffd37f3acde539de9a2861d1ade49ef8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ingo=20Br=C3=BCckl?= <ib@oddnet.de>
+Date: Mon, 18 Sep 2023 13:59:08 +0200
+Subject: [PATCH] Fix warning that argument is of incompatible pointer type
+
+Cast the netstatus icon appropriately.
+---
+ plugins/netstatus/netstatus-dialog.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/netstatus/netstatus-dialog.c b/plugins/netstatus/netstatus-dialog.c
+index f982b1ed..c4e3e8c1 100644
+--- a/plugins/netstatus/netstatus-dialog.c
++++ b/plugins/netstatus/netstatus-dialog.c
+@@ -880,5 +880,5 @@ void netstatus_dialog_present (GtkWidget *dialog)
+
+ data = g_object_get_data(G_OBJECT(dialog), "netstatus-dialog-data");
+ gtk_window_present(GTK_WINDOW(dialog));
+- gtk_widget_show(data->icon);
++ gtk_widget_show(GTK_WIDGET(data->icon));
+ }
+
diff --git a/lxde-base/lxpanel/files/lxpanel-0.10.1-c99.patch b/lxde-base/lxpanel/files/lxpanel-0.10.1-c99.patch
new file mode 100644
index 000000000000..b7a50f6860ab
--- /dev/null
+++ b/lxde-base/lxpanel/files/lxpanel-0.10.1-c99.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/919092
+https://github.com/lxde/lxpanel/commit/0853b0fc981285ebd2ac52f8dfc2a09b1090748c
+
+From 0853b0fc981285ebd2ac52f8dfc2a09b1090748c Mon Sep 17 00:00:00 2001
+From: Ravi Kant Sharma <600723+raviksharma@users.noreply.github.com>
+Date: Tue, 30 Jul 2024 17:52:07 +0200
+Subject: [PATCH] Fix gcc-14 build error
+
+gcc-14 now treats a conversion between pointers of incompatible types
+as an error.
+--- a/plugins/tray.c
++++ b/plugins/tray.c
+@@ -631,7 +631,7 @@ static GtkWidget *tray_constructor(LXPanel *panel, config_setting_t *settings)
+ /* Add GDK event filter. */
+ gdk_window_add_filter(NULL, (GdkFilterFunc) tray_event_filter, tr);
+ /* Reference the window since it is never added to a container. */
+- tr->invisible = g_object_ref_sink(G_OBJECT(invisible));
++ tr->invisible = GTK_WIDGET(g_object_ref_sink(G_OBJECT(invisible)));
+ tr->invisible_window = GDK_WINDOW_XID(gtk_widget_get_window(invisible));
+
+ /* Allocate top level widget and set into Plugin widget pointer. */
diff --git a/lxde-base/lxpanel/files/lxpanel-0.10.1-fix-pager-panel-width.patch b/lxde-base/lxpanel/files/lxpanel-0.10.1-fix-pager-panel-width.patch
new file mode 100644
index 000000000000..4d53fc8f783d
--- /dev/null
+++ b/lxde-base/lxpanel/files/lxpanel-0.10.1-fix-pager-panel-width.patch
@@ -0,0 +1,37 @@
+From b46e3a39786a5be04bf9cc3844dd184308cd7495 Mon Sep 17 00:00:00 2001
+From: Ben Walsh <b@wumpster.com>
+Date: Sat, 6 Jun 2020 10:38:15 +0100
+Subject: [PATCH] Specify GTK_REQUEST_CONSTANT_SIZE. Fixes #773.
+
+---
+ src/panel.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/panel.c b/src/panel.c
+index da9e718b..b52fc796 100644
+--- a/src/panel.c
++++ b/src/panel.c
+@@ -293,6 +293,12 @@ lxpanel_get_preferred_height (GtkWidget *widget,
+ if (natural_height)
+ *natural_height = requisition.height;
+ }
++
++static GtkSizeRequestMode
++lxpanel_get_request_mode (GtkWidget *widget)
++{
++ return GTK_SIZE_REQUEST_CONSTANT_SIZE;
++}
+ #endif
+
+ static void lxpanel_size_allocate(GtkWidget *widget, GtkAllocation *a)
+@@ -413,6 +419,7 @@ static void lxpanel_class_init(PanelToplevelClass *klass)
+ #if GTK_CHECK_VERSION(3, 0, 0)
+ widget_class->get_preferred_width = lxpanel_get_preferred_width;
+ widget_class->get_preferred_height = lxpanel_get_preferred_height;
++ widget_class->get_request_mode = lxpanel_get_request_mode;
+ #else
+ widget_class->size_request = lxpanel_size_request;
+ #endif
+--
+2.27.0
+
diff --git a/lxde-base/lxpanel/files/lxpanel-0.10.1-icon-grid-taskbar.patch b/lxde-base/lxpanel/files/lxpanel-0.10.1-icon-grid-taskbar.patch
new file mode 100644
index 000000000000..845fb892590e
--- /dev/null
+++ b/lxde-base/lxpanel/files/lxpanel-0.10.1-icon-grid-taskbar.patch
@@ -0,0 +1,40 @@
+https://bugs.gentoo.org/956049
+
+From 57b258a7d703dd94bdcf67c6e92b63b0d402ae43 Mon Sep 17 00:00:00 2001
+From: Ben Walsh <b@wumpster.com>
+Date: Mon, 7 Feb 2022 07:02:05 +0000
+Subject: [PATCH] Correct icon-grid width under GTK3
+
+When opening multiple windows, the Taskbar plugin does not resize the
+taskbar buttons if they exceed the available space. Everything to the
+right of the taskbar slides off the screen instead.
+
+Do not set the minimum width to the same value as the natural (i.e.
+current) width if the width is constrained by the allocated space,
+but set it to the smallest possible value.
+
+This likely fixes github issue #23, reported by FredericGuilbault,
+fixes github issue #29, reported by johnfound,
+fixes github issue #63, reported by LiohMoeller,
+fixes part of https://bugs.debian.org/1052050,
+fixes https://bugs.debian.org/1052376, and
+fixes part of https://sourceforge.net/p/lxde/bugs/968.
+
+(commit message amended by committer)
+---
+ src/icon-grid.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/icon-grid.c b/src/icon-grid.c
+index 2177971e..c0020de3 100644
+--- a/src/icon-grid.c
++++ b/src/icon-grid.c
+@@ -392,7 +392,7 @@ static void panel_icon_grid_get_preferred_width(GtkWidget *widget,
+ }
+ panel_icon_grid_size_request(widget, &requisition);
+ if (minimal_width)
+- *minimal_width = requisition.width;
++ *minimal_width = ig->constrain_width ? 0 : requisition.width;
+ if (natural_width)
+ *natural_width = requisition.width;
+ }
diff --git a/lxde-base/lxpanel/files/lxpanel-0.10.1-netstatus-icon.patch b/lxde-base/lxpanel/files/lxpanel-0.10.1-netstatus-icon.patch
new file mode 100644
index 000000000000..69d78e26e9cb
--- /dev/null
+++ b/lxde-base/lxpanel/files/lxpanel-0.10.1-netstatus-icon.patch
@@ -0,0 +1,79 @@
+https://github.com/lxde/lxpanel/commit/6eebb78d2cb87276334641965793a8feebc952ab
+
+From 6eebb78d2cb87276334641965793a8feebc952ab Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ingo=20Br=C3=BCckl?= <ib@wupperonline.de>
+Date: Fri, 6 Nov 2020 05:56:08 +0100
+Subject: [PATCH] Show the dialog icon after the window has been presented
+
+This fixes a bug that sometimes made the icon not appear where
+it was supposed to, but in the upper left corner of the dialog
+above the tab.
+--- a/plugins/netstatus/netstatus-dialog.c
++++ b/plugins/netstatus/netstatus-dialog.c
+@@ -1,6 +1,7 @@
+ /*
+ * Copyright (C) 2003 Sun Microsystems, Inc.
+ * Copyright (C) 2004 Red Hat Inc.
++ * Copyright (C) 2020 Ingo Brückl
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+@@ -629,7 +630,6 @@ netstatus_dialog_setup_connection (NetstatusDialogData *data)
+ netstatus_icon_set_tooltips_enabled (NETSTATUS_ICON (icon), FALSE);
+ netstatus_icon_set_show_signal (NETSTATUS_ICON (icon), FALSE);
+ gtk_box_pack_end (GTK_BOX (hbox), icon, FALSE, TRUE, 4);
+- gtk_widget_show (icon);
+
+ data->icon = NETSTATUS_ICON (icon);
+
+@@ -873,3 +873,12 @@ const char* netstatus_dialog_get_iface_name( GtkWidget* dialog )
+ data = g_object_get_data (G_OBJECT (dialog), "netstatus-dialog-data");
+ return netstatus_iface_get_name (data->iface);
+ }
++
++void netstatus_dialog_present (GtkWidget *dialog)
++{
++ NetstatusDialogData *data;
++
++ data = g_object_get_data(G_OBJECT(dialog), "netstatus-dialog-data");
++ gtk_window_present(GTK_WINDOW(dialog));
++ gtk_widget_show(data->icon);
++}
+--- a/plugins/netstatus/netstatus-dialog.h
++++ b/plugins/netstatus/netstatus-dialog.h
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright (C) 2003 Sun Microsystems, Inc.
++ * Copyright (C) 2020 Ingo Brückl
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+@@ -38,6 +39,8 @@ const char* netstatus_dialog_get_configuration_tool( GtkWidget* dialog );
+ /* 2009.05.10 Add by Hong Jen Yee (PCMan) to be used in lxpanel plugin */
+ const char* netstatus_dialog_get_iface_name( GtkWidget* dialog );
+
++void netstatus_dialog_present(GtkWidget *dialog);
++
+ G_END_DECLS
+
+ #endif /* __NETSTATUS_DIALOG_H__ */
+--- a/plugins/netstatus/netstatus.c
++++ b/plugins/netstatus/netstatus.c
+@@ -3,6 +3,7 @@
+ * 2008 Fred Chien <fred@lxde.org>
+ * 2009 martyj19 <martyj19@comcast.net>
+ * 2014 Andriy Grytsenko <andrej@rep.kiev.ua>
++ * 2020 Ingo Brückl
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -99,7 +100,7 @@ static gboolean on_button_press( GtkWidget* widget, GdkEventButton* evt, LXPanel
+ netstatus_dialog_set_configuration_tool( ns->dlg, ns->config_tool );
+ g_signal_connect( ns->dlg, "response", G_CALLBACK(on_response), ns );
+ }
+- gtk_window_present( GTK_WINDOW(ns->dlg) );
++ netstatus_dialog_present(ns->dlg);
+ }
+ return TRUE;
+ }
+
diff --git a/lxde-base/lxpanel/lxpanel-0.10.1-r1.ebuild b/lxde-base/lxpanel/lxpanel-0.10.1-r1.ebuild
new file mode 100644
index 000000000000..278213450704
--- /dev/null
+++ b/lxde-base/lxpanel/lxpanel-0.10.1-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1 xdg
+
+DESCRIPTION="Lightweight X11 desktop panel for LXDE"
+HOMEPAGE="https://wiki.lxde.org/en/LXPanel"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+IUSE="+alsa wifi"
+
+RDEPEND="
+ dev-libs/keybinder:3
+ lxde-base/lxmenu-data
+ >=lxde-base/menu-cache-1.1.0-r1
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ >=x11-libs/libfm-1.3.2[gtk]
+ x11-libs/libwnck:3
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libXpm
+ alsa? ( media-libs/alsa-lib )
+ wifi? ( net-wireless/wireless-tools )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ dev-util/intltool
+"
+
+DOC_CONTENTS="If you have problems with broken icons shown in the main panel,
+you will have to configure panel settings via its menu.
+This will not be an issue with first time installations."
+
+PATCHES=(
+ # https://sourceforge.net/p/lxde/bugs/773/
+ "${FILESDIR}/${P}-fix-pager-panel-width.patch"
+ "${FILESDIR}/${PN}-0.10.1-netstatus-icon.patch"
+ "${FILESDIR}/${PN}-0.10.1-c99.patch"
+ "${FILESDIR}/${PN}-0.10.1-c99-2.patch"
+)
+
+src_configure() {
+ xdg_environment_reset
+
+ local plugins="netstatus,volume,cpu,deskno,batt,kbled,xkb,thermal,cpufreq,monitors"
+
+ use wifi && plugins+=",netstat"
+ use alsa && plugins+=",volumealsa"
+
+ econf \
+ $(use_enable alsa) \
+ --enable-gtk3 \
+ --with-x \
+ --with-plugins="${plugins}"
+ # the gtk+ dep already pulls in libX11, so we might as well hardcode with-x
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/lxde-base/lxpanel/lxpanel-0.10.1-r2.ebuild b/lxde-base/lxpanel/lxpanel-0.10.1-r2.ebuild
new file mode 100644
index 000000000000..eb82ce90e62b
--- /dev/null
+++ b/lxde-base/lxpanel/lxpanel-0.10.1-r2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1 xdg
+
+DESCRIPTION="Lightweight X11 desktop panel for LXDE"
+HOMEPAGE="https://wiki.lxde.org/en/LXPanel"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+IUSE="+alsa wifi"
+
+RDEPEND="
+ dev-libs/keybinder:3
+ lxde-base/lxmenu-data
+ >=lxde-base/menu-cache-1.1.0-r1
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ >=x11-libs/libfm-1.3.2[gtk]
+ x11-libs/libwnck:3
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libXpm
+ alsa? ( media-libs/alsa-lib )
+ wifi? ( net-wireless/wireless-tools )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ dev-util/intltool
+"
+
+DOC_CONTENTS="If you have problems with broken icons shown in the main panel,
+you will have to configure panel settings via its menu.
+This will not be an issue with first time installations."
+
+PATCHES=(
+ # https://sourceforge.net/p/lxde/bugs/773/
+ "${FILESDIR}/${P}-fix-pager-panel-width.patch"
+ "${FILESDIR}/${PN}-0.10.1-netstatus-icon.patch"
+ "${FILESDIR}/${PN}-0.10.1-c99.patch"
+ "${FILESDIR}/${PN}-0.10.1-c99-2.patch"
+ "${FILESDIR}/${PN}-0.10.1-icon-grid-taskbar.patch"
+)
+
+src_configure() {
+ xdg_environment_reset
+
+ local plugins="netstatus,volume,cpu,deskno,batt,kbled,xkb,thermal,cpufreq,monitors"
+
+ use wifi && plugins+=",netstat"
+ use alsa && plugins+=",volumealsa"
+
+ econf \
+ $(use_enable alsa) \
+ --enable-gtk3 \
+ --with-x \
+ --with-plugins="${plugins}"
+ # the gtk+ dep already pulls in libX11, so we might as well hardcode with-x
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/lxde-base/lxpanel/metadata.xml b/lxde-base/lxpanel/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxpanel/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxrandr/Manifest b/lxde-base/lxrandr/Manifest
new file mode 100644
index 000000000000..0dacaa0ac3dc
--- /dev/null
+++ b/lxde-base/lxrandr/Manifest
@@ -0,0 +1 @@
+DIST lxrandr-0.3.2.tar.xz 134072 BLAKE2B 8c8e7985b20c4b90d610b51ffbb7c6f02096f9b2550ea69f16bd0ae8840456a605d646d83cb2a70550a84aaca87deb6496b811fe79990cf36994b2b66aee7915 SHA512 9f00f885e4af3544d9bf8a7581d5b9e3049c1fac174c119dda8c85f2f94aa7be241b6e06e5fe86596a0fb65a38bfe1983ced91c064339a60b19f506ed337ee4f
diff --git a/lxde-base/lxrandr/lxrandr-0.3.2-r1.ebuild b/lxde-base/lxrandr/lxrandr-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..251af1934204
--- /dev/null
+++ b/lxde-base/lxrandr/lxrandr-0.3.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="LXDE GUI interface to RandR extention"
+HOMEPAGE="https://wiki.lxde.org/en/LXRandR"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-apps/xrandr
+ x11-libs/gtk+:3
+ x11-libs/libXrandr
+"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+"
+BDEPEND="
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+src_configure() {
+ econf \
+ --enable-gtk3
+}
diff --git a/lxde-base/lxrandr/metadata.xml b/lxde-base/lxrandr/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxrandr/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxsession/Manifest b/lxde-base/lxsession/Manifest
new file mode 100644
index 000000000000..4e1ee31f3d47
--- /dev/null
+++ b/lxde-base/lxsession/Manifest
@@ -0,0 +1 @@
+DIST lxsession-0.5.6.tar.gz 313234 BLAKE2B 9de9af894764fa939822d68ec65c8d136df306ac5d402773266f55b2aa54c20fb88d38fdde490703283ae0cfc43451dff68506e1d940148375b320113781617d SHA512 f54e2bf802374667d7557b0129373a3972e1395a21a856e9f74535cba913ceb4b109c1856426cd4ca7f5759d158d63b7068e16d9fc6b4a2102ad89eb5abccb23
diff --git a/lxde-base/lxsession/files/lxsession-0.5.2-notify-daemon-default.patch b/lxde-base/lxsession/files/lxsession-0.5.2-notify-daemon-default.patch
new file mode 100644
index 000000000000..ffca8227209a
--- /dev/null
+++ b/lxde-base/lxsession/files/lxsession-0.5.2-notify-daemon-default.patch
@@ -0,0 +1,13 @@
+--- lxsession-0.5.2/lxsession/settings.vala.notify 2015-08-11 14:14:22.187535605 +0900
++++ lxsession-0.5.2/lxsession/settings.vala 2015-08-11 14:37:18.868694268 +0900
+@@ -258,6 +258,10 @@
+ set_generic_default("Session", "proxy_manager", "command", "string", "build-in");
+ set_generic_default("Session", "keyring", "command", "string", "ssh-agent");
+
++ set_generic_default("Session", "notification", "command", "string", "/usr/libexec/notification-daemon");
++ set_generic_default("Session", "notification", "autostart", "string", "true");
++
++
+ /* Set Xsettings default */
+
+ set_generic_default("GTK", "iXft", "Antialias", "string", "1");
diff --git a/lxde-base/lxsession/files/lxsession-0.5.2-reload.patch b/lxde-base/lxsession/files/lxsession-0.5.2-reload.patch
new file mode 100644
index 000000000000..d7e9164e7286
--- /dev/null
+++ b/lxde-base/lxsession/files/lxsession-0.5.2-reload.patch
@@ -0,0 +1,43 @@
+--- lxsession-0.5.2/Makefile.am.debug 2014-11-29 23:50:05.000000000 +0900
++++ lxsession-0.5.2/Makefile.am 2015-06-17 11:08:14.510501437 +0900
+@@ -424,6 +424,7 @@
+ --pkg gio-2.0 \
+ --pkg posix \
+ --pkg lxsettings-daemon \
++ --pkg xevent \
+ $(buildinclip_VALAFLAGS) \
+ $(buildinpolkit_VALAFLAGS) \
+ $(NULL)
+--- lxsession-0.5.2/lxsession/main.vala.debug 2014-10-05 08:49:49.000000000 +0900
++++ lxsession-0.5.2/lxsession/main.vala 2015-06-17 11:19:54.979024117 +0900
+@@ -96,6 +96,17 @@
+ return -1;
+ }
+
++ if (xevent_init() == false)
++ {
++ return 1;
++ }
++
++ if (reload == true)
++ {
++ send_internal_command(LXS_CMD.RELOAD);
++ return 0;
++ }
++
+ message ("Session is %s",session);
+ message ("DE is %s", desktop_environnement);
+
+--- lxsession-0.5.2/vapi/xevent.vapi.debug 2015-06-17 11:08:14.520501444 +0900
++++ lxsession-0.5.2/vapi/xevent.vapi 2015-06-17 11:20:16.384040089 +0900
+@@ -0,0 +1,10 @@
++[CCode (cprefix = "LxsessionXEvent", cheader_filename = "lxsettings-daemon/xevent.h")]
++ public static void send_internal_command( int cmd );
++ public static bool xevent_init();
++
++[CCode (cname = "int", cprefix = "LXS_", cheader_filename = "lxsettings-daemon/xevent.h", has_type_id = false)]
++ public enum LXS_CMD {
++ RELOAD,
++ EXIT,
++ LAST_CMD
++ }
diff --git a/lxde-base/lxsession/lxsession-0.5.6.ebuild b/lxde-base/lxsession/lxsession-0.5.6.ebuild
new file mode 100644
index 000000000000..329996efc6f4
--- /dev/null
+++ b/lxde-base/lxsession/lxsession-0.5.6.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit vala autotools
+
+DESCRIPTION="LXDE session manager"
+HOMEPAGE="https://github.com/lxde/lxsession"
+SRC_URI="https://github.com/lxde/lxsession/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+IUSE="nls upower"
+# No real tests and as of 0.5.6, fails on an nls linting issue.
+RESTRICT="test"
+
+COMMON_DEPEND="
+ >=dev-libs/glib-2.32.0:2
+ >=lxde-base/lxde-common-0.99.2-r1
+ sys-apps/dbus
+ sys-auth/polkit
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ !lxde-base/lxsession-edit
+ sys-apps/lsb-release
+ upower? ( sys-power/upower )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ x11-base/xorg-proto
+"
+BDEPEND="
+ $(vala_depend)
+ >=app-text/docbook-xsl-stylesheets-1.70.1
+ app-text/docbook-xml-dtd:4.1.2
+ dev-libs/libxslt
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Fedora patches
+ "${FILESDIR}"/${PN}-0.5.2-reload.patch
+ "${FILESDIR}"/${PN}-0.5.2-notify-daemon-default.patch
+)
+
+src_prepare() {
+ # Not needed w/o a release tarball
+ #rm *.stamp || die
+
+ vala_setup
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # dbus is used for restart/shutdown (logind), and suspend/hibernate (UPower)
+ local myeconfargs=(
+ --enable-gtk3
+ $(use_enable nls)
+ # As of 0.5.6, there's no more dist tarballs, but we
+ # still want man pages.
+ --enable-man
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/lxde-base/lxsession/metadata.xml b/lxde-base/lxsession/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxsession/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxtask/Manifest b/lxde-base/lxtask/Manifest
new file mode 100644
index 000000000000..b55f3b1c1330
--- /dev/null
+++ b/lxde-base/lxtask/Manifest
@@ -0,0 +1 @@
+DIST lxtask-0.1.10.tar.xz 138116 BLAKE2B 38fc7e4192a04a3748d14148d7defe71e766f802b869468c25aca971d58072824377da374b72116c924310a5a001f65680d878a6bc0afd59609ede63a590fc49 SHA512 21f3a145939b53136be11892d183f3549b1a736070bb0c69e0932009d46abfd4956d1ec1d904e58bd6fca0a30fa0cca0cce897a83113c3fe1591300cfddae99a
diff --git a/lxde-base/lxtask/lxtask-0.1.10.ebuild b/lxde-base/lxtask/lxtask-0.1.10.ebuild
new file mode 100644
index 000000000000..2b0eb765bb46
--- /dev/null
+++ b/lxde-base/lxtask/lxtask-0.1.10.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="LXDE Task manager"
+HOMEPAGE="https://wiki.lxde.org/en/LXTask"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/gtk+:3
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+src_configure() {
+ econf \
+ --enable-gtk3
+}
diff --git a/lxde-base/lxtask/metadata.xml b/lxde-base/lxtask/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxtask/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/lxterminal/Manifest b/lxde-base/lxterminal/Manifest
new file mode 100644
index 000000000000..54dd6f9bb61c
--- /dev/null
+++ b/lxde-base/lxterminal/Manifest
@@ -0,0 +1 @@
+DIST lxterminal-0.4.0_p20230917.tar.gz 163085 BLAKE2B c26051fdf814da3989d74a14ad726b72e45afb1189c01ac6f3897daecc2473c3cfe1574976ab96bfe08ce7e2b84652471b6e839a17dd0c44932244c5936bd8c1 SHA512 4d00e979add7c2322703d0761707d9a935bb839ffcc981a61c51f28cb37466768c373dc03b9d8ae159e0e919d824c7d7f20bb9b2abda465092016c3692449c9d
diff --git a/lxde-base/lxterminal/files/lxterminal-0.4.0-c99.patch b/lxde-base/lxterminal/files/lxterminal-0.4.0-c99.patch
new file mode 100644
index 000000000000..7694e94b34af
--- /dev/null
+++ b/lxde-base/lxterminal/files/lxterminal-0.4.0-c99.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/919094
+https://github.com/lxde/lxterminal/issues/121
+https://github.com/lxde/lxterminal/pull/122
+https://src.fedoraproject.org/rpms/lxterminal/blob/rawhide/f/lxterminal-pr122-fix-gcc14-incompatible-pointer-types.patch
+
+From c947b9065b470c24064ac1b1c4935e8093970531 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Wed, 21 Feb 2024 17:01:14 +0900
+Subject: [PATCH] Fix: support gcc14 -Werror=incompatible-pointer-types
+
+gcc14 now defaults to -Werror=incompatible-pointer-types .
+Fix code to support this.
+
+* Add GTK cast for GTK_STYLE_PROVIDER
+* VteRegex must be deref'ed with vte_regex_unref
+
+Fixes #121 .
+---
+ src/lxterminal.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/lxterminal.c b/src/lxterminal.c
+index 680e411..dcd7405 100644
+--- a/src/lxterminal.c
++++ b/src/lxterminal.c
+@@ -1208,7 +1208,7 @@ static Term * terminal_new(LXTerminal * terminal, const gchar * label, const gch
+ GtkStyleContext* box_style_ctx =
+ gtk_widget_get_style_context(GTK_WIDGET(terminal->box));
+ gtk_style_context_add_provider(
+- box_style_ctx, box_css_provider,
++ box_style_ctx, GTK_STYLE_PROVIDER(box_css_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+ #endif
+
+@@ -1232,6 +1232,8 @@ static Term * terminal_new(LXTerminal * terminal, const gchar * label, const gch
+ vte_terminal_match_set_cursor_name(VTE_TERMINAL(term->vte), ret, "pointer");
+ ret = vte_terminal_match_add_regex(VTE_TERMINAL(term->vte), dingus2, 0);
+ vte_terminal_match_set_cursor_name(VTE_TERMINAL(term->vte), ret, "pointer");
++ vte_regex_unref(dingus1);
++ vte_regex_unref(dingus2);
+ #else
+ GRegex * dingus1 = g_regex_new(DINGUS1, G_REGEX_OPTIMIZE, 0, NULL);
+ GRegex * dingus2 = g_regex_new(DINGUS2, G_REGEX_OPTIMIZE, 0, NULL);
+@@ -1239,9 +1241,9 @@ static Term * terminal_new(LXTerminal * terminal, const gchar * label, const gch
+ vte_terminal_match_set_cursor_name(VTE_TERMINAL(term->vte), ret, "pointer");
+ ret = vte_terminal_match_add_gregex(VTE_TERMINAL(term->vte), dingus2, 0);
+ vte_terminal_match_set_cursor_name(VTE_TERMINAL(term->vte), ret, "pointer");
+-#endif
+ g_regex_unref(dingus1);
+ g_regex_unref(dingus2);
++#endif
+
+ /* Create a horizontal box inside an event box as the toplevel for the tab label. */
+ term->tab = gtk_event_box_new();
diff --git a/lxde-base/lxterminal/files/lxterminal-0.4.0-crash-on-exit.patch b/lxde-base/lxterminal/files/lxterminal-0.4.0-crash-on-exit.patch
new file mode 100644
index 000000000000..bdf9ca1f3c98
--- /dev/null
+++ b/lxde-base/lxterminal/files/lxterminal-0.4.0-crash-on-exit.patch
@@ -0,0 +1,57 @@
+https://src.fedoraproject.org/rpms/lxterminal/blob/rawhide/f/lxterminal-0.4.0-avoid-segv-on-window-close.patch
+--- lxterminal-0.4.0/src/lxterminal.c.orig 2023-05-26 13:59:55.800250980 +0900
++++ lxterminal-0.4.0/src/lxterminal.c 2023-06-09 14:03:22.478441852 +0900
+@@ -59,6 +59,7 @@ static void terminal_new_window_activate
+ static void terminal_new_tab_activate_event(GtkAction * action, LXTerminal * terminal);
+ static void terminal_close_tab_activate_event(GtkAction * action, LXTerminal * terminal);
+ static void terminal_close_window_activate_event(GtkAction * action, LXTerminal * terminal);
++static void terminal_close_window_activate_event_internal(GtkAction * action, LXTerminal * terminal);
+ static void terminal_open_url_activate_event(GtkAction * action, LXTerminal * terminal);
+ static void terminal_copy_url_activate_event(GtkAction * action, LXTerminal * terminal);
+ static void terminal_copy_activate_event(GtkAction * action, LXTerminal * terminal);
+@@ -480,15 +481,28 @@ static void terminal_close_window_activa
+ if (!terminal_close_window_confirmation_dialog(terminal)) {
+ return;
+ }
++ terminal_close_window_activate_event_internal(action, terminal);
++}
+
++static void terminal_close_window_activate_event_internal(GtkAction * action, LXTerminal * terminal)
++{
+ /* Play it safe and delete tabs one by one. */
+- while(terminal->terms->len > 0) {
++ while(1 /* terminal->terms->len > 0 */) {
++ /* terminal_child_exited_event() finally frees terminal->terms */
++ /* terminal_window_exit() finally frees terminal itself
++ when closing one window of multiple ones
++ */
++ guint len = terminal->terms->len;
+ Term *term = g_ptr_array_index(terminal->terms, 0);
+ #if VTE_CHECK_VERSION (0, 38, 0)
+ terminal_child_exited_event(VTE_TERMINAL(term->vte), 0, term);
+ #else
+ terminal_child_exited_event(VTE_TERMINAL(term->vte), term);
+ #endif
++ if (len <= 1) {
++ break;
++ }
++
+ }
+ }
+
+@@ -838,7 +852,15 @@ static void terminal_window_title_change
+ /* Handler for "delete-event" signal on a LXTerminal. */
+ static gboolean terminal_close_window_confirmation_event(GtkWidget * widget, GdkEventButton * event, LXTerminal * terminal)
+ {
++#if 0
+ return !terminal_close_window_confirmation_dialog(terminal);
++#else
++ gboolean status = terminal_close_window_confirmation_dialog(terminal);
++ if (status) {
++ terminal_close_window_activate_event_internal(NULL, terminal);
++ }
++ return TRUE; /* Always nuke this event, call the above function explicitly */
++#endif
+ }
+
+ /* Display closing tabs warning */
diff --git a/lxde-base/lxterminal/lxterminal-0.4.0_p20230917-r1.ebuild b/lxde-base/lxterminal/lxterminal-0.4.0_p20230917-r1.ebuild
new file mode 100644
index 000000000000..9739cc39e9de
--- /dev/null
+++ b/lxde-base/lxterminal/lxterminal-0.4.0_p20230917-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools xdg
+
+DESCRIPTION="Lightweight vte-based tabbed terminal emulator for LXDE"
+HOMEPAGE="https://wiki.lxde.org/en/LXTerminal"
+if [[ ${PV} == *_p* ]] ; then
+ TERMINAL_COMMIT="9b4299c292567b371158368686088900a4c0a128"
+ SRC_URI="https://github.com/lxde/lxterminal/archive/${TERMINAL_COMMIT}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${TERMINAL_COMMIT}
+else
+ SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~x86"
+
+DEPEND="
+ dev-libs/glib:2
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/pango
+ >=x11-libs/vte-0.28.0:2.91
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.0-crash-on-exit.patch
+ "${FILESDIR}"/${PN}-0.4.0-c99.patch
+)
+
+src_prepare() {
+ default
+
+ xdg_environment_reset
+
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-man --enable-gtk3
+}
diff --git a/lxde-base/lxterminal/metadata.xml b/lxde-base/lxterminal/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/lxde-base/lxterminal/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/menu-cache/Manifest b/lxde-base/menu-cache/Manifest
new file mode 100644
index 000000000000..c6bd026bf648
--- /dev/null
+++ b/lxde-base/menu-cache/Manifest
@@ -0,0 +1 @@
+DIST menu-cache-1.1.0.tar.xz 265524 BLAKE2B af7caea53a30be53836ccb7d75b0817aef610815009f22dc56fb6d412508ce27a6a5625c25f92faaafe8123dd73ddb2b3f83484e48c1b5deb635c9d630cc868c SHA512 e4c6619ade7b9a1b97c1366bb94dffb9975be5664b193cf0c69cf9470ef7ae19bda3390d04d98ee9a5b1658ec48aa5c83508c26c347af689161ee67c076b3c9e
diff --git a/lxde-base/menu-cache/files/menu-cache-1.1.0-fno-common.diff b/lxde-base/menu-cache/files/menu-cache-1.1.0-fno-common.diff
new file mode 100644
index 000000000000..aa12997026c3
--- /dev/null
+++ b/lxde-base/menu-cache/files/menu-cache-1.1.0-fno-common.diff
@@ -0,0 +1,88 @@
+diff --git a/menu-cache-gen/menu-tags.h b/menu-cache-gen/menu-tags.h
+index f3fd7d3..f71c0bc 100644
+--- a/menu-cache-gen/menu-tags.h
++++ b/menu-cache-gen/menu-tags.h
+@@ -22,38 +22,17 @@
+ #include <libfm/fm-extra.h>
+ #include <menu-cache.h>
+
+-FmXmlFileTag menuTag_Menu;
+-FmXmlFileTag menuTag_AppDir;
+-FmXmlFileTag menuTag_DefaultAppDirs;
+-FmXmlFileTag menuTag_DirectoryDir;
+-FmXmlFileTag menuTag_DefaultDirectoryDirs;
+-FmXmlFileTag menuTag_Include;
+-FmXmlFileTag menuTag_Exclude;
+-FmXmlFileTag menuTag_Filename;
+-FmXmlFileTag menuTag_Or;
+-FmXmlFileTag menuTag_And;
+-FmXmlFileTag menuTag_Not;
+-FmXmlFileTag menuTag_Category;
+-FmXmlFileTag menuTag_MergeFile;
+-FmXmlFileTag menuTag_MergeDir;
+-FmXmlFileTag menuTag_DefaultMergeDirs;
+-FmXmlFileTag menuTag_Directory;
+-FmXmlFileTag menuTag_Name;
+-FmXmlFileTag menuTag_Deleted;
+-FmXmlFileTag menuTag_NotDeleted;
+-FmXmlFileTag menuTag_OnlyUnallocated;
+-FmXmlFileTag menuTag_NotOnlyUnallocated;
+-FmXmlFileTag menuTag_All;
+-FmXmlFileTag menuTag_LegacyDir;
+-FmXmlFileTag menuTag_KDELegacyDirs;
+-FmXmlFileTag menuTag_Move;
+-FmXmlFileTag menuTag_Old;
+-FmXmlFileTag menuTag_New;
+-FmXmlFileTag menuTag_Layout;
+-FmXmlFileTag menuTag_DefaultLayout;
+-FmXmlFileTag menuTag_Menuname;
+-FmXmlFileTag menuTag_Separator;
+-FmXmlFileTag menuTag_Merge;
++extern FmXmlFileTag menuTag_AppDir;
++extern FmXmlFileTag menuTag_DirectoryDir;
++extern FmXmlFileTag menuTag_Include;
++extern FmXmlFileTag menuTag_Exclude;
++extern FmXmlFileTag menuTag_Filename;
++extern FmXmlFileTag menuTag_Or;
++extern FmXmlFileTag menuTag_And;
++extern FmXmlFileTag menuTag_Not;
++extern FmXmlFileTag menuTag_Category;
++extern FmXmlFileTag menuTag_All;
++extern FmXmlFileTag menuTag_LegacyDir;
+
+ typedef enum {
+ MERGE_NONE, /* starting value */
+@@ -152,19 +131,19 @@ typedef struct {
+ } MenuRule;
+
+ /* requested language(s) */
+-char **languages;
++extern char **languages;
+
+ /* list of menu files to monitor */
+-GSList *MenuFiles;
++extern GSList *MenuFiles;
+
+ /* list of menu dirs to monitor */
+-GSList *MenuDirs;
++extern GSList *MenuDirs;
+
+ /* list of available app dirs */
+-GSList *AppDirs;
++extern GSList *AppDirs;
+
+ /* list of available dir dirs */
+-GSList *DirDirs;
++extern GSList *DirDirs;
+
+ /* parse and merge menu files */
+ MenuMenu *get_merged_menu(const char *file, FmXmlFile **xmlfile, GError **error);
+@@ -177,7 +156,7 @@ gboolean save_menu_cache(MenuMenu *layout, const char *menuname, const char *fil
+ void _free_layout_items(GList *data);
+
+ /* verbosity level */
+-gint verbose;
++extern gint verbose;
+
+ #define DBG if (verbose) g_debug
+ #define VDBG if (verbose > 1) g_debug
diff --git a/lxde-base/menu-cache/files/menu-cache-1.1.0-memleak.patch b/lxde-base/menu-cache/files/menu-cache-1.1.0-memleak.patch
new file mode 100644
index 000000000000..faa91fff3e92
--- /dev/null
+++ b/lxde-base/menu-cache/files/menu-cache-1.1.0-memleak.patch
@@ -0,0 +1,37 @@
+From 97e5de8682c0c44fe4e6a2df864c5fdf76cd77cc Mon Sep 17 00:00:00 2001
+From: Palo Kisa <palo.kisa@gmail.com>
+Date: Thu, 30 Nov 2017 11:36:18 +0100
+Subject: [PATCH] libmenu-cache: Fix memory leaks
+
+---
+ libmenu-cache/menu-cache.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libmenu-cache/menu-cache.c b/libmenu-cache/menu-cache.c
+index 5025d72..273b503 100644
+--- a/libmenu-cache/menu-cache.c
++++ b/libmenu-cache/menu-cache.c
+@@ -379,11 +379,15 @@ static MenuCacheItem* read_item(GDataInputStream* f, MenuCache* cache,
+ else /* separator */
+ {
+ item->type = MENU_CACHE_TYPE_SEP;
++ g_free(line);
+ return item;
+ }
+ }
+ else
++ {
++ g_free(line);
+ return NULL;
++ }
+
+ item->id = g_strndup( line + 1, len - 1 );
+ g_free(line);
+@@ -923,6 +927,7 @@ gboolean menu_cache_item_unref(MenuCacheItem* item)
+ else
+ {
+ MenuCacheApp* app = MENU_CACHE_APP(item);
++ g_free(app->generic_name);
+ g_free( app->exec );
+ g_free(app->try_exec);
+ g_free(app->working_dir);
diff --git a/lxde-base/menu-cache/menu-cache-1.1.0-r1.ebuild b/lxde-base/menu-cache/menu-cache-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..fa49f6e8d11b
--- /dev/null
+++ b/lxde-base/menu-cache/menu-cache-1.1.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Library to create and utilize caches to speed up freedesktop application menus"
+HOMEPAGE="https://lxde.org/"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/2" # ABI is v2. See Makefile.am
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ~ppc64 ~riscv x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/libfm-extra
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fno-common.diff # upstream PR#19
+ "${FILESDIR}"/${P}-memleak.patch # git master
+)
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/lxde-base/menu-cache/metadata.xml b/lxde-base/menu-cache/metadata.xml
new file mode 100644
index 000000000000..b11988b566c7
--- /dev/null
+++ b/lxde-base/menu-cache/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>lxqt@gentoo.org</email>
+ <name>LXQt</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:libmenu-cache_project:libmenu-cache</remote-id>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/lxde-base/metadata.xml b/lxde-base/metadata.xml
new file mode 100644
index 000000000000..345385d7f76a
--- /dev/null
+++ b/lxde-base/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The lxde-base category contains core packages for LXDE,
+ the Lightweight X11 Desktop Environment.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie lxde-base enthält grundlegende Pakete für LXDE,
+ das "Lightweight X11 Desktop Environment".
+ </longdescription>
+ <longdescription lang="es">
+ La categoría lxde-base contiene paquetes vitales para LXDE, el
+ entorno de escritorio ligero X11.
+ </longdescription>
+</catmetadata>