On 6.4.2024 14.57, Eddie Chapman wrote: > > --- /usr/portage/net-mail/dovecot/dovecot-2.3.21-r1.ebuild > +++ /usr/local/portage/net-mail/dovecot/dovecot-2.3.21-r1.ebuild > @@ -43,7 +43,6 @@ > >  DEPEND=" >         app-arch/bzip2 > -       app-arch/xz-utils >         dev-libs/icu:= >         dev-libs/openssl:0= >         sys-libs/zlib:= > @@ -126,7 +125,7 @@ >                 --disable-rpath \ >                 --with-bzlib \ >                 --without-libbsd \ > -               --with-lzma \ > +               --without-lzma \ >                 --with-icu \ >                 --with-ssl \ >                 --with-zlib \ > > --- /usr/portage/dev-lang/python/python-3.11.8_p1.ebuild > +++ /usr/local/portage/dev-lang/python/python-3.11.8_p1.ebuild > @@ -179,6 +179,7 @@ >         # Avoid as many dependencies as possible for the cross build. >         cat >> Makefile <<-EOF || die >                 MODULE_NIS_STATE=disabled > +               MODULE__LZMA_STATE=disabled >                 MODULE__DBM_STATE=disabled >                 MODULE__GDBM_STATE=disabled >                 MODULE__DBM_STATE=disabled > @@ -328,7 +329,7 @@ >         fi > >         # force-disable modules we don't want built > -       local disable_modules=( NIS ) > +       local disable_modules=( NIS _LZMA ) >         use gdbm || disable_modules+=( _GDBM _DBM ) >         use sqlite || disable_modules+=( _SQLITE3 ) >         use ssl || disable_modules+=( _HASHLIB _SSL ) > > > --- /usr/portage/dev-lang/python/python-3.12.2_p1.ebuild > +++ /usr/local/portage/dev-lang/python/python-3.12.2_p1.ebuild > @@ -177,6 +177,7 @@ >         cat > Modules/Setup.local <<-EOF || die >                 *disabled* >                 nis > +               _lzma >                 _dbm _gdbm >                 _sqlite3 >                 _hashlib _ssl > @@ -299,6 +300,7 @@ >         cat > Modules/Setup.local <<-EOF || die >                 *disabled* >                 nis > +               _lzma >                 $(usev !gdbm '_gdbm _dbm') >                 $(usev !sqlite '_sqlite3') >                 $(usev !ssl '_hashlib _ssl') > > > Lastly, I needed to create a custom dev-libs/libxmlb ebuild in order to > upgrade it from 0.3.14 (latest in Gentoo at time of writing) to 0.3.15. > > I also needed to apply a very recent patch from upstream, from this > commit, which makes LZMA support optional: > https://github.com/hughsie/libxmlb/commit/bdf845510fbed40b88465b2272ccad9e93656639 > > and I needed to make some small changes to the ebuild. > > So this is what you need to do at the time of writing (6th April 2024): > > 1. Copy the in-tree /usr/portage/dev-libs/libxmlb ebuild directory into > your local ebuilds directory. > > 2. Rename the ebuild file from libxmlb-0.3.14.ebuild to > libxmlb-0.3.15.ebuild > > 3. Download the raw patch, you can use this link: > > https://github.com/hughsie/libxmlb/commit/bdf845510fbed40b88465b2272ccad9e93656639.patch >    rename it to: >    libxmlb-0.3.15-make_lzma_optional.patch >    and place it in the local "files" directory. > > 4. Modify the new ebuild according to the diff below. Then just rebuild it. > > --- /usr/portage/dev-libs/libxmlb/libxmlb-0.3.14.ebuild > +++ /usr/local/portage/dev-libs/libxmlb/libxmlb-0.3.15.ebuild > @@ -14,15 +14,15 @@ >  SLOT="0/2" # libxmlb.so version > >  KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86" > -IUSE="doc introspection stemmer test +zstd" > +IUSE="doc introspection -lzma stemmer test +zstd" > >  RESTRICT="!test? ( test )" > >  RDEPEND=" > -       app-arch/xz-utils >         dev-libs/glib:2 >         sys-apps/util-linux >         stemmer? ( dev-libs/snowball-stemmer:= ) > +       lzma? ( app-arch/xz-utils:= ) >         zstd? ( app-arch/zstd:= ) >  " > > @@ -43,6 +43,7 @@ > >  PATCHES=( >         "${FILESDIR}"/${PN}-0.3.12-no_installed_tests.patch > +       "${FILESDIR}"/${PN}-0.3.15-make_lzma_optional.patch >  ) > >  python_check_deps() { > @@ -60,6 +61,7 @@ >                 $(meson_use stemmer) >                 $(meson_use test tests) >                 $(meson_use zstd) > +               $(meson_feature lzma) >         ) >         meson_src_configure >  } Hey, I'll admit I didn't read everything, but I just want to point out you may not have to edit ebuilds at all. If xz-utils is package.provided portage should ignore the dependency without you removing the dep from an ebuild. Then you can utilize /etc/portage/patches to apply any patches and finally try using EXTRA_ECONF and MYMESONARGS to override configure options via package.env. -- juippis