commit:     fd3dc556aa71ee89c094a3e9753de00e4ee46c2a
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  8 19:51:40 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Thu Dec  8 19:51:40 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd3dc556

sys-devel/gettext: force a recent version of libxml2 #596918

Gettext, via gnulib, bundles libxml2.  If it detects the system version
of libxml2 is too old, it will automatically fall back to that.  Pass
configure flags to disable that logic, but also add a min version to
the libxml2 dep to match the versions that are included.

Both of these include libxml2-2.9.3, so that's what we force.  We'll
have to remember to check the version of the bundled copy from time
to time in case we need to update the dependency.

 sys-devel/gettext/gettext-0.19.7.ebuild   | 7 ++++++-
 sys-devel/gettext/gettext-0.19.8.1.ebuild | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/sys-devel/gettext/gettext-0.19.7.ebuild 
b/sys-devel/gettext/gettext-0.19.7.ebuild
index 7922b1d..2158b6f 100644
--- a/sys-devel/gettext/gettext-0.19.7.ebuild
+++ b/sys-devel/gettext/gettext-0.19.7.ebuild
@@ -20,12 +20,15 @@ KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc 
ppc64 s390 sh sparc x86
 IUSE="acl -cvs +cxx doc emacs git java ncurses nls openmp static-libs"
 
 # only runtime goes multilib
+# Note: The version of libxml2 corresponds to the version bundled via gnulib.
+# If the build detects too old of a system version, it will end up falling back
+# to the bundled copy.  #596918
 # Note: expat lacks a subslot because it is dynamically loaded at runtime.  We
 # would depend on older subslots if they were available (based on the ABIs that
 # are explicitly handled), but expat doesn't currently use subslots.
 DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
        >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
-       dev-libs/libxml2:=
+       >=dev-libs/libxml2-2.9.3:=
        dev-libs/expat
        acl? ( virtual/acl )
        ncurses? ( sys-libs/ncurses:0= )
@@ -73,6 +76,8 @@ multilib_src_configure() {
                --with-included-libunistring
                # Never build libintl since it's in dev-libs/libintl now.
                --without-included-gettext
+               # Never build bundled copy of libxml2.
+               --without-included-libxml
 
                $(use_enable acl)
                $(use_enable cxx c++)

diff --git a/sys-devel/gettext/gettext-0.19.8.1.ebuild 
b/sys-devel/gettext/gettext-0.19.8.1.ebuild
index c64222d..0a59291 100644
--- a/sys-devel/gettext/gettext-0.19.8.1.ebuild
+++ b/sys-devel/gettext/gettext-0.19.8.1.ebuild
@@ -20,12 +20,15 @@ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips 
~ppc ~ppc64 ~s390 ~s
 IUSE="acl -cvs +cxx doc emacs git java ncurses nls openmp static-libs"
 
 # only runtime goes multilib
+# Note: The version of libxml2 corresponds to the version bundled via gnulib.
+# If the build detects too old of a system version, it will end up falling back
+# to the bundled copy.  #596918
 # Note: expat lacks a subslot because it is dynamically loaded at runtime.  We
 # would depend on older subslots if they were available (based on the ABIs that
 # are explicitly handled), but expat doesn't currently use subslots.
 DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
        >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
-       dev-libs/libxml2:=
+       >=dev-libs/libxml2-2.9.3:=
        dev-libs/expat
        acl? ( virtual/acl )
        ncurses? ( sys-libs/ncurses:0= )
@@ -73,6 +76,8 @@ multilib_src_configure() {
                --with-included-libunistring
                # Never build libintl since it's in dev-libs/libintl now.
                --without-included-gettext
+               # Never build bundled copy of libxml2.
+               --without-included-libxml
 
                $(use_enable acl)
                $(use_enable cxx c++)

Reply via email to