commit:     344bc085a26a114eea56481d099ec45c61ad109c
Author:     Mats Lidell <matsl <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 12 22:46:31 2025 +0000
Commit:     Mats Lidell <matsl <AT> gentoo <DOT> org>
CommitDate: Sat Sep 13 08:09:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=344bc085

app-editors/xemacs: pin to db-5.3

Pin ebuild to db-5.3 and patch configure to only look for and
link with 5.3.

Use explicit database configure args also for not selected database
options. It avoids configure for sometimes picking up unselected
options when they too are installed.

Closes: https://bugs.gentoo.org/962430
Signed-off-by: Mats Lidell <matsl <AT> gentoo.org>

 .../xemacs/files/xemacs-21.5.36-berkdb-5.3.patch    | 21 +++++++++++++++++++++
 ...s-21.5.36-r2.ebuild => xemacs-21.5.36-r3.ebuild} | 10 ++++++----
 app-editors/xemacs/xemacs-21.5.9999.ebuild          | 12 +++++++-----
 3 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/app-editors/xemacs/files/xemacs-21.5.36-berkdb-5.3.patch 
b/app-editors/xemacs/files/xemacs-21.5.36-berkdb-5.3.patch
new file mode 100644
index 000000000000..08f43d389854
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.36-berkdb-5.3.patch
@@ -0,0 +1,21 @@
+diff -r f50a0e148361 configure.ac
+--- a/configure.ac     Mon Sep 08 17:20:50 2025 +0100
++++ b/configure.ac     Wed Sep 10 15:42:53 2025 +0200
+@@ -5211,7 +5211,7 @@
+ dnl Check for Berkeley DB.
+ if test "$with_database_berkdb" != "no"; then
+   AC_MSG_CHECKING(for Berkeley db.h)
+-  for header in "db/db.h" "db.h"; do
++  for header in "db5.3/db.h"; do
+     AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+ #include <stdlib.h>
+ #if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)
+@@ -5283,7 +5283,7 @@
+   if test "$with_database_berkdb" = "yes"; then
+     AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file")
+     AC_DEFINE(HAVE_BERKELEY_DB)
+-    test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS)
++    test "$need_libdb" = "yes" && XE_PREPEND(-ldb-5.3, LIBS)
+   else with_database_berkdb=no
+   fi
+ fi

diff --git a/app-editors/xemacs/xemacs-21.5.36-r2.ebuild 
b/app-editors/xemacs/xemacs-21.5.36-r3.ebuild
similarity index 96%
rename from app-editors/xemacs/xemacs-21.5.36-r2.ebuild
rename to app-editors/xemacs/xemacs-21.5.36-r3.ebuild
index d81731910682..ce49edaf0e45 100644
--- a/app-editors/xemacs/xemacs-21.5.36-r2.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.36-r3.ebuild
@@ -21,8 +21,9 @@ IUSE="alsa debug gif gpm pop postgres ldap xface nas X jpeg 
tiff png motif xft x
 
 X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
 
+# If sys-libs/db:5.3 is removed from tree 4.8 can be used.
 RDEPEND="
-       berkdb? ( >=sys-libs/db-4:= )
+       berkdb? ( sys-libs/db:5.3= )
        gdbm? ( >=sys-libs/gdbm-1.8.3:=[berkdb(+)] )
        >=sys-libs/zlib-1.1.4
        >=dev-libs/openssl-0.9.6:0=
@@ -65,6 +66,7 @@ src_prepare() {
        eapply "${FILESDIR}/${P}-failing-tests.patch"
        eapply "${FILESDIR}/${P}-failing-tests-2.patch"
        eapply "${FILESDIR}/${P}-configure-postgresql.patch"
+       eapply "${FILESDIR}/${P}-berkdb-5.3.patch"
        eapply_user
 
        eautoconf
@@ -147,9 +149,9 @@ src_configure() {
        myconf="${myconf} --with-sound=${soundconf}"
 
        if use gdbm || use berkdb ; then
-               use gdbm   && mydb="gdbm"
-               use berkdb && mydb="${mydb},berkdb"
-
+               local mydb="nodbm"
+               use gdbm   && mydb="${mydb},gdbm"   || mydb="${mydb},nogdbm"
+               use berkdb && mydb="${mydb},berkdb" || mydb="${mydb},noberkdb"
                myconf="${myconf} --with-database=${mydb}"
        else
                myconf="${myconf} --without-database"

diff --git a/app-editors/xemacs/xemacs-21.5.9999.ebuild 
b/app-editors/xemacs/xemacs-21.5.9999.ebuild
index b6aa207a9c9c..227936dfb71b 100644
--- a/app-editors/xemacs/xemacs-21.5.9999.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.9999.ebuild
@@ -21,8 +21,9 @@ IUSE="alsa debug gif gpm pop postgres ldap xface nas X jpeg 
tiff png motif xft x
 
 X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
 
+# If sys-libs/db:5.3 is removed from tree 4.8 can be used.
 RDEPEND="
-       berkdb? ( >=sys-libs/db-4:= )
+       berkdb? ( sys-libs/db:5.3= )
        gdbm? ( >=sys-libs/gdbm-1.8.3:=[berkdb(+)] )
        >=sys-libs/zlib-1.1.4
        >=dev-libs/openssl-0.9.6:0=
@@ -64,6 +65,7 @@ src_prepare() {
        use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* 
"${S}"/etc/toolbar/
        find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
        eapply "${FILESDIR}/${PN}-21.5.35-unknown-command-test.patch"
+       eapply "${FILESDIR}/${PN}-21.5.36-berkdb-5.3.patch"
 
        eapply_user
 
@@ -147,9 +149,9 @@ src_configure() {
        myconf="${myconf} --with-sound=${soundconf}"
 
        if use gdbm || use berkdb ; then
-               use gdbm   && mydb="gdbm"
-               use berkdb && mydb="${mydb},berkdb"
-
+               local mydb="nodbm"
+               use gdbm   && mydb="${mydb},gdbm"   || mydb="${mydb},nogdbm"
+               use berkdb && mydb="${mydb},berkdb" || mydb="${mydb},noberkdb"
                myconf="${myconf} --with-database=${mydb}"
        else
                myconf="${myconf} --without-database"
@@ -185,7 +187,7 @@ src_configure() {
 }
 
 src_compile() {
-       # bug: #959756
+       # bug #959756
        local -x CCACHE_DISABLE=1
        emake EMACSLOADPATH="${S}"/lisp
 }

Reply via email to