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
OpenPGP_signature.asc
Description: OpenPGP digital signature