summaryrefslogtreecommitdiff
path: root/gnustep-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 /gnustep-base
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'gnustep-base')
-rw-r--r--gnustep-base/gnustep-back-art/Manifest1
-rw-r--r--gnustep-base/gnustep-back-art/files/gnustep-back-art-0.32.0-gcc15.patch131
-rw-r--r--gnustep-base/gnustep-back-art/gnustep-back-art-0.32.0.ebuild90
-rw-r--r--gnustep-base/gnustep-back-art/metadata.xml29
-rw-r--r--gnustep-base/gnustep-back-cairo/Manifest1
-rw-r--r--gnustep-base/gnustep-back-cairo/files/gnustep-back-cairo-0.32.0-gcc15.patch131
-rw-r--r--gnustep-base/gnustep-back-cairo/gnustep-back-cairo-0.32.0.ebuild55
-rw-r--r--gnustep-base/gnustep-back-cairo/metadata.xml12
-rw-r--r--gnustep-base/gnustep-back-xlib/Manifest1
-rw-r--r--gnustep-base/gnustep-back-xlib/files/gnustep-back-xlib-0.32.0-gcc15.patch131
-rw-r--r--gnustep-base/gnustep-back-xlib/gnustep-back-xlib-0.32.0.ebuild52
-rw-r--r--gnustep-base/gnustep-back-xlib/metadata.xml29
-rw-r--r--gnustep-base/gnustep-base/Manifest2
-rw-r--r--gnustep-base/gnustep-base/files/gnustep-base-1.26.0-no_compress_man.patch33
-rw-r--r--gnustep-base/gnustep-base/files/gnustep-base-1.31.0-c23.patch47
-rw-r--r--gnustep-base/gnustep-base/files/gnustep-base-1.31.1-openapp_path.patch24
-rw-r--r--gnustep-base/gnustep-base/gnustep-base-1.31.1-r1.ebuild129
-rw-r--r--gnustep-base/gnustep-base/metadata.xml13
-rw-r--r--gnustep-base/gnustep-gui/Manifest1
-rw-r--r--gnustep-base/gnustep-gui/gnustep-gui-0.32.0.ebuild63
-rw-r--r--gnustep-base/gnustep-gui/metadata.xml31
-rw-r--r--gnustep-base/gnustep-make/Manifest2
-rw-r--r--gnustep-base/gnustep-make/files/gnustep-5.csh12
-rw-r--r--gnustep-base/gnustep-make/files/gnustep-5.sh18
-rw-r--r--gnustep-base/gnustep-make/files/gnustep-make-2.9.0-no_compress_man_pages.patch29
-rw-r--r--gnustep-base/gnustep-make/files/gnustep-make-2.9.3-support-libdispatch-in-libobjc2.patch370
-rw-r--r--gnustep-base/gnustep-make/gnustep-make-2.9.3-r2.ebuild149
-rw-r--r--gnustep-base/gnustep-make/metadata.xml20
-rw-r--r--gnustep-base/gnustep-updater/Manifest1
-rw-r--r--gnustep-base/gnustep-updater/gnustep-updater-0.3-r1.ebuild29
-rw-r--r--gnustep-base/gnustep-updater/metadata.xml9
-rw-r--r--gnustep-base/libobjc2/Manifest1
-rw-r--r--gnustep-base/libobjc2/files/libobjc2-2.3-incompatible-pointers.patch27
-rw-r--r--gnustep-base/libobjc2/libobjc2-2.3-r1.ebuild45
-rw-r--r--gnustep-base/libobjc2/libobjc2-2.3.ebuild44
-rw-r--r--gnustep-base/libobjc2/metadata.xml31
-rw-r--r--gnustep-base/metadata.xml32
-rw-r--r--gnustep-base/mknfonts/Manifest1
-rw-r--r--gnustep-base/mknfonts/files/mknfonts-0.5-pkgconfig.patch13
-rw-r--r--gnustep-base/mknfonts/files/mknfonts-rename.patch15
-rw-r--r--gnustep-base/mknfonts/metadata.xml9
-rw-r--r--gnustep-base/mknfonts/mknfonts-0.5-r3.ebuild33
42 files changed, 1896 insertions, 0 deletions
diff --git a/gnustep-base/gnustep-back-art/Manifest b/gnustep-base/gnustep-back-art/Manifest
new file mode 100644
index 000000000000..13c89b2b3298
--- /dev/null
+++ b/gnustep-base/gnustep-back-art/Manifest
@@ -0,0 +1 @@
+DIST gnustep-back-0.32.0.tar.gz 1036424 BLAKE2B 372b6c438531e5a956d215b864f02fdaf985082b6d2fc22c4a91344b6900ab81691c6ef63a680b2bbc10f86c6ba2ed51d1867dd63ef10feb4a812c6cd3e01edd SHA512 8405f00241983d5c33b91ebb0cf810c64b8e83887eeabd0ba6418c75b4c0b6c56af9aac243dffc88d6e84aef80e3d0ec334e22b06d5abd5390c2f086d6795cbe
diff --git a/gnustep-base/gnustep-back-art/files/gnustep-back-art-0.32.0-gcc15.patch b/gnustep-base/gnustep-back-art/files/gnustep-back-art-0.32.0-gcc15.patch
new file mode 100644
index 000000000000..c1402690a3c9
--- /dev/null
+++ b/gnustep-base/gnustep-back-art/files/gnustep-back-art-0.32.0-gcc15.patch
@@ -0,0 +1,131 @@
+From d27791933ec25403ff5553670061a423c2b1b22a Mon Sep 17 00:00:00 2001
+From: Fred Kiefer <fredkiefer@gmx.de>
+Date: Wed, 21 May 2025 22:21:24 +0200
+Subject: [PATCH] * Source/x11/scale.c, * Source/x11/xutil.c: Update function
+ declaration to modern C.
+
+---
+ ChangeLog | 5 +++++
+ Source/x11/scale.c | 26 +++++++++-----------------
+ Source/x11/xutil.c | 2 +-
+ 3 files changed, 15 insertions(+), 18 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index d59652ab..35551b1b 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++2025-05-21 Fred Kiefer <FredKiefer@gmx.de>
++
++ * Source/x11/scale.c,
++ * Source/x11/xutil.c: Update function declaration to modern C.
++
+ 2025-02-11 Richard Frith-Macdonald <rfm@gnu.org>
+
+ * ANNOUNCE:
+diff --git a/Source/x11/scale.c b/Source/x11/scale.c
+index d7a7f774..2e61e3f2 100644
+--- a/Source/x11/scale.c
++++ b/Source/x11/scale.c
+@@ -244,8 +244,7 @@ RScaleImage(RImage *src, unsigned new_width, unsigned new_height)
+ #define filter_support (1.0)
+
+ static double
+-filter(t)
+-double t;
++filter(double t)
+ {
+ /* f(t) = 2|t|^3 - 3|t|^2 + 1, -1 <= t <= 1 */
+ if(t < 0.0) t = -t;
+@@ -256,8 +255,7 @@ double t;
+ #define box_support (0.5)
+
+ static double
+-box_filter(t)
+-double t;
++box_filter(double t)
+ {
+ if((t > -0.5) && (t <= 0.5)) return(1.0);
+ return(0.0);
+@@ -266,8 +264,7 @@ double t;
+ #define triangle_support (1.0)
+
+ static double
+-triangle_filter(t)
+-double t;
++triangle_filter(double t)
+ {
+ if(t < 0.0) t = -t;
+ if(t < 1.0) return(1.0 - t);
+@@ -277,8 +274,7 @@ double t;
+ #define bell_support (1.5)
+
+ static double
+-bell_filter(t) /* box (*) box (*) box */
+-double t;
++bell_filter(double t) /* box (*) box (*) box */
+ {
+ if(t < 0) t = -t;
+ if(t < .5) return(.75 - (t * t));
+@@ -292,8 +288,7 @@ double t;
+ #define B_spline_support (2.0)
+
+ static double
+-B_spline_filter(t) /* box (*) box (*) box (*) box */
+-double t;
++B_spline_filter(double t) /* box (*) box (*) box (*) box */
+ {
+ double tt;
+
+@@ -309,8 +304,7 @@ double t;
+ }
+
+ static double
+-sinc(x)
+-double x;
++sinc(double x)
+ {
+ x *= PI;
+ if(x != 0) return(sin(x) / x);
+@@ -320,8 +314,7 @@ double x;
+ #define Lanczos3_support (3.0)
+
+ static double
+-Lanczos3_filter(t)
+-double t;
++Lanczos3_filter(double t)
+ {
+ if(t < 0) t = -t;
+ if(t < 3.0) return(sinc(t) * sinc(t/3.0));
+@@ -334,8 +327,7 @@ double t;
+ #define C (1.0 / 3.0)
+
+ static double
+-Mitchell_filter(t)
+-double t;
++Mitchell_filter(double t)
+ {
+ double tt;
+
+@@ -356,7 +348,7 @@ double t;
+ return(0.0);
+ }
+
+-static double (*filterf)() = Mitchell_filter;
++static double (*filterf)(double) = Mitchell_filter;
+ static double fwidth = Mitchell_support;
+
+ void
+diff --git a/Source/x11/xutil.c b/Source/x11/xutil.c
+index 0bee2ca4..990c9d44 100644
+--- a/Source/x11/xutil.c
++++ b/Source/x11/xutil.c
+@@ -42,7 +42,7 @@
+
+ static int shmError;
+
+-static int (*oldErrorHandler)();
++static int (*oldErrorHandler)(Display*, XErrorEvent*);
+
+ static int
+ errorHandler(Display *dpy, XErrorEvent *err)
diff --git a/gnustep-base/gnustep-back-art/gnustep-back-art-0.32.0.ebuild b/gnustep-base/gnustep-back-art/gnustep-back-art-0.32.0.ebuild
new file mode 100644
index 000000000000..9465dd2813c0
--- /dev/null
+++ b/gnustep-base/gnustep-back-art/gnustep-back-art-0.32.0.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnustep-base
+
+DESCRIPTION="Libart_lgpl back-end component for the GNUstep GUI Library"
+HOMEPAGE="https://gnustep.github.io"
+SRC_URI="https://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${PV}.tar.gz"
+S="${WORKDIR}/gnustep-back-${PV}"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ~sparc x86"
+IUSE="opengl xim"
+
+RDEPEND="${GNUSTEP_CORE_DEPEND}
+ =gnustep-base/gnustep-gui-${PV%.*}*
+ >=gnustep-base/mknfonts-0.5-r1
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libXft
+ x11-libs/libXrender
+ media-fonts/dejavu
+ >=media-libs/freetype-2.1.9
+ >=media-libs/libart_lgpl-2.3
+ opengl? ( virtual/opengl virtual/glu )
+
+ !gnustep-base/gnustep-back-cairo
+ !gnustep-base/gnustep-back-xlib"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-gcc15.patch )
+
+src_prepare() {
+ default
+ # do not compress man pages
+ sed -i '/which gzip/,/&& gzip/d' Tools/GNUmakefile.postamble || die
+}
+
+src_configure() {
+ egnustep_env
+
+ myconf="$(use_enable opengl glx)"
+ myconf="$myconf $(use_enable xim)"
+ myconf="$myconf --enable-server=x11"
+ myconf="$myconf --enable-graphics=art"
+
+ econf $myconf
+}
+
+src_compile() {
+ gnustep-base_src_compile
+
+ # Create font lists for DejaVu
+ einfo "Generating nfonts support files"
+ (
+ cd Fonts
+ export "${GS_ENV[@]}"
+ ${GNUSTEP_SYSTEM_TOOLS}/mknfonts \
+ $(fc-list : file|grep -v '\.gz'|cut -d: -f1) \
+ || die "nfonts support files creation failed"
+ # Trim whitepsaces
+ for fdir in *\ */; do
+ mv "$fdir" `echo $fdir | tr -d [:space:]`
+ done
+ )
+}
+
+src_install() {
+ gnustep-base_src_install
+
+ mkdir -p "${D}/${GNUSTEP_SYSTEM_LIBRARY}/Fonts" || die
+ cp -pPR Fonts/*.nfont "${D}/${GNUSTEP_SYSTEM_LIBRARY}/Fonts" || die
+}
+
+gnustep_config_script() {
+ echo "echo ' * setting normal font to DejaVuSans'"
+ echo "defaults write NSGlobalDomain NSFont DejaVuSans"
+ echo "echo ' * setting bold font to DejaVuSans-Bold'"
+ echo "defaults write NSGlobalDomain NSBoldFont DejaVuSans-Bold"
+ echo "echo ' * setting fixed font to DejaVuSansMono'"
+ echo "defaults write NSGlobalDomain NSUserFixedPitchFont DejaVuSansMono"
+}
diff --git a/gnustep-base/gnustep-back-art/metadata.xml b/gnustep-base/gnustep-back-art/metadata.xml
new file mode 100644
index 000000000000..0d04b4097382
--- /dev/null
+++ b/gnustep-base/gnustep-back-art/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <longdescription>
+It is a back-end component for the GNUstep GUI Library. The
+implementation of the GNUstep GUI Library is designed in two parts. The
+first part is the front-end component which is independent of platform
+and display system. This front-end is combined with a back-end
+component which handles all of the display system dependent such as
+specific calls to the X Window System. This design allows the GNUstep
+applications to have the "look and feel" of the underlying display
+system without any changes to the application, and the library can be
+easily ported to other display systems.
+
+The GNUstep GUI Backend is for platforms using the X-Window System or
+Window's Systems. It works via a DPS emulation engine to emulate the
+DPS functions required by the front-end system.
+
+This package installs a backend that supports libart_lgpl.
+</longdescription>
+ <use>
+ <flag name="xim">Enable X11 XiM input method</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/gnustep-back-cairo/Manifest b/gnustep-base/gnustep-back-cairo/Manifest
new file mode 100644
index 000000000000..13c89b2b3298
--- /dev/null
+++ b/gnustep-base/gnustep-back-cairo/Manifest
@@ -0,0 +1 @@
+DIST gnustep-back-0.32.0.tar.gz 1036424 BLAKE2B 372b6c438531e5a956d215b864f02fdaf985082b6d2fc22c4a91344b6900ab81691c6ef63a680b2bbc10f86c6ba2ed51d1867dd63ef10feb4a812c6cd3e01edd SHA512 8405f00241983d5c33b91ebb0cf810c64b8e83887eeabd0ba6418c75b4c0b6c56af9aac243dffc88d6e84aef80e3d0ec334e22b06d5abd5390c2f086d6795cbe
diff --git a/gnustep-base/gnustep-back-cairo/files/gnustep-back-cairo-0.32.0-gcc15.patch b/gnustep-base/gnustep-back-cairo/files/gnustep-back-cairo-0.32.0-gcc15.patch
new file mode 100644
index 000000000000..c1402690a3c9
--- /dev/null
+++ b/gnustep-base/gnustep-back-cairo/files/gnustep-back-cairo-0.32.0-gcc15.patch
@@ -0,0 +1,131 @@
+From d27791933ec25403ff5553670061a423c2b1b22a Mon Sep 17 00:00:00 2001
+From: Fred Kiefer <fredkiefer@gmx.de>
+Date: Wed, 21 May 2025 22:21:24 +0200
+Subject: [PATCH] * Source/x11/scale.c, * Source/x11/xutil.c: Update function
+ declaration to modern C.
+
+---
+ ChangeLog | 5 +++++
+ Source/x11/scale.c | 26 +++++++++-----------------
+ Source/x11/xutil.c | 2 +-
+ 3 files changed, 15 insertions(+), 18 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index d59652ab..35551b1b 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++2025-05-21 Fred Kiefer <FredKiefer@gmx.de>
++
++ * Source/x11/scale.c,
++ * Source/x11/xutil.c: Update function declaration to modern C.
++
+ 2025-02-11 Richard Frith-Macdonald <rfm@gnu.org>
+
+ * ANNOUNCE:
+diff --git a/Source/x11/scale.c b/Source/x11/scale.c
+index d7a7f774..2e61e3f2 100644
+--- a/Source/x11/scale.c
++++ b/Source/x11/scale.c
+@@ -244,8 +244,7 @@ RScaleImage(RImage *src, unsigned new_width, unsigned new_height)
+ #define filter_support (1.0)
+
+ static double
+-filter(t)
+-double t;
++filter(double t)
+ {
+ /* f(t) = 2|t|^3 - 3|t|^2 + 1, -1 <= t <= 1 */
+ if(t < 0.0) t = -t;
+@@ -256,8 +255,7 @@ double t;
+ #define box_support (0.5)
+
+ static double
+-box_filter(t)
+-double t;
++box_filter(double t)
+ {
+ if((t > -0.5) && (t <= 0.5)) return(1.0);
+ return(0.0);
+@@ -266,8 +264,7 @@ double t;
+ #define triangle_support (1.0)
+
+ static double
+-triangle_filter(t)
+-double t;
++triangle_filter(double t)
+ {
+ if(t < 0.0) t = -t;
+ if(t < 1.0) return(1.0 - t);
+@@ -277,8 +274,7 @@ double t;
+ #define bell_support (1.5)
+
+ static double
+-bell_filter(t) /* box (*) box (*) box */
+-double t;
++bell_filter(double t) /* box (*) box (*) box */
+ {
+ if(t < 0) t = -t;
+ if(t < .5) return(.75 - (t * t));
+@@ -292,8 +288,7 @@ double t;
+ #define B_spline_support (2.0)
+
+ static double
+-B_spline_filter(t) /* box (*) box (*) box (*) box */
+-double t;
++B_spline_filter(double t) /* box (*) box (*) box (*) box */
+ {
+ double tt;
+
+@@ -309,8 +304,7 @@ double t;
+ }
+
+ static double
+-sinc(x)
+-double x;
++sinc(double x)
+ {
+ x *= PI;
+ if(x != 0) return(sin(x) / x);
+@@ -320,8 +314,7 @@ double x;
+ #define Lanczos3_support (3.0)
+
+ static double
+-Lanczos3_filter(t)
+-double t;
++Lanczos3_filter(double t)
+ {
+ if(t < 0) t = -t;
+ if(t < 3.0) return(sinc(t) * sinc(t/3.0));
+@@ -334,8 +327,7 @@ double t;
+ #define C (1.0 / 3.0)
+
+ static double
+-Mitchell_filter(t)
+-double t;
++Mitchell_filter(double t)
+ {
+ double tt;
+
+@@ -356,7 +348,7 @@ double t;
+ return(0.0);
+ }
+
+-static double (*filterf)() = Mitchell_filter;
++static double (*filterf)(double) = Mitchell_filter;
+ static double fwidth = Mitchell_support;
+
+ void
+diff --git a/Source/x11/xutil.c b/Source/x11/xutil.c
+index 0bee2ca4..990c9d44 100644
+--- a/Source/x11/xutil.c
++++ b/Source/x11/xutil.c
+@@ -42,7 +42,7 @@
+
+ static int shmError;
+
+-static int (*oldErrorHandler)();
++static int (*oldErrorHandler)(Display*, XErrorEvent*);
+
+ static int
+ errorHandler(Display *dpy, XErrorEvent *err)
diff --git a/gnustep-base/gnustep-back-cairo/gnustep-back-cairo-0.32.0.ebuild b/gnustep-base/gnustep-back-cairo/gnustep-back-cairo-0.32.0.ebuild
new file mode 100644
index 000000000000..47c0154de47d
--- /dev/null
+++ b/gnustep-base/gnustep-back-cairo/gnustep-back-cairo-0.32.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit gnustep-base
+
+DESCRIPTION="Cairo back-end component for the GNUstep GUI Library"
+HOMEPAGE="https://gnustep.github.io"
+SRC_URI="https://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${PV}.tar.gz"
+S="${WORKDIR}/gnustep-back-${PV}"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ppc ~sparc x86"
+IUSE="opengl xim"
+
+RDEPEND="${GNUSTEP_CORE_DEPEND}
+ =gnustep-base/gnustep-gui-${PV%.*}*
+ >=media-libs/freetype-2.1.9
+ >=x11-libs/cairo-1.2.0[X]
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libXft
+ x11-libs/libXrender
+ opengl? ( virtual/opengl virtual/glu )
+
+ !gnustep-base/gnustep-back-art
+ !gnustep-base/gnustep-back-xlib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ x11-base/xorg-proto"
+
+PATCHES=( "${FILESDIR}"/${P}-gcc15.patch )
+
+src_prepare() {
+ default
+ # do not compress man pages
+ sed -i '/which gzip/,/&& gzip/d' Tools/GNUmakefile.postamble || die
+}
+
+src_configure() {
+ egnustep_env
+
+ myconf="$(use_enable opengl glx)"
+ myconf="$myconf $(use_enable xim)"
+ myconf="$myconf --enable-server=x11"
+ myconf="$myconf --enable-graphics=cairo"
+
+ econf $myconf
+}
diff --git a/gnustep-base/gnustep-back-cairo/metadata.xml b/gnustep-base/gnustep-back-cairo/metadata.xml
new file mode 100644
index 000000000000..5218d5f0a203
--- /dev/null
+++ b/gnustep-base/gnustep-back-cairo/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>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <use>
+ <flag name="xim">Enable X11 XiM input method</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/gnustep-back-xlib/Manifest b/gnustep-base/gnustep-back-xlib/Manifest
new file mode 100644
index 000000000000..13c89b2b3298
--- /dev/null
+++ b/gnustep-base/gnustep-back-xlib/Manifest
@@ -0,0 +1 @@
+DIST gnustep-back-0.32.0.tar.gz 1036424 BLAKE2B 372b6c438531e5a956d215b864f02fdaf985082b6d2fc22c4a91344b6900ab81691c6ef63a680b2bbc10f86c6ba2ed51d1867dd63ef10feb4a812c6cd3e01edd SHA512 8405f00241983d5c33b91ebb0cf810c64b8e83887eeabd0ba6418c75b4c0b6c56af9aac243dffc88d6e84aef80e3d0ec334e22b06d5abd5390c2f086d6795cbe
diff --git a/gnustep-base/gnustep-back-xlib/files/gnustep-back-xlib-0.32.0-gcc15.patch b/gnustep-base/gnustep-back-xlib/files/gnustep-back-xlib-0.32.0-gcc15.patch
new file mode 100644
index 000000000000..c1402690a3c9
--- /dev/null
+++ b/gnustep-base/gnustep-back-xlib/files/gnustep-back-xlib-0.32.0-gcc15.patch
@@ -0,0 +1,131 @@
+From d27791933ec25403ff5553670061a423c2b1b22a Mon Sep 17 00:00:00 2001
+From: Fred Kiefer <fredkiefer@gmx.de>
+Date: Wed, 21 May 2025 22:21:24 +0200
+Subject: [PATCH] * Source/x11/scale.c, * Source/x11/xutil.c: Update function
+ declaration to modern C.
+
+---
+ ChangeLog | 5 +++++
+ Source/x11/scale.c | 26 +++++++++-----------------
+ Source/x11/xutil.c | 2 +-
+ 3 files changed, 15 insertions(+), 18 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index d59652ab..35551b1b 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++2025-05-21 Fred Kiefer <FredKiefer@gmx.de>
++
++ * Source/x11/scale.c,
++ * Source/x11/xutil.c: Update function declaration to modern C.
++
+ 2025-02-11 Richard Frith-Macdonald <rfm@gnu.org>
+
+ * ANNOUNCE:
+diff --git a/Source/x11/scale.c b/Source/x11/scale.c
+index d7a7f774..2e61e3f2 100644
+--- a/Source/x11/scale.c
++++ b/Source/x11/scale.c
+@@ -244,8 +244,7 @@ RScaleImage(RImage *src, unsigned new_width, unsigned new_height)
+ #define filter_support (1.0)
+
+ static double
+-filter(t)
+-double t;
++filter(double t)
+ {
+ /* f(t) = 2|t|^3 - 3|t|^2 + 1, -1 <= t <= 1 */
+ if(t < 0.0) t = -t;
+@@ -256,8 +255,7 @@ double t;
+ #define box_support (0.5)
+
+ static double
+-box_filter(t)
+-double t;
++box_filter(double t)
+ {
+ if((t > -0.5) && (t <= 0.5)) return(1.0);
+ return(0.0);
+@@ -266,8 +264,7 @@ double t;
+ #define triangle_support (1.0)
+
+ static double
+-triangle_filter(t)
+-double t;
++triangle_filter(double t)
+ {
+ if(t < 0.0) t = -t;
+ if(t < 1.0) return(1.0 - t);
+@@ -277,8 +274,7 @@ double t;
+ #define bell_support (1.5)
+
+ static double
+-bell_filter(t) /* box (*) box (*) box */
+-double t;
++bell_filter(double t) /* box (*) box (*) box */
+ {
+ if(t < 0) t = -t;
+ if(t < .5) return(.75 - (t * t));
+@@ -292,8 +288,7 @@ double t;
+ #define B_spline_support (2.0)
+
+ static double
+-B_spline_filter(t) /* box (*) box (*) box (*) box */
+-double t;
++B_spline_filter(double t) /* box (*) box (*) box (*) box */
+ {
+ double tt;
+
+@@ -309,8 +304,7 @@ double t;
+ }
+
+ static double
+-sinc(x)
+-double x;
++sinc(double x)
+ {
+ x *= PI;
+ if(x != 0) return(sin(x) / x);
+@@ -320,8 +314,7 @@ double x;
+ #define Lanczos3_support (3.0)
+
+ static double
+-Lanczos3_filter(t)
+-double t;
++Lanczos3_filter(double t)
+ {
+ if(t < 0) t = -t;
+ if(t < 3.0) return(sinc(t) * sinc(t/3.0));
+@@ -334,8 +327,7 @@ double t;
+ #define C (1.0 / 3.0)
+
+ static double
+-Mitchell_filter(t)
+-double t;
++Mitchell_filter(double t)
+ {
+ double tt;
+
+@@ -356,7 +348,7 @@ double t;
+ return(0.0);
+ }
+
+-static double (*filterf)() = Mitchell_filter;
++static double (*filterf)(double) = Mitchell_filter;
+ static double fwidth = Mitchell_support;
+
+ void
+diff --git a/Source/x11/xutil.c b/Source/x11/xutil.c
+index 0bee2ca4..990c9d44 100644
+--- a/Source/x11/xutil.c
++++ b/Source/x11/xutil.c
+@@ -42,7 +42,7 @@
+
+ static int shmError;
+
+-static int (*oldErrorHandler)();
++static int (*oldErrorHandler)(Display*, XErrorEvent*);
+
+ static int
+ errorHandler(Display *dpy, XErrorEvent *err)
diff --git a/gnustep-base/gnustep-back-xlib/gnustep-back-xlib-0.32.0.ebuild b/gnustep-base/gnustep-back-xlib/gnustep-back-xlib-0.32.0.ebuild
new file mode 100644
index 000000000000..dc3b97c75718
--- /dev/null
+++ b/gnustep-base/gnustep-back-xlib/gnustep-back-xlib-0.32.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit gnustep-base
+
+DESCRIPTION="Default X11 back-end component for the GNUstep GUI Library"
+HOMEPAGE="https://gnustep.github.io"
+SRC_URI="https://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${PV}.tar.gz"
+S="${WORKDIR}/gnustep-back-${PV}"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ppc ~sparc x86"
+IUSE="opengl xim"
+
+RDEPEND="${GNUSTEP_CORE_DEPEND}
+ =gnustep-base/gnustep-gui-${PV%.*}*
+ >=media-libs/freetype-2.1.9
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libXft
+ x11-libs/libXrender
+ opengl? ( virtual/opengl virtual/glu )
+
+ !gnustep-base/gnustep-back-art
+ !gnustep-base/gnustep-back-cairo"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-gcc15.patch )
+
+src_prepare() {
+ default
+ # do not compress man pages
+ sed -i '/which gzip/,/&& gzip/d' Tools/GNUmakefile.postamble || die
+}
+
+src_configure() {
+ egnustep_env
+
+ myconf="$(use_enable opengl glx)"
+ myconf="$myconf $(use_enable xim)"
+ myconf="$myconf --enable-server=x11"
+ myconf="$myconf --enable-graphics=xlib"
+
+ econf $myconf
+}
diff --git a/gnustep-base/gnustep-back-xlib/metadata.xml b/gnustep-base/gnustep-back-xlib/metadata.xml
new file mode 100644
index 000000000000..92587405e78d
--- /dev/null
+++ b/gnustep-base/gnustep-back-xlib/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <longdescription>
+It is a back-end component for the GNUstep GUI Library. The
+implementation of the GNUstep GUI Library is designed in two parts. The
+first part is the front-end component which is independent of platform
+and display system. This front-end is combined with a back-end
+component which handles all of the display system dependent such as
+specific calls to the X Window System. This design allows the GNUstep
+applications to have the "look and feel" of the underlying display
+system without any changes to the application, and the library can be
+easily ported to other display systems.
+
+The GNUstep GUI Backend is for platforms using the X-Window System or
+Window's Systems. It works via a DPS emulation engine to emulate the
+DPS functions required by the front-end system.
+
+This package installs a backend that supports X11.
+</longdescription>
+ <use>
+ <flag name="xim">Enable X11 XiM input method</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/gnustep-base/Manifest b/gnustep-base/gnustep-base/Manifest
new file mode 100644
index 000000000000..5afbc3b41b07
--- /dev/null
+++ b/gnustep-base/gnustep-base/Manifest
@@ -0,0 +1,2 @@
+DIST gnustep-base-1.31.1.tar.gz 3831129 BLAKE2B 7bbab70fd5e78f75c0342d8d5a3e2175958a850b5ecc04fa6449e8a71aa998659755793d192c795865810d3b38ec10cfb284e7263a5ce301979930a25aa8a6ac SHA512 6de3a935766d6b3075e60da71525511de940521dd50d604af1eb67681bd6aa4693b889e6655f39c96b53178a86623a4c4510be004487a28fddd175dec928c933
+DIST gnustep-base-1.31.1.tar.gz.sig 123 BLAKE2B 014bcf2f34e91177022e0f98c65c8995b367715665106307f27d8a3934028b4dde0e9f6fae9e5089d1a1d9794e4b41b449622cc077eb0aa34ca921e9531cfcd6 SHA512 7c46c8ef8e385270c01738e46626118a102c086c72753d0b51198f671cb082ea16bfb55e68527a50ecb8554e94940e9f7ebf1e24f76a1ef42a33edec44e3cc67
diff --git a/gnustep-base/gnustep-base/files/gnustep-base-1.26.0-no_compress_man.patch b/gnustep-base/gnustep-base/files/gnustep-base-1.26.0-no_compress_man.patch
new file mode 100644
index 000000000000..14b4f7007ad2
--- /dev/null
+++ b/gnustep-base/gnustep-base/files/gnustep-base-1.26.0-no_compress_man.patch
@@ -0,0 +1,33 @@
+diff -Naur gnustep-base-1.26.0.orig/Tools/Makefile.postamble gnustep-base-1.26.0/Tools/Makefile.postamble
+--- gnustep-base-1.26.0.orig/Tools/Makefile.postamble 2019-01-06 23:33:45.000000000 +0100
++++ gnustep-base-1.26.0/Tools/Makefile.postamble 2019-04-16 11:20:16.972915636 +0200
+@@ -50,8 +50,6 @@
+ for file in $(MAN1_PAGES) __done; do \
+ if [ $$file != __done ]; then \
+ $(INSTALL_DATA) $$file $(GNUSTEP_DOC_MAN)/man1/$$file; \
+- which gzip && rm -f $(GNUSTEP_DOC_MAN)/man1/$$file.gz \
+- && gzip -9 $(GNUSTEP_DOC_MAN)/man1/$$file; \
+ fi; \
+ done; \
+ if [ ! -f $(GNUSTEP_DOC_MAN)/man8 ]; then \
+@@ -59,8 +57,6 @@
+ fi; \
+ for file in $(MAN8_PAGES); do \
+ $(INSTALL_DATA) $$file $(GNUSTEP_DOC_MAN)/man8/$$file; \
+- which gzip && rm -f $(GNUSTEP_DOC_MAN)/man8/$$file.gz \
+- && gzip -9 $(GNUSTEP_DOC_MAN)/man8/$$file; \
+ done$(END_ECHO)
+ ifeq ($(GNUSTEP_GDOMAP_PORT_OVERRIDE),no)
+ ifeq ($(GNUSTEP_INSTALL_GDOMAP_AS_SETUID),no)
+diff -Naur gnustep-base-1.26.0.orig/Tools/make_strings/GNUmakefile.postamble gnustep-base-1.26.0/Tools/make_strings/GNUmakefile.postamble
+--- gnustep-base-1.26.0.orig/Tools/make_strings/GNUmakefile.postamble 2019-01-06 23:33:45.000000000 +0100
++++ gnustep-base-1.26.0/Tools/make_strings/GNUmakefile.postamble 2019-04-16 11:20:20.756920017 +0200
+@@ -44,8 +44,6 @@
+ for file in $(MAN1_PAGES) __done; do \
+ if [ $$file != __done ]; then \
+ $(INSTALL_DATA) $$file $(GNUSTEP_DOC_MAN)/man1/$$file; \
+- which gzip && rm -f $(GNUSTEP_DOC_MAN)/man1/$$file.gz \
+- && gzip -9 $(GNUSTEP_DOC_MAN)/man1/$$file; \
+ fi; \
+ done; \
+
diff --git a/gnustep-base/gnustep-base/files/gnustep-base-1.31.0-c23.patch b/gnustep-base/gnustep-base/files/gnustep-base-1.31.0-c23.patch
new file mode 100644
index 000000000000..89cd7643d327
--- /dev/null
+++ b/gnustep-base/gnustep-base/files/gnustep-base-1.31.0-c23.patch
@@ -0,0 +1,47 @@
+From 70d5ac40655659e38f0beb14cff083014bb4a747 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Thu, 27 Feb 2025 16:44:23 +0200
+Subject: [PATCH] Use signal_handler prototype that signal() expects
+
+C23 is stricter about function prototypes and as such this causes the
+build to fail on GCC-15 by default.
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+---
+ Tools/gdomap.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Tools/gdomap.c b/Tools/gdomap.c
+index c04fb522c..9db5f6b47 100644
+--- a/Tools/gdomap.c
++++ b/Tools/gdomap.c
+@@ -192,7 +192,7 @@ static char *local_hostname = 0;
+ */
+ static void dump_stats();
+ #ifndef __MINGW__
+-static void dump_tables();
++static void dump_tables(int sig);
+ #endif
+ static void handle_accept();
+ static void handle_io();
+@@ -1135,7 +1135,7 @@ dump_stats()
+
+ #ifndef __MINGW__
+ static void
+-dump_tables()
++dump_tables(int sig)
+ {
+ FILE *fptr;
+
+@@ -3704,7 +3704,7 @@ tryWrite(int desc, int tim, unsigned char* dat, int len)
+ #if defined(__MINGW__) /* FIXME: Is this correct? */
+ rval = send(desc, (const char*)&dat[pos], len - pos, 0);
+ #else
+- void (*ifun)();
++ void (*ifun)(int);
+
+ /*
+ * Should be able to write this short a message immediately, but
+--
+2.48.1
+
diff --git a/gnustep-base/gnustep-base/files/gnustep-base-1.31.1-openapp_path.patch b/gnustep-base/gnustep-base/files/gnustep-base-1.31.1-openapp_path.patch
new file mode 100644
index 000000000000..934b2c6fdbe8
--- /dev/null
+++ b/gnustep-base/gnustep-base/files/gnustep-base-1.31.1-openapp_path.patch
@@ -0,0 +1,24 @@
+diff --git a/Tools/pl2link.m b/Tools/pl2link.m
+index de1aacd9f..c3c729056 100644
+--- a/Tools/pl2link.m
++++ b/Tools/pl2link.m
+@@ -207,18 +207,10 @@ main(int argc, char** argv, char **env)
+ entry = [plist objectForKey: @"NSExecutable"];
+ if (entry != nil)
+ {
+- FILE *fp;
+- char line[130];
+ NSString *execPath = nil;
+- int l = 0;
+-
+- fp = popen("which openapp","r");
+- fgets(line,sizeof line,fp);
+- l = strlen(line);
+- line[l-1] = '\0';
+
+ // Build the string to execute the application...
+- execPath = [NSString stringWithCString: line
++ execPath = [NSString stringWithCString: "/usr/bin/openapp"
+ encoding: NSASCIIStringEncoding];
+ [fileContents appendFormat: @"Exec=%@ %@\n", execPath, entry];
+ }
diff --git a/gnustep-base/gnustep-base/gnustep-base-1.31.1-r1.ebuild b/gnustep-base/gnustep-base/gnustep-base-1.31.1-r1.ebuild
new file mode 100644
index 000000000000..2cf82d05b131
--- /dev/null
+++ b/gnustep-base/gnustep-base/gnustep-base-1.31.1-r1.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnustep-base toolchain-funcs verify-sig
+
+DESCRIPTION="A library of general-purpose, non-graphical Objective C objects"
+HOMEPAGE="https://gnustep.github.io"
+SRC_URI="
+ https://github.com/gnustep/libs-base/releases/download/base-${PV//./_}/${P}.tar.gz
+ verify-sig? ( https://github.com/gnustep/libs-base/releases/download/base-${PV//./_}/${P}.tar.gz.sig )
+"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha amd64 ppc ~ppc64 ~sparc x86"
+IUSE="+gnutls +iconv +icu libdispatch +libffi selinux zeroconf"
+
+# gnustep-make: tests use the option --timeout which was added in 2.9.3
+RDEPEND="${GNUSTEP_CORE_DEPEND}
+ >=gnustep-base/gnustep-make-2.9.3
+ gnutls? ( net-libs/gnutls:= )
+ iconv? ( virtual/libiconv )
+ icu? ( >=dev-libs/icu-49.0:= )
+ libdispatch? ( dev-libs/libdispatch )
+ libffi? ( dev-libs/libffi:= )
+ !libffi? (
+ dev-libs/ffcall
+ gnustep-base/gnustep-make[-native-exceptions]
+ )
+ >=dev-libs/libxml2-2.6
+ >=dev-libs/libxslt-1.1
+ >=dev-libs/gmp-4.1:=
+ >=virtual/zlib-1.2:=
+ zeroconf? ( net-dns/avahi )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-gnustep )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-gdomap )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnustep.asc
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.26.0-no_compress_man.patch
+ "${FILESDIR}"/${PN}-1.31.0-c23.patch
+ "${FILESDIR}"/${PN}-1.31.1-openapp_path.patch
+)
+
+src_prepare() {
+ default
+
+ sed -e "s,/usr/bin,${EPREFIX}/usr/bin," -i Tools/pl2link.m || die
+
+ # Slow and appears to break due to the network sandbox
+ sed -e '/START_SET("-sendSynchronousRequest:returningResponse:error:")/a SKIP("Gentoo")' \
+ -i Tests/base/NSURL/test00.m || die
+ sed -e '/START_SET("Capture")/a SKIP("Gentoo")' \
+ -e '/START_SET("Secure")/a SKIP("Gentoo")' \
+ -i Tests/base/NSURL/test02.m || die
+ sed -e '/START_SET("Keepalive")/a SKIP("Gentoo")' \
+ -i Tests/base/NSURLHandle/test01.m || die
+ rm -r Tests/base/NSURLConnection || die
+ rm -r Tests/base/NSConnection || die
+ sed -e '/PASS(byteCount>0, "read www.google.com");/d' \
+ -e '/PASS(byteCount>0, "read www.google.com https");/d' \
+ -i Tests/base/NSStream/socket.m || die
+ sed -e '/PASS(\[self status\] == URLHandleClientDidBeginLoading,/,/"URLHandleClientDidBeginLoading called");/d' \
+ -e '/PASS(\[self status\] == URLHandleClientDidFinishLoading,/,/"URLHandleClientDidFinishLoading called");/d' \
+ -i Tests/base/NSURLHandle/test00.m || die
+
+ # FIXME: It should use TEMP or TMP but it still fails
+ sed -e '/PASS(\[o length\] > 0, "we can get a temporary directory");/d' \
+ -i Tests/base/Functions/NSPathUtilities.m || die
+
+ # FIXME
+ rm Tests/base/NSFileHandle/general.m || die
+
+ # FIXME
+ sed -e '/PASS_EQUAL(\[\@"foo" stringByResolvingSymlinksInPath\], tmpdst,/,/"foo->bar relative symlink expanded by stringByResolvingSymlinksInPath")/d' \
+ -i Tests/base/NSString/test02.m || die
+
+ # FIXME
+ sed -e '/PASS(cred != nil, "generates self signed certificate");/d' \
+ -i Tests/base/GSTLS/basic.m || die
+}
+
+src_configure() {
+ egnustep_env
+
+ local myconf=(
+ $(use_enable libffi)
+ $(use_enable !libffi ffcall)
+ )
+ use libffi &&
+ myconf+=( --with-ffi-include=$($(tc-getPKG_CONFIG) --variable=includedir libffi) )
+
+ myconf+=(
+ $(use_enable gnutls tls)
+ $(use_enable iconv)
+ $(use_enable icu)
+ $(use_enable libdispatch)
+ $(use_enable zeroconf)
+ --with-xml-prefix="${ESYSROOT}"/usr
+ --with-gmp-include="${ESYSROOT}"/usr/include
+ --with-gmp-library="${ESYSROOT}"/usr/$(get_libdir)
+ --with-default-config="${ESYSROOT}"/etc/GNUstep/GNUstep.conf
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ # We need to set LD_LIBRARY_PATH because the doc generation program
+ # uses the gnustep-base libraries. Since egnustep_env "cleans the
+ # environment" including our LD_LIBRARY_PATH, we're left no choice
+ # but doing it like this.
+
+ egnustep_env
+ egnustep_install
+
+ if use doc ; then
+ export LD_LIBRARY_PATH="${S}/Source/obj:${LD_LIBRARY_PATH}"
+ egnustep_doc
+ fi
+ egnustep_install_config
+}
diff --git a/gnustep-base/gnustep-base/metadata.xml b/gnustep-base/gnustep-base/metadata.xml
new file mode 100644
index 000000000000..9c1c444baa0f
--- /dev/null
+++ b/gnustep-base/gnustep-base/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <use>
+ <flag name="libdispatch">Dispatch blocks via <pkg>dev-libs/libdispatch</pkg>
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/gnustep-gui/Manifest b/gnustep-base/gnustep-gui/Manifest
new file mode 100644
index 000000000000..5d3eeb53ebf8
--- /dev/null
+++ b/gnustep-base/gnustep-gui/Manifest
@@ -0,0 +1 @@
+DIST gnustep-gui-0.32.0.tar.gz 3116133 BLAKE2B d948fedebaba1ce11089ce6f88891b1c58298fff3858a8209b633edc702398fa6c3136ba3358878f8a904f397cb49b206ab629fdeec8486de8f9ada0c57f96ad SHA512 6c85d943f8fac98590064f4bc5635bdb8a0c0aa962a852fbce0ecec95f472f3563273f757dee263d65b0219e4f8d584877776c4c38b7134f993f12887079e5b2
diff --git a/gnustep-base/gnustep-gui/gnustep-gui-0.32.0.ebuild b/gnustep-base/gnustep-gui/gnustep-gui-0.32.0.ebuild
new file mode 100644
index 000000000000..8be741ff9a3f
--- /dev/null
+++ b/gnustep-base/gnustep-gui/gnustep-gui-0.32.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit flag-o-matic gnustep-base multilib virtualx
+
+DESCRIPTION="Library of GUI classes written in Obj-C"
+HOMEPAGE="https://gnustep.github.io/"
+SRC_URI="https://ftp.gnustep.org/pub/gnustep/core/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ~sparc x86"
+IUSE="cups icu jpeg png speech"
+
+DEPEND="${GNUSTEP_CORE_DEPEND}
+ app-text/aspell
+ >=gnustep-base/gnustep-base-1.3.0:=[icu?]
+ media-libs/audiofile
+ >=media-libs/giflib-4.1:=
+ >=media-libs/tiff-3:=
+ x11-libs/libXt
+ cups? ( >=net-print/cups-1.7.4:= )
+ icu? ( dev-libs/icu:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ png? ( >=media-libs/libpng-1.2:= )
+ speech? ( app-accessibility/flite )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ gnustep-base_src_prepare
+
+ # remove hardcoded -g -Werror, bug #378179
+ sed -i -e 's/-g -Werror//' \
+ Tools/say/GNUmakefile \
+ Tools/speech/GNUmakefile \
+ || die
+
+ # test failures.
+ rm -r Tests/gui/NSPasteboard/ || die # bug #935828
+ sed -e '/START_SET/aSKIP("Skipped by the ebuild bug #941901");' -i Tests/gui/NSSavePanel/setDelegate_reload.m || die
+}
+
+src_configure() {
+ # lto-type-mismatch
+ filter-lto
+
+ egnustep_env
+
+ econf \
+ $(use_enable cups) \
+ $(use_enable icu) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable speech) \
+ --disable-ungif --enable-libgif \
+ --with-tiff-include="${EPREFIX}"/usr/include \
+ --with-tiff-library="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_test() {
+ virtx default
+}
diff --git a/gnustep-base/gnustep-gui/metadata.xml b/gnustep-base/gnustep-gui/metadata.xml
new file mode 100644
index 000000000000..d10663e4017b
--- /dev/null
+++ b/gnustep-base/gnustep-gui/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <longdescription>
+It is a library of graphical user interface classes written completely
+in the Objective-C language; the classes are based upon the OpenStep
+specification as release by NeXT Software, Inc. The library has been
+enhanced in a number of ways to take advantage of the GNU system.
+These classes include graphical objects such as buttons, text fields,
+popup lists, browser lists, and windows; there are also many associated
+classes for handling events, colors, fonts, pasteboards and images.
+
+The GNUstep GUI Library is designed in two parts. The first part is
+the front-end component which is independent of platform and display
+system. This front-end is combined with a back-end component which
+handles all of the display system dependent such as specific calls to
+X/Windows. This design allows the GNUstep applications to have the
+"look and feel" of the underlying display system without any changes to
+the application, and the library can be easily ported to other display
+systems.
+
+The GNUstep GUI Library requires the GNU Objective-C compiler, the
+GNUstep Base Library, the TIFF Graphics library, and a back-end
+component like the GNUstep 'Back' Backend.
+</longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/gnustep-make/Manifest b/gnustep-base/gnustep-make/Manifest
new file mode 100644
index 000000000000..8c4c5bf7fb7b
--- /dev/null
+++ b/gnustep-base/gnustep-make/Manifest
@@ -0,0 +1,2 @@
+DIST gnustep-make-2.9.3.tar.gz 613252 BLAKE2B e3bf6f2e029cce2a15ad07871952dfd5246104c78a780040d623e1a31be117606f8c428edac39684e45386fc3053f34f83d6dfe2d99b9308ca7d6606710f7c7b SHA512 5fd1991f4e6707e698fb37b152dd3bec377391de4757919a4f194542f2a032a1ad484b63eb693115fab6753b5e726813c272540b78359163c332637194701ab2
+DIST gnustep-make-2.9.3.tar.gz.sig 123 BLAKE2B c068cfbe34f2a1797332a1ae6b2c60e4507398f3781be074382f00763cdc4738a3bf744b4f00deac7188a659475c6b3c2736cacc7718f30734f3f490dc51235c SHA512 e5065e817ea9907bc9b8a36922b4c0176da6fc500322898db3d144e5415536368623e7862e16eff6586ad14a94cd3cc5a72ab793e1f47238ae11d82f73c4a0d5
diff --git a/gnustep-base/gnustep-make/files/gnustep-5.csh b/gnustep-base/gnustep-make/files/gnustep-5.csh
new file mode 100644
index 000000000000..4b7102094187
--- /dev/null
+++ b/gnustep-base/gnustep-make/files/gnustep-5.csh
@@ -0,0 +1,12 @@
+#!/usr/bin/env csh
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Test for an interactive shell
+if ( $?prompt ) then
+ setenv GNUSTEP_SYSTEM_TOOLS "@GENTOO_PORTAGE_EPREFIX@"/usr/bin
+
+ if ( -x $GNUSTEP_SYSTEM_TOOLS/make_services ) then
+ $GNUSTEP_SYSTEM_TOOLS/make_services
+ endif
+endif
diff --git a/gnustep-base/gnustep-make/files/gnustep-5.sh b/gnustep-base/gnustep-make/files/gnustep-5.sh
new file mode 100644
index 000000000000..f5e07549cff8
--- /dev/null
+++ b/gnustep-base/gnustep-make/files/gnustep-5.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env sh
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Test for an interactive shell
+case $- in
+ *i*)
+ ;;
+ *)
+ return
+ ;;
+esac
+
+GNUSTEP_SYSTEM_TOOLS="@GENTOO_PORTAGE_EPREFIX@"/usr/bin
+
+if [ -x ${GNUSTEP_SYSTEM_TOOLS}/make_services ]; then
+ ${GNUSTEP_SYSTEM_TOOLS}/make_services
+fi
diff --git a/gnustep-base/gnustep-make/files/gnustep-make-2.9.0-no_compress_man_pages.patch b/gnustep-base/gnustep-make/files/gnustep-make-2.9.0-no_compress_man_pages.patch
new file mode 100644
index 000000000000..c013ce3a282c
--- /dev/null
+++ b/gnustep-base/gnustep-make/files/gnustep-make-2.9.0-no_compress_man_pages.patch
@@ -0,0 +1,29 @@
+diff -Naur gnustep-make-2.9.0.orig/GNUmakefile.in gnustep-make-2.9.0/GNUmakefile.in
+--- gnustep-make-2.9.0.orig/GNUmakefile.in 2021-03-21 22:56:13.000000000 +0100
++++ gnustep-make-2.9.0/GNUmakefile.in 2022-07-14 14:21:10.545943581 +0200
+@@ -255,23 +255,16 @@
+ for f in $(TEST_FRAMEWORK_FILES); do \
+ $(INSTALL_DATA) "$(srcdir)/TestFramework/$$f" "$(testdir)"; \
+ done)
+- $(EC)(echo "Installing (and compressing) manpages"; \
++ $(EC)(echo "Installing manpages"; \
+ "$(srcdir)/mkinstalldirs" "$(mandir)/man1" \
+ "$(mandir)/man7"; \
+ $(INSTALL_DATA) "$(srcdir)/Documentation/debugapp.1" "$(mandir)/man1"; \
+- which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/debugapp.1.gz" && gzip -9 -n "$(mandir)/man1/debugapp.1"; \
+ $(INSTALL_DATA) "$(srcdir)/Documentation/gnustep-config.1" "$(mandir)/man1"; \
+- which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/gnustep-config.1.gz" && gzip -9 -n "$(mandir)/man1/gnustep-config.1"; \
+ $(INSTALL_DATA) "$(srcdir)/Documentation/gnustep-tests.1" "$(mandir)/man1"; \
+- which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/gnustep-tests.1.gz" && gzip -9 -n "$(mandir)/man1/gnustep-tests.1"; \
+ $(INSTALL_DATA) "$(srcdir)/Documentation/openapp.1" "$(mandir)/man1"; \
+- which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/openapp.1.gz" && gzip -9 -n "$(mandir)/man1/openapp.1"; \
+ $(INSTALL_DATA) "$(srcdir)/Documentation/opentool.1" "$(mandir)/man1"; \
+- which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/opentool.1.gz" && gzip -9 -n "$(mandir)/man1/opentool.1"; \
+ $(INSTALL_DATA) "$(srcdir)/Documentation/GNUstep.7" "$(mandir)/man7"; \
+- which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man7/GNUstep.7.gz" && gzip -9 -n "$(mandir)/man7/GNUstep.7"; \
+- $(INSTALL_DATA) "$(srcdir)/Documentation/library-combo.7" "$(mandir)/man7"; \
+- which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man7/library-combo.7.gz" && gzip -9 -n "$(mandir)/man7/library-combo.7")
++ $(INSTALL_DATA) "$(srcdir)/Documentation/library-combo.7" "$(mandir)/man7";)
+ $(EC)(if [ "@GNUSTEP_STRIP_MAKEFILES@" = "strip" ]; then \
+ echo "Stripping makefiles and shell scripts..."; \
+ cd "$(makedir)"; ./strip_makefiles.sh; \
diff --git a/gnustep-base/gnustep-make/files/gnustep-make-2.9.3-support-libdispatch-in-libobjc2.patch b/gnustep-base/gnustep-make/files/gnustep-make-2.9.3-support-libdispatch-in-libobjc2.patch
new file mode 100644
index 000000000000..a8a348834808
--- /dev/null
+++ b/gnustep-base/gnustep-make/files/gnustep-make-2.9.3-support-libdispatch-in-libobjc2.patch
@@ -0,0 +1,370 @@
+https://github.com/gnustep/tools-make/pull/56
+
+From 4b67844896e3d51bbd1b432eac443434a083dccf Mon Sep 17 00:00:00 2001
+From: Niels Grewe <niels@zasta.de>
+Date: Tue, 2 Sep 2025 07:23:29 +0200
+Subject: [PATCH] feat: Support Swift's libBlocksRuntime
+
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -294,3 +294,4 @@ m4_include([m4/gs_gcc_version.m4])
+ m4_include([m4/gs_library_combo.m4])
+ m4_include([m4/gs_objc_runtime.m4])
+ m4_include([m4/gs_runtime_abi.m4])
++m4_include([m4/gs_blocks_support.m4])
+--- a/config.make.in
++++ b/config.make.in
+@@ -67,6 +67,7 @@ CLANG_CC = @CLANG_CC@
+ OPTFLAG = @CFLAGS@
+ OBJCFLAGS= @OBJCFLAGS@
+ OBJC_LIB_FLAG = @OBJC_LIB_FLAG@
++BLOCKS_LIB_FLAG = @BLOCKS_LIBS@
+ CPPFLAGS = @CPPFLAGS@
+ CPP = @CPP@
+ CCFLAGS = @CXXFLAGS@
+old mode 100755
+new mode 100644
+--- a/configure
++++ b/configure
+@@ -645,6 +645,7 @@ OBJ_MERGE_CMD_FLAG
+ USE_ARC
+ ac_cv_objc_threaded
+ objc_threaded
++BLOCKS_LIBS
+ libobjc_LIBS
+ libobjc_CFLAGS
+ PKG_CONFIG_LIBDIR
+@@ -5824,53 +5825,7 @@ fi
+
+
+ else
+- if test "$OBJC_RUNTIME_LIB" = ng; then
+- #
+- # Detect compiler support for Blocks; perhaps someday -fblocks won't be
+- # required, in which case we'll need to change this.
+- #
+- saveCFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -fblocks"
+- ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+-
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-int
+-main (void)
+-{
+-(void)^{int i; i = 0; }();
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"
+-then :
+-
+- ac_cv_blocks="yes"
+-
+-else $as_nop
+-
+- ac_cv_blocks="no"
+
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+- CFLAGS="$saveCFLAGS"
+- ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+- if test "$ac_cv_blocks" = no; then
+- as_fn_error $? "Your compiler doesn't appear to support blocks. To fix this use the CC environment varibale to specify a different compiler (or use a different library-combo)" "$LINENO" 5;
+- fi
+- fi
+ # Extract the first word of "ar", so it can be a program name with args.
+ set dummy ar; ac_word=$2
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+@@ -8152,7 +8107,7 @@ printf "%s\n" "$gs_cv_libobjc_domain_ng" >&6; }
+
+ if test ! x"$libobjc_LIBS" = x""; then
+ OBJC_CPPFLAGS=$libobjc_CFLAGS
+- OBCJ_LDFLAGS=""
++ OBJC_LDFLAGS=""
+ OBJC_FINAL_LIB_FLAG=$libobjc_LIBS
+ elif test ! x"$gs_cv_libobjc_domain_ng" = x""; then
+ if test x"$gs_cv_libobjc_domain_ng" = x"SYSTEM"; then
+@@ -8219,7 +8174,8 @@ printf "%s\n" "$gs_cv_libobjc_domain_ng" >&6; }
+
+
+
+- ac_fn_c_check_func "$LINENO" "objc_test_capability" "ac_cv_func_objc_test_capability"
++
++ac_fn_c_check_func "$LINENO" "objc_test_capability" "ac_cv_func_objc_test_capability"
+ if test "x$ac_cv_func_objc_test_capability" = xyes
+ then :
+
+@@ -8666,7 +8622,7 @@ printf "%s\n" "$gs_cv_libobjc_domain_dflt" >&6; }
+
+ if test ! x"$libobjc_LIBS" = x""; then
+ OBJC_CPPFLAGS=$libobjc_CFLAGS
+- OBCJ_LDFLAGS=""
++ OBJC_LDFLAGS=""
+ OBJC_FINAL_LIB_FLAG=$libobjc_LIBS
+ elif test ! x"$gs_cv_libobjc_domain_dflt" = x""; then
+ if test x"$gs_cv_libobjc_domain_dflt" = x"SYSTEM"; then
+@@ -8730,6 +8686,122 @@ printf "%s\n" "$gs_cv_libobjc_domain_dflt" >&6; }
+
+
+
++
++
++ BLOCKS_LIBS=""
++ if test "$OBJC_RUNTIME_LIB" = ng; then
++ #
++ # Detect compiler support for Blocks; perhaps someday -fblocks won't be
++ # required, in which case we'll need to change this.
++ #
++ saveCFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -fblocks"
++
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for blocks support in compiler" >&5
++printf %s "checking for blocks support in compiler... " >&6; }
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main (void)
++{
++(void)^{int i; i = 0; }();
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++
++ ac_cv_blocks="yes"
++
++else $as_nop
++
++ ac_cv_blocks="no"
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_blocks" >&5
++printf "%s\n" "$ac_cv_blocks" >&6; }
++ CFLAGS="$saveCFLAGS"
++ if test "$ac_cv_blocks" = yes; then
++ saveLIBS="$LIBS"
++ LIBS="$LIBS $OBJC_FINAL_LIB_FLAG"
++ ac_fn_c_check_func "$LINENO" "_Block_copy" "ac_cv_func__Block_copy"
++if test "x$ac_cv_func__Block_copy" = xyes
++then :
++
++fi
++
++ LIBS="$saveLIBS"
++ if test "$ac_cv_func__Block_copy" = no; then
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _Block_copy in -lBlocksRuntime" >&5
++printf %s "checking for _Block_copy in -lBlocksRuntime... " >&6; }
++if test ${ac_cv_lib_BlocksRuntime__Block_copy+y}
++then :
++ printf %s "(cached) " >&6
++else $as_nop
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lBlocksRuntime $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++char _Block_copy ();
++int
++main (void)
++{
++return _Block_copy ();
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++ ac_cv_lib_BlocksRuntime__Block_copy=yes
++else $as_nop
++ ac_cv_lib_BlocksRuntime__Block_copy=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_BlocksRuntime__Block_copy" >&5
++printf "%s\n" "$ac_cv_lib_BlocksRuntime__Block_copy" >&6; }
++if test "x$ac_cv_lib_BlocksRuntime__Block_copy" = xyes
++then :
++ printf "%s\n" "#define HAVE_LIBBLOCKSRUNTIME 1" >>confdefs.h
++
++ LIBS="-lBlocksRuntime $LIBS"
++
++fi
++
++ if test "$ac_cv_lib_BlocksRuntime__Block_copy" = yes; then
++ BLOCKS_LIBS="-lBlocksRuntime"
++ else
++ as_fn_error $? "Your compiler supports blocks, but the symbols required for blocks support are found neither in libobjc nor in libBlocksRuntime. To fix this, recompile libobjc2 with an embedded blocks runtime, or install libBlocksRuntime/libdispatch with private headers." "$LINENO" 5
++ fi
++ fi
++ else
++ as_fn_error $? "Your compiler doesn't appear to support blocks. To fix this use the CC environment varibale to specify a different compiler (or use a different library-combo)" "$LINENO" 5;
++ fi
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ fi
++
++
+ #--------------------------------------------------------------------
+ # Check if libobjc was compiled with thread support.
+ #--------------------------------------------------------------------
+--- a/configure.ac
++++ b/configure.ac
+@@ -228,25 +228,7 @@ if test "x$target" != "x$host"; then
+ AC_CHECK_PROG(DLLTOOL, "${targetArgument}-dlltool", dnl
+ "${targetArgument}-dlltool", dlltool)
+ else
+- if test "$OBJC_RUNTIME_LIB" = ng; then
+- #
+- # Detect compiler support for Blocks; perhaps someday -fblocks won't be
+- # required, in which case we'll need to change this.
+- #
+- saveCFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -fblocks"
+- AC_LANG_PUSH(C)
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[(void)^{int i; i = 0; }();])], [
+- ac_cv_blocks="yes"
+- ], [
+- ac_cv_blocks="no"
+- ])
+- CFLAGS="$saveCFLAGS"
+- AC_LANG_POP(C)
+- if test "$ac_cv_blocks" = no; then
+- AC_MSG_ERROR([Your compiler doesn't appear to support blocks. To fix this use the CC environment varibale to specify a different compiler (or use a different library-combo)]);
+- fi
+- fi
++
+ AC_CHECK_PROG(AR, ar, ar)
+ AC_CHECK_PROG(DLLTOOL, dlltool, dlltool)
+ AC_PROG_RANLIB
+@@ -1147,7 +1129,7 @@ fi
+
+
+ GS_CHECK_OBJC_RUNTIME()
+-
++GS_BLOCKS_SUPPORT()
+ #--------------------------------------------------------------------
+ # Check if libobjc was compiled with thread support.
+ #--------------------------------------------------------------------
+--- a/library-combo.make
++++ b/library-combo.make
+@@ -42,7 +42,7 @@ endif
+ ifeq ($(OBJC_RUNTIME_LIB), ng)
+ OBJC_LDFLAGS =
+ OBJC_LIB_DIR =
+- OBJC_LIBS = $(OBJC_LIB_FLAG)
++ OBJC_LIBS = $(OBJC_LIB_FLAG) $(BLOCKS_LIB_FLAG)
+ ifeq ($(RUNTIME_VERSION),)
+ ifneq ($(DEFAULT_OBJC_RUNTIME_ABI),)
+ RUNTIME_VERSION=$(DEFAULT_OBJC_RUNTIME_ABI)
+--- /dev/null
++++ b/m4/gs_blocks_support.m4
+@@ -0,0 +1,50 @@
++# SYNOPSIS
++#
++# GS_BLOCKS_SUPPORT()
++#
++# DESCRIPTION
++#
++# This macro determines whether and how blocks are used
++#
++AC_DEFUN([GS_BLOCKS_SUPPORT],dnl
++ [
++ AC_REQUIRE([GS_LIBRARY_COMBO])
++ AC_REQUIRE([GS_CHECK_OBJC_RUNTIME])
++ BLOCKS_LIBS=""
++ if test "$OBJC_RUNTIME_LIB" = ng; then
++ #
++ # Detect compiler support for Blocks; perhaps someday -fblocks won't be
++ # required, in which case we'll need to change this.
++ #
++ saveCFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -fblocks"
++
++ AC_LANG_PUSH(C)
++ AC_MSG_CHECKING([for blocks support in compiler])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[(void)^{int i; i = 0; }();])], [
++ ac_cv_blocks="yes"
++ ], [
++ ac_cv_blocks="no"
++ ])
++ AC_MSG_RESULT([$ac_cv_blocks])
++ CFLAGS="$saveCFLAGS"
++ if test "$ac_cv_blocks" = yes; then
++ saveLIBS="$LIBS"
++ LIBS="$LIBS $OBJC_FINAL_LIB_FLAG"
++ AC_CHECK_FUNC([_Block_copy])
++ LIBS="$saveLIBS"
++ if test "$ac_cv_func__Block_copy" = no; then
++ AC_CHECK_LIB([BlocksRuntime], [_Block_copy])
++ if test "$ac_cv_lib_BlocksRuntime__Block_copy" = yes; then
++ BLOCKS_LIBS="-lBlocksRuntime"
++ else
++ AC_MSG_ERROR([Your compiler supports blocks, but the symbols required for blocks support are found neither in libobjc nor in libBlocksRuntime. To fix this, recompile libobjc2 with an embedded blocks runtime, or install libBlocksRuntime/libdispatch with private headers.])
++ fi
++ fi
++ else
++ AC_MSG_ERROR([Your compiler doesn't appear to support blocks. To fix this use the CC environment varibale to specify a different compiler (or use a different library-combo)]);
++ fi
++ AC_LANG_POP(C)
++ fi
++ AC_SUBST(BLOCKS_LIBS)
++])
+--- a/m4/gs_objc_runtime.m4
++++ b/m4/gs_objc_runtime.m4
+@@ -164,7 +164,7 @@ AC_DEFUN([GS_OBJC_LIB_FLAG], [
+ # Configure the installed Objective-C runtime, if it is installed. This sets up CFLAGS/LDFLAGS/LD_LIBRARY_PATH
+ # as required. Additionally, following variables are set after execution of this macro:
+ # * OBJC_CPPFLAGS
+-# * OBCJ_LDFLAGS
++# * OBJC_LDFLAGS
+ # * OBJC_FINAL_LIB_FLAG
+ # * OBJCRT
+ #
+@@ -185,7 +185,7 @@ AC_DEFUN([GS_CHECK_OBJC_RUNTIME], [
+ dnl pkg-config makes it easy for us to configure the flags
+ if test ! x"$libobjc_LIBS" = x""; then
+ OBJC_CPPFLAGS=$libobjc_CFLAGS
+- OBCJ_LDFLAGS=""
++ OBJC_LDFLAGS=""
+ OBJC_FINAL_LIB_FLAG=$libobjc_LIBS
+ dnl we need to invest more smarts if
+ elif test ! x"$gs_cv_libobjc_domain" = x""; then
+@@ -279,4 +279,4 @@ AC_DEFUN([GS_CHECK_RUNTIME_ABI20_SUPPORT], [
+ fi
+ ])
+ AS_VAR_SET([libobjc_SUPPORTS_ABI20], [${gs_cv_libobjc_abi_20}])
+-])
+\ No newline at end of file
++])
diff --git a/gnustep-base/gnustep-make/gnustep-make-2.9.3-r2.ebuild b/gnustep-base/gnustep-make/gnustep-make-2.9.3-r2.ebuild
new file mode 100644
index 000000000000..09fe0f986dce
--- /dev/null
+++ b/gnustep-base/gnustep-make/gnustep-make-2.9.3-r2.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit flag-o-matic gnustep-base prefix toolchain-funcs verify-sig
+
+DESCRIPTION="GNUstep Makefile Package"
+HOMEPAGE="https://gnustep.github.io"
+SRC_URI="
+ https://ftp.gnustep.org/pub/gnustep/core/${P}.tar.gz
+ verify-sig? ( https://ftp.gnustep.org/pub/gnustep/core/${P}.tar.gz.sig )
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ppc64 ~sparc x86"
+IUSE="libobjc2 native-exceptions"
+
+DEPEND="${GNUSTEP_CORE_DEPEND}
+ >=dev-build/make-3.75
+ libobjc2? ( gnustep-base/libobjc2
+ llvm-core/clang:* )
+ !libobjc2? ( !!gnustep-base/libobjc2
+ || (
+ sys-devel/gcc:*[objc]
+ llvm-core/clang:*
+ ) )"
+RDEPEND="${DEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnustep )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnustep.asc
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.9.0-no_compress_man_pages.patch
+ "${FILESDIR}"/${PN}-2.9.3-support-libdispatch-in-libobjc2.patch
+)
+
+pkg_setup() {
+ # Determine libobjc.so to use
+ if use libobjc2; then
+ libobjc_version=libobjc.so
+ else
+ # Find version in active gcc
+ for ver in {2..5};
+ do
+ if $(tc-getCC) -Werror -Wl,-l:libobjc.so.${ver} -x objective-c \
+ - <<<$'int main() {}' -o /dev/null 2> /dev/null;
+ then
+ libobjc_version=libobjc.so.${ver}
+ fi
+ done
+ fi
+
+ # Stop if we could not get libobjc.so
+ if [[ -z ${libobjc_version} ]]; then
+ eerror "${P} requires a working Objective-C runtime and a compiler with"
+ eerror "Objective-C support. Your current settings lack these requirements"
+ if ! use libobjc2;
+ then
+ eerror "Please switch your active compiler to gcc with USE=objc, or clang"
+ fi
+ die "Could not find Objective-C runtime"
+ fi
+
+ # For existing installations, determine if we will use another libobjc.so
+ if has_version gnustep-base/gnustep-make; then
+ local current_libobjc="$(awk -F: '/^OBJC_LIB_FLAG/ {print $2}' "${EPREFIX}"/usr/share/GNUstep/Makefiles/config.make)"
+ # Old installations did not set this explicitely
+ : ${current_libobjc:=libobjc.so.2}
+
+ if [[ ${current_libobjc} != ${libobjc_version} ]]; then
+ ewarn "Warning: changed libobjc.so version!!"
+ ewarn "The libobjc.so version used for gnustep-make has changed"
+ ewarn "(either by the libojbc2 use-flag or a GCC upgrade)"
+ ewarn "You must rebuild all gnustep packages installed."
+ ewarn ""
+ ewarn "To do so, please emerge gnustep-base/gnustep-updater and run:"
+ ewarn "# gnustep-updater -l"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Multilib-strict
+ sed -e "s#/@libdir@#/$(get_libdir)#" -i FilesystemLayouts/fhs-system || die "sed failed"
+ cp "${FILESDIR}"/gnustep-5.{csh,sh} "${T}"/
+ eprefixify "${T}"/gnustep-5.{csh,sh}
+
+ default
+}
+
+src_configure() {
+ if use libobjc2 && tc-is-gcc; then
+ einfo "Forcing clang"
+ export CC="${CHOST}-clang"
+ export CXX="${CHOST}-clang++"
+
+ # Strip unsupported flags for clang
+ # bug #949599
+ strip-unsupported-flags
+ fi
+
+ econf \
+ INSTALL="${EPREFIX}"/usr/bin/install \
+ --with-layout=fhs-system \
+ --with-config-file="${EPREFIX}"/etc/GNUstep/GNUstep.conf \
+ --with-objc-lib-flag=-l:${libobjc_version} \
+ $(use_enable native-exceptions native-objc-exceptions)
+}
+
+src_compile() {
+ emake
+ if use doc ; then
+ emake -C Documentation
+ fi
+}
+
+src_install() {
+ # Get GNUSTEP_* variables
+ . ./GNUstep.conf
+
+ local make_eval
+ use debug || make_eval="${make_eval} debug=no"
+ make_eval="${make_eval} verbose=yes"
+
+ emake ${make_eval} DESTDIR="${D}" install
+
+ # Copy the documentation
+ if use doc ; then
+ emake -C Documentation ${make_eval} DESTDIR="${D}" GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install
+ fi
+
+ dodoc FAQ README RELEASENOTES
+
+ exeinto /etc/profile.d
+ doexe "${T}"/gnustep-?.sh
+ doexe "${T}"/gnustep-?.csh
+}
+
+pkg_postinst() {
+ # Warn about new layout if old GNUstep directory is still here
+ if [ -e /usr/GNUstep/System ]; then
+ ewarn "Old layout directory detected (/usr/GNUstep/System)"
+ ewarn "Gentoo has switched to FHS layout for GNUstep packages"
+ ewarn "You must first update the configuration files from this package,"
+ ewarn "then remerge all packages still installed with the old layout"
+ ewarn "You can use gnustep-base/gnustep-updater for this task"
+ fi
+}
diff --git a/gnustep-base/gnustep-make/metadata.xml b/gnustep-base/gnustep-make/metadata.xml
new file mode 100644
index 000000000000..ba52ce549987
--- /dev/null
+++ b/gnustep-base/gnustep-make/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <longdescription>
+The makefile package is a simple, powerful and extensible way to write
+makefiles for a GNUstep-based project. It allows the user to write a
+project without having to deal with the complex issues associated with
+configuration, building, installation, and packaging. It also allows
+the user to easily create cross-compiled binaries.
+</longdescription>
+ <use>
+ <flag name="libobjc2">Enables use of the GNUstep Objective-C runtime (<pkg>gnustep-base/libobjc2</pkg>) with non-fragile ABI and <pkg>llvm-core/clang</pkg> compiler</flag>
+ <flag name="native-exceptions">Enables use of the native Objective-C exception support (@try/@catch/@finally) built-in objective-c exceptions with compilers that support it </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/gnustep-updater/Manifest b/gnustep-base/gnustep-updater/Manifest
new file mode 100644
index 000000000000..8277030e6d43
--- /dev/null
+++ b/gnustep-base/gnustep-updater/Manifest
@@ -0,0 +1 @@
+DIST gnustep-updater-0.3.tar.bz2 3685 BLAKE2B df4d4e54243e0ffaa2ba28c71eefb7107b1cec59574f69ba4587a76a759d33d68c4d06250160b97814ef2c00e6e628664c30c760ad1fc3c9ac0c035451b5520a SHA512 079b51c54a7860c4eea65ffc63172ea69e88de4a34f2ca0d0c5ad3a1342ea37ee69edb107f287f04d33c3ee03658edd5386d1323f47e9bc201bc70d68d0c9c4b
diff --git a/gnustep-base/gnustep-updater/gnustep-updater-0.3-r1.ebuild b/gnustep-base/gnustep-updater/gnustep-updater-0.3-r1.ebuild
new file mode 100644
index 000000000000..c4b9b9dcd0dc
--- /dev/null
+++ b/gnustep-base/gnustep-updater/gnustep-updater-0.3-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Helper tool to upgrade Gentoo GNUstep installations"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:GNUstep"
+SRC_URI="https://dev.gentoo.org/~voyageur/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ppc64 ~sparc x86"
+IUSE=""
+
+RDEPEND="app-misc/pax-utils
+ >=gnustep-base/gnustep-make-2.6.0"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ sed -e "s#/etc/init.d/functions.sh#/lib/gentoo/functions.sh#" \
+ -i gnustep-updater || die
+}
+
+src_install() {
+ dosbin gnustep-updater
+ doman gnustep-updater.1
+}
diff --git a/gnustep-base/gnustep-updater/metadata.xml b/gnustep-base/gnustep-updater/metadata.xml
new file mode 100644
index 000000000000..becc3a703647
--- /dev/null
+++ b/gnustep-base/gnustep-updater/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/libobjc2/Manifest b/gnustep-base/libobjc2/Manifest
new file mode 100644
index 000000000000..04c58787023e
--- /dev/null
+++ b/gnustep-base/libobjc2/Manifest
@@ -0,0 +1 @@
+DIST libobjc2-2.3.tar.gz 213139 BLAKE2B 6bcfe56ea602a1a2b84ff6e9638a1779fd555270984dc5d041fbe7a95c6a4292a25b2f4dbbeb046b33095108490c9214c48561e78627b36c46c721ea3c7a4131 SHA512 d5d051a2ee8abc2d72e3e51faae721e53e301a2a21c35853ee9a44cac749cf13d8e5938b32b98f8793c767fe8a54b1d472ea3e174c45c7b65543db2e84b369ff
diff --git a/gnustep-base/libobjc2/files/libobjc2-2.3-incompatible-pointers.patch b/gnustep-base/libobjc2/files/libobjc2-2.3-incompatible-pointers.patch
new file mode 100644
index 000000000000..5b431714ab52
--- /dev/null
+++ b/gnustep-base/libobjc2/files/libobjc2-2.3-incompatible-pointers.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/970708
+backported upstream patch for incomatible pointers. CI stuff
+trimmed.
+https://github.com/gnustep/libobjc2/commit/0e027650d960626b2119efabaebde20bb003a3db
+From 0e027650d960626b2119efabaebde20bb003a3db Mon Sep 17 00:00:00 2001
+From: Hugo Melder <service@hugomelder.com>
+Date: Sat, 25 Oct 2025 13:50:36 +0200
+Subject: [PATCH] Add Weekly CI (#352)
+
+* CI: add weekly workflow
+
+* CI: testing in feature branch
+
+* Test/FastPathAlloc: fix compilation error
+diff --git a/Test/FastPathAlloc.m b/Test/FastPathAlloc.m
+index 340a8dd3..f1eb6244 100644
+--- a/Test/FastPathAlloc.m
++++ b/Test/FastPathAlloc.m
+@@ -96,7 +96,7 @@ + (instancetype)alloc
+ @implementation ShouldInitSubclassed
+ + (instancetype) alloc
+ {
+- return [ShouldInit alloc];
++ return (ShouldInitSubclassed *)[ShouldInit alloc];
+ }
+ @end
+
diff --git a/gnustep-base/libobjc2/libobjc2-2.3-r1.ebuild b/gnustep-base/libobjc2/libobjc2-2.3-r1.ebuild
new file mode 100644
index 000000000000..9dbd89a85b71
--- /dev/null
+++ b/gnustep-base/libobjc2/libobjc2-2.3-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="GNUstep Objective-C runtime"
+HOMEPAGE="https://developer.gnustep.org/"
+SRC_URI="https://github.com/gnustep/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libdispatch test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/robin-map
+ libdispatch? (
+ >=dev-libs/libdispatch-6.1.1
+ )
+ !libdispatch? ( !dev-libs/libdispatch )
+"
+BDEPEND="${RDEPEND}
+ llvm-core/clang"
+
+PATCHES=( "${FILESDIR}/${P}-incompatible-pointers.patch" )
+
+src_configure() {
+ if tc-is-gcc; then
+ einfo "Forcing clang"
+ export CC="${CHOST}-clang"
+ export CXX="${CHOST}-clang++"
+
+ # Strip unsupported flags for clang. bug #871933
+ strip-unsupported-flags
+ fi
+
+ local mycmakeargs=(
+ -DEMBEDDED_BLOCKS_RUNTIME=$(usex !libdispatch)
+ -DGNUSTEP_CONFIG=GNUSTEP_CONFIG-NOTFOUND
+ -DTESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/gnustep-base/libobjc2/libobjc2-2.3.ebuild b/gnustep-base/libobjc2/libobjc2-2.3.ebuild
new file mode 100644
index 000000000000..7bbed7dc6ab2
--- /dev/null
+++ b/gnustep-base/libobjc2/libobjc2-2.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="GNUstep Objective-C runtime"
+HOMEPAGE="https://gnustep.github.io"
+SRC_URI="https://github.com/gnustep/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libdispatch test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/robin-map
+ libdispatch? (
+ >=dev-libs/libdispatch-6.1.1
+ !<gnustep-base/gnustep-make-2.9.3-r1
+ )
+ !libdispatch? ( !dev-libs/libdispatch )
+"
+BDEPEND="${RDEPEND}
+ llvm-core/clang"
+
+src_configure() {
+ if tc-is-gcc; then
+ einfo "Forcing clang"
+ export CC="${CHOST}-clang"
+ export CXX="${CHOST}-clang++"
+
+ # Strip unsupported flags for clang. bug #871933
+ strip-unsupported-flags
+ fi
+
+ local mycmakeargs=(
+ -DEMBEDDED_BLOCKS_RUNTIME=$(usex !libdispatch)
+ -DGNUSTEP_CONFIG=GNUSTEP_CONFIG-NOTFOUND
+ -DTESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/gnustep-base/libobjc2/metadata.xml b/gnustep-base/libobjc2/metadata.xml
new file mode 100644
index 000000000000..ca39ec36ef50
--- /dev/null
+++ b/gnustep-base/libobjc2/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <longdescription>
+ The GNUstep Objective-C runtime is designed as a drop-in replacement for the
+ GCC runtime. It supports both a legacy and a modern ABI, allowing code
+ compiled with old versions of GCC to be supported without requiring
+ recompilation. The modern ABI adds the following features:
+ - Non-fragile instance variables.
+ - Protocol uniquing.
+ - Object planes support.
+ - Declared property introspection.
+
+ Both ABIs support the following feature above and beyond the GCC runtime:
+ - The modern Objective-C runtime APIs, introduced with OS X 10.5.
+ - Blocks (closures).
+ - Low memory profile for platforms where memory usage is more important than speed.
+ - Synthesised property accessors.
+ - Efficient support for @synchronized()
+ - Type-dependent dispatch, eliminating stack corruption from mismatched selectors.
+ </longdescription>
+ <use>
+ <flag name="libdispatch">Build against the blocks runtime in <pkg>dev-libs/libdispatch</pkg>
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/metadata.xml b/gnustep-base/metadata.xml
new file mode 100644
index 000000000000..bd7c779fab1b
--- /dev/null
+++ b/gnustep-base/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The gnustep-base category contains GNUstep base packages.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie gnustep-base enthält die Basispakete der
+ GNUstep-Umgebung.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría gnustep-base contiene los paquetes base de GNUstep.
+ </longdescription>
+ <longdescription lang="ja">
+ gnustep-baseカテゴリーにはGNUstepのベース・パッケージが含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De gnustep-base categorie bevat de basispakketten van GNUstep.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm gnustep-base chứa các ứng dụng GNUstep cơ bản.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria gnustep-base contiene i pacchetti base di GNUstep.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria gnustep-base contém os pacotes de base de GNUstep.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria gnustep-base zawiera podstawowe pakiety GNUstep.
+ </longdescription>
+</catmetadata>
diff --git a/gnustep-base/mknfonts/Manifest b/gnustep-base/mknfonts/Manifest
new file mode 100644
index 000000000000..9ea7b391c1b1
--- /dev/null
+++ b/gnustep-base/mknfonts/Manifest
@@ -0,0 +1 @@
+DIST mknfonts.tool_0.5.orig.tar.gz 2890 BLAKE2B 584989b90c0fb44d62f69174e0dca706a8bcfab942442228ae4e5c98dfb8221e9bfc43cb32b4f48609b51ff7217f591f2d7acaccf219a2ed34b99fb9f5ea2f4e SHA512 a6ad5810576285f16a8dc3596205b64bc6b183a6b9377df1c9e40d28cdba7ce2ae6e6b883478429f8c931bdd3f9f23396c6f5cd3fa1d155025638bb77ccd86ed
diff --git a/gnustep-base/mknfonts/files/mknfonts-0.5-pkgconfig.patch b/gnustep-base/mknfonts/files/mknfonts-0.5-pkgconfig.patch
new file mode 100644
index 000000000000..f375b0277dc2
--- /dev/null
+++ b/gnustep-base/mknfonts/files/mknfonts-0.5-pkgconfig.patch
@@ -0,0 +1,13 @@
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -9,8 +9,8 @@
+
+ ADDITIONAL_OBJCFLAGS += -Wall -O2
+
+-ADDITIONAL_INCLUDE_DIRS += `freetype-config --cflags`
+-ADDITIONAL_LDFLAGS += `freetype-config --libs`
++ADDITIONAL_INCLUDE_DIRS += `${PKG_CONFIG} --cflags freetype2`
++ADDITIONAL_LDFLAGS += `${PKG_CONFIG} --libs freetype2`
+
+ mknfonts_OBJC_FILES = mknfonts.m
+
diff --git a/gnustep-base/mknfonts/files/mknfonts-rename.patch b/gnustep-base/mknfonts/files/mknfonts-rename.patch
new file mode 100644
index 000000000000..426d7c92640b
--- /dev/null
+++ b/gnustep-base/mknfonts/files/mknfonts-rename.patch
@@ -0,0 +1,15 @@
+--- a/mknfonts.m
++++ b/mknfonts.m
+@@ -310,12 +310,6 @@
+ {
+ fi=[faceinfos objectAtIndex: i];
+ [faces addObject: [fi faceInfoDictionary]];
+- for (j=0;j<[fi->files count];j++)
+- {
+- [fm movePath: [fi->files objectAtIndex: j]
+- toPath: [path stringByAppendingPathComponent: [[fi->files objectAtIndex: j] lastPathComponent]]
+- handler: nil];
+- }
+ }
+
+ [family_info
diff --git a/gnustep-base/mknfonts/metadata.xml b/gnustep-base/mknfonts/metadata.xml
new file mode 100644
index 000000000000..becc3a703647
--- /dev/null
+++ b/gnustep-base/mknfonts/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/gnustep-base/mknfonts/mknfonts-0.5-r3.ebuild b/gnustep-base/mknfonts/mknfonts-0.5-r3.ebuild
new file mode 100644
index 000000000000..9d326a64105f
--- /dev/null
+++ b/gnustep-base/mknfonts/mknfonts-0.5-r3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnustep-base toolchain-funcs
+
+DESCRIPTION="A tool to create .nfont packages for use with gnustep-back-art"
+HOMEPAGE="https://packages.debian.org/mknfonts.tool"
+SRC_URI="mirror://debian/pool/main/m/${PN}.tool/${PN}.tool_${PV}.orig.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ~sparc x86"
+IUSE=""
+
+RDEPEND="gnustep-base/gnustep-gui
+ >=media-libs/freetype-2.1"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-rename.patch
+ "${FILESDIR}"/${P}-pkgconfig.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export PKG_CONFIG
+
+ # Correct link command for --as-needed
+ sed -i -e "s/ADDITIONAL_LDFLAGS/ADDITIONAL_TOOL_LIBS/" GNUmakefile || die
+}