sys-devel/gettext: force a recent version of libxml2 #596918
authorMike Frysinger <vapier@gentoo.org>
Thu, 8 Dec 2016 19:51:40 +0000 (14:51 -0500)
committerMike Frysinger <vapier@gentoo.org>
Thu, 8 Dec 2016 19:51:40 +0000 (14:51 -0500)
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
sys-devel/gettext/gettext-0.19.8.1.ebuild

index 7922b1dcdb723ff09cd42c07aa450ff9252ac7dd..2158b6f0297382f46b95eb1246a0d60916bfc33b 100644 (file)
@@ -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++)
index c64222d375b8363c9dbc2e6fc8929e154f3d3187..0a592913275b418ba786ccb3247ceb3274a74bb9 100644 (file)
@@ -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++)