From bf4583ba801d9964fbbbce5535c3943ddcb788c8 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Tue, 28 May 2024 15:53:32 -0400 Subject: merge_driver_ekeyword: Add tests And provide a Makefile to generate the test data from gentoo.git. Signed-off-by: Matt Turner --- .../test_merge_driver_ekeyword.py | 48 ++++++++++++++ .../merge_driver_ekeyword/tests/Makefile | 44 +++++++++++++ .../tests/conflict-near-KEYWORDS/A.ebuild | 52 +++++++++++++++ .../tests/conflict-near-KEYWORDS/B.ebuild | 57 +++++++++++++++++ .../conflict-near-KEYWORDS/common-ancestor.ebuild | 52 +++++++++++++++ .../tests/conflict-near-KEYWORDS/expected.ebuild | 57 +++++++++++++++++ .../tests/multiple-KEYWORDS-conflict/A.ebuild | 19 ++++++ .../tests/multiple-KEYWORDS-conflict/B.ebuild | 19 ++++++ .../common-ancestor.ebuild | 19 ++++++ .../multiple-KEYWORDS-conflict/expected.ebuild | 19 ++++++ .../tests/non-KEYWORDS-conflict/A.ebuild | 73 ++++++++++++++++++++++ .../tests/non-KEYWORDS-conflict/B.ebuild | 73 ++++++++++++++++++++++ .../non-KEYWORDS-conflict/common-ancestor.ebuild | 73 ++++++++++++++++++++++ .../tests/single-KEYWORDS-conflict/A.ebuild | 19 ++++++ .../tests/single-KEYWORDS-conflict/B.ebuild | 19 ++++++ .../common-ancestor.ebuild | 19 ++++++ .../tests/single-KEYWORDS-conflict/expected.ebuild | 19 ++++++ 17 files changed, 681 insertions(+) create mode 100755 pym/gentoolkit/merge_driver_ekeyword/test_merge_driver_ekeyword.py create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/Makefile create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/A.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/B.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/common-ancestor.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/expected.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/A.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/B.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/common-ancestor.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/expected.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/A.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/B.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/common-ancestor.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/A.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/B.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/common-ancestor.ebuild create mode 100644 pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/expected.ebuild diff --git a/pym/gentoolkit/merge_driver_ekeyword/test_merge_driver_ekeyword.py b/pym/gentoolkit/merge_driver_ekeyword/test_merge_driver_ekeyword.py new file mode 100755 index 0000000..b820030 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/test_merge_driver_ekeyword.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +"""Unittests for merge_driver_ekeyword""" + +import itertools +import os +import pathlib +import pytest +import shutil +import tempfile + +from gentoolkit.merge_driver_ekeyword import merge_driver_ekeyword + + +TESTDIR = pathlib.Path(__file__).parent / "tests" +TESTDIRS = [os.path.dirname(x) for x in TESTDIR.rglob("common-ancestor.ebuild")] +TESTDATA = itertools.product(TESTDIRS, (False, True)) + + +def file_contents(filename): + with open(filename) as file: + return file.readlines() + + +@pytest.mark.parametrize("testdir,reverse", TESTDATA) +def test_merge(testdir, reverse): + with tempfile.TemporaryDirectory() as tmpdir: + shutil.copytree(testdir, tmpdir, dirs_exist_ok=True) + + O = os.path.join(tmpdir, "common-ancestor.ebuild") + if reverse: + A = os.path.join(tmpdir, "B.ebuild") + B = os.path.join(tmpdir, "A.ebuild") + else: + A = os.path.join(tmpdir, "A.ebuild") + B = os.path.join(tmpdir, "B.ebuild") + P = "expected.ebuild" + expected = os.path.join(tmpdir, P) + + # A.ebuild and B.ebuild can be merged iff expected.ebuild exists. + if os.path.exists(expected): + assert 0 == merge_driver_ekeyword.main([O, A, B, P]) + assert file_contents(expected) == file_contents(A) + else: + assert -1 == merge_driver_ekeyword.merge_keywords(O, A, B, P) + assert -1 == merge_driver_ekeyword.merge_keywords(O, B, A, P) diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/Makefile b/pym/gentoolkit/merge_driver_ekeyword/tests/Makefile new file mode 100644 index 0000000..7c54308 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/Makefile @@ -0,0 +1,44 @@ +TESTS = \ + single-KEYWORDS-conflict \ + multiple-KEYWORDS-conflict \ + conflict-near-KEYWORDS \ + non-KEYWORDS-conflict \ + $(NULL) + +.PHONY: $(TESTS) + +all: $(TESTS) + +GENTOO-is-set: + @if [ -z "$(GENTOO)" ]; then \ + echo GENTOO must be set to the path to gentoo.git; \ + exit 1; \ + fi + +single-KEYWORDS-conflict: GENTOO-is-set + mkdir -p $@ + git -C "$(GENTOO)" show 27aaf96d86ce53c80c967130a31cf0bec5a07c27:x11-apps/xconsole/xconsole-1.1.0.ebuild > $@/common-ancestor.ebuild + sed -e 's/~arm ~arm64/arm ~arm64/' $@/common-ancestor.ebuild > $@/A.ebuild + sed -e 's/~arm ~arm64/~arm arm64/' $@/common-ancestor.ebuild > $@/B.ebuild + sed -e 's/~arm ~arm64/arm arm64/' $@/common-ancestor.ebuild > $@/expected.ebuild + +multiple-KEYWORDS-conflict: GENTOO-is-set + mkdir -p $@ + git -C "$(GENTOO)" show 27aaf96d86ce53c80c967130a31cf0bec5a07c27:x11-apps/xconsole/xconsole-1.1.0.ebuild > $@/common-ancestor.ebuild + sed -e 's/~arm64/arm64/' -e 's/~ppc64/ppc64/' $@/common-ancestor.ebuild > $@/A.ebuild + sed -e 's/~amd64/amd64/' -e 's/~sparc/sparc/' $@/common-ancestor.ebuild > $@/B.ebuild + sed -e 's/~arm64/arm64/' -e 's/~ppc64/ppc64/' -e 's/~amd64/amd64/' -e 's/~sparc/sparc/' $@/common-ancestor.ebuild > $@/expected.ebuild + +conflict-near-KEYWORDS: GENTOO-is-set + mkdir -p $@ + git -C "$(GENTOO)" show 128496a4717fb4085ea09066b92f53ae47e0341a:sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild > $@/common-ancestor.ebuild + git -C "$(GENTOO)" show 2c5cd6c4e004dc5037761c4a7a64fe956cac4bc4:sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild > $@/A.ebuild + git -C "$(GENTOO)" show 84e655a1f462a58154b701b9b8077ebf3071e82f:sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild > $@/B.ebuild + git -C "$(GENTOO)" show 7579afbd4aa1f2356b8de3c2870df2c49ab68d5f:sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild > $@/expected.ebuild + +non-KEYWORDS-conflict: GENTOO-is-set + mkdir -p $@ + git -C "$(GENTOO)" show f1689f39c7bc6245f7f4fc8083d41bc82f4621d9:media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild > $@/common-ancestor.ebuild + sed -e 's/{9..11}/{9..12}/' $@/common-ancestor.ebuild > $@/A.ebuild + sed -e 's/{9..11}/{10..11}/' $@/common-ancestor.ebuild > $@/B.ebuild + # No expected.ebuild diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/A.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/A.ebuild new file mode 100644 index 0000000..c143cfb --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/A.ebuild @@ -0,0 +1,52 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A new set of tools for working with SquashFS images" +HOMEPAGE="https://github.com/AgentD/squashfs-tools-ng" +if [[ ${PV} = 9999* ]]; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/AgentD/${PN}.git" +else + KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz" +fi + +LICENSE="LGPL-3+ BSD-2 MIT tools? ( GPL-3+ )" +SLOT="0" +IUSE="lz4 +lzma lzo selinux +tools zstd" + +DEPEND=" + app-arch/bzip2:= + sys-libs/zlib:= + lz4? ( app-arch/lz4:= ) + lzma? ( app-arch/xz-utils ) + lzo? ( dev-libs/lzo:2 ) + selinux? ( sys-libs/libselinux:= ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + default + [[ ${PV} == "9999" ]] && eautoreconf +} + +src_configure() { + local myconf=( + --disable-static + $(use_with lz4) + $(use_with lzo) + $(use_with selinux) + $(use_with tools) + $(use_with lzma xz) + $(use_with zstd) + ) + econf "${myconf[@]}" +} + +src_install() { + default + find "${D}" -name "*.la" -delete || die +} diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/B.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/B.ebuild new file mode 100644 index 0000000..f936c78 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/B.ebuild @@ -0,0 +1,57 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A new set of tools for working with SquashFS images" +HOMEPAGE="https://github.com/AgentD/squashfs-tools-ng" +if [[ ${PV} = 9999* ]]; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/AgentD/${PN}.git" +else + inherit libtool + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz" +fi + +LICENSE="LGPL-3+ BSD-2 MIT tools? ( GPL-3+ )" +SLOT="0" +IUSE="lz4 +lzma lzo selinux +tools zstd" + +DEPEND=" + app-arch/bzip2:= + sys-libs/zlib:= + lz4? ( app-arch/lz4:= ) + lzma? ( app-arch/xz-utils ) + lzo? ( dev-libs/lzo:2 ) + selinux? ( sys-libs/libselinux:= ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + default + if [[ ${PV} = "9999" ]]; then + eautoreconf + else + elibtoolize + fi +} + +src_configure() { + local myconf=( + --disable-static + $(use_with lz4) + $(use_with lzo) + $(use_with selinux) + $(use_with tools) + $(use_with lzma xz) + $(use_with zstd) + ) + econf "${myconf[@]}" +} + +src_install() { + default + find "${D}" -name "*.la" -delete || die +} diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/common-ancestor.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/common-ancestor.ebuild new file mode 100644 index 0000000..161eca8 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/common-ancestor.ebuild @@ -0,0 +1,52 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A new set of tools for working with SquashFS images" +HOMEPAGE="https://github.com/AgentD/squashfs-tools-ng" +if [[ ${PV} = 9999* ]]; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/AgentD/${PN}.git" +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz" +fi + +LICENSE="LGPL-3+ BSD-2 MIT tools? ( GPL-3+ )" +SLOT="0" +IUSE="lz4 +lzma lzo selinux +tools zstd" + +DEPEND=" + app-arch/bzip2:= + sys-libs/zlib:= + lz4? ( app-arch/lz4:= ) + lzma? ( app-arch/xz-utils ) + lzo? ( dev-libs/lzo:2 ) + selinux? ( sys-libs/libselinux:= ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + default + [[ ${PV} == "9999" ]] && eautoreconf +} + +src_configure() { + local myconf=( + --disable-static + $(use_with lz4) + $(use_with lzo) + $(use_with selinux) + $(use_with tools) + $(use_with lzma xz) + $(use_with zstd) + ) + econf "${myconf[@]}" +} + +src_install() { + default + find "${D}" -name "*.la" -delete || die +} diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/expected.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/expected.ebuild new file mode 100644 index 0000000..a4168be --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/conflict-near-KEYWORDS/expected.ebuild @@ -0,0 +1,57 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A new set of tools for working with SquashFS images" +HOMEPAGE="https://github.com/AgentD/squashfs-tools-ng" +if [[ ${PV} = 9999* ]]; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/AgentD/${PN}.git" +else + inherit libtool + KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz" +fi + +LICENSE="LGPL-3+ BSD-2 MIT tools? ( GPL-3+ )" +SLOT="0" +IUSE="lz4 +lzma lzo selinux +tools zstd" + +DEPEND=" + app-arch/bzip2:= + sys-libs/zlib:= + lz4? ( app-arch/lz4:= ) + lzma? ( app-arch/xz-utils ) + lzo? ( dev-libs/lzo:2 ) + selinux? ( sys-libs/libselinux:= ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + default + if [[ ${PV} = "9999" ]]; then + eautoreconf + else + elibtoolize + fi +} + +src_configure() { + local myconf=( + --disable-static + $(use_with lz4) + $(use_with lzo) + $(use_with selinux) + $(use_with tools) + $(use_with lzma xz) + $(use_with zstd) + ) + econf "${myconf[@]}" +} + +src_install() { + default + find "${D}" -name "*.la" -delete || die +} diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/A.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/A.ebuild new file mode 100644 index 0000000..f0b7896 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/A.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +XORG_TARBALL_SUFFIX="xz" +inherit xorg-3 + +DESCRIPTION="monitor system console messages with X" + +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + x11-base/xorg-proto" diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/B.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/B.ebuild new file mode 100644 index 0000000..bb84b24 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/B.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +XORG_TARBALL_SUFFIX="xz" +inherit xorg-3 + +DESCRIPTION="monitor system console messages with X" + +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86" + +RDEPEND=" + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + x11-base/xorg-proto" diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/common-ancestor.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/common-ancestor.ebuild new file mode 100644 index 0000000..6f25981 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/common-ancestor.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +XORG_TARBALL_SUFFIX="xz" +inherit xorg-3 + +DESCRIPTION="monitor system console messages with X" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + x11-base/xorg-proto" diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/expected.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/expected.ebuild new file mode 100644 index 0000000..0200a4b --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/multiple-KEYWORDS-conflict/expected.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +XORG_TARBALL_SUFFIX="xz" +inherit xorg-3 + +DESCRIPTION="monitor system console messages with X" + +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86" + +RDEPEND=" + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + x11-base/xorg-proto" diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/A.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/A.ebuild new file mode 100644 index 0000000..1cb02a7 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/A.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{9..12} ) + +inherit gnome.org meson python-single-r1 + +DESCRIPTION="Eye of GNOME plugins" +HOMEPAGE="https://wiki.gnome.org/Apps/EyeOfGnome/Plugins https://gitlab.gnome.org/GNOME/eog-plugins" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +IUSE="+exif map +python test" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + map? ( exif ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + >=dev-libs/glib-2.53.4:2 + >=dev-libs/libpeas-1.14.1:0 + >=media-gfx/eog-41.0:1 + exif? ( >=media-libs/libexif-0.6.16 ) + map? ( + media-libs/libchamplain:0.12[gtk] + >=media-libs/clutter-1.9.4:1.0 + >=media-libs/clutter-gtk-1.1.2:1.0 + ) + python? ( + ${PYTHON_DEPS} + dev-libs/glib[dbus] + dev-libs/libpeas:0[gtk,python,${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + gnome-base/gsettings-desktop-schemas + media-gfx/eog[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] + ) +" +DEPEND="${RDEPEND} + test? ( dev-libs/appstream-glib )" +BDEPEND=" + >=sys-devel/gettext-0.19.7 + virtual/pkgconfig +" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local emesonargs=( + $(meson_use exif plugin_exif-display) + $(meson_use python plugin_export-to-folder) + -Dplugin_fit-to-width=true + $(meson_use python plugin_fullscreenbg) + -Dplugin_light-theme=true + $(meson_use map plugin_map) + $(meson_use python plugin_maximize-windows) + -Dplugin_postasa=false + -Dplugin_postr=false + $(meson_use python plugin_pythonconsole) + -Dplugin_send-by-mail=true + $(meson_use python plugin_slideshowshuffle) + ) + meson_src_configure +} diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/B.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/B.ebuild new file mode 100644 index 0000000..5141b5c --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/B.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..11} ) + +inherit gnome.org meson python-single-r1 + +DESCRIPTION="Eye of GNOME plugins" +HOMEPAGE="https://wiki.gnome.org/Apps/EyeOfGnome/Plugins https://gitlab.gnome.org/GNOME/eog-plugins" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +IUSE="+exif map +python test" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + map? ( exif ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + >=dev-libs/glib-2.53.4:2 + >=dev-libs/libpeas-1.14.1:0 + >=media-gfx/eog-41.0:1 + exif? ( >=media-libs/libexif-0.6.16 ) + map? ( + media-libs/libchamplain:0.12[gtk] + >=media-libs/clutter-1.9.4:1.0 + >=media-libs/clutter-gtk-1.1.2:1.0 + ) + python? ( + ${PYTHON_DEPS} + dev-libs/glib[dbus] + dev-libs/libpeas:0[gtk,python,${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + gnome-base/gsettings-desktop-schemas + media-gfx/eog[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] + ) +" +DEPEND="${RDEPEND} + test? ( dev-libs/appstream-glib )" +BDEPEND=" + >=sys-devel/gettext-0.19.7 + virtual/pkgconfig +" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local emesonargs=( + $(meson_use exif plugin_exif-display) + $(meson_use python plugin_export-to-folder) + -Dplugin_fit-to-width=true + $(meson_use python plugin_fullscreenbg) + -Dplugin_light-theme=true + $(meson_use map plugin_map) + $(meson_use python plugin_maximize-windows) + -Dplugin_postasa=false + -Dplugin_postr=false + $(meson_use python plugin_pythonconsole) + -Dplugin_send-by-mail=true + $(meson_use python plugin_slideshowshuffle) + ) + meson_src_configure +} diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/common-ancestor.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/common-ancestor.ebuild new file mode 100644 index 0000000..a328d90 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/non-KEYWORDS-conflict/common-ancestor.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{9..11} ) + +inherit gnome.org meson python-single-r1 + +DESCRIPTION="Eye of GNOME plugins" +HOMEPAGE="https://wiki.gnome.org/Apps/EyeOfGnome/Plugins https://gitlab.gnome.org/GNOME/eog-plugins" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +IUSE="+exif map +python test" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + map? ( exif ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + >=dev-libs/glib-2.53.4:2 + >=dev-libs/libpeas-1.14.1:0 + >=media-gfx/eog-41.0:1 + exif? ( >=media-libs/libexif-0.6.16 ) + map? ( + media-libs/libchamplain:0.12[gtk] + >=media-libs/clutter-1.9.4:1.0 + >=media-libs/clutter-gtk-1.1.2:1.0 + ) + python? ( + ${PYTHON_DEPS} + dev-libs/glib[dbus] + dev-libs/libpeas:0[gtk,python,${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + gnome-base/gsettings-desktop-schemas + media-gfx/eog[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection] + ) +" +DEPEND="${RDEPEND} + test? ( dev-libs/appstream-glib )" +BDEPEND=" + >=sys-devel/gettext-0.19.7 + virtual/pkgconfig +" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_configure() { + local emesonargs=( + $(meson_use exif plugin_exif-display) + $(meson_use python plugin_export-to-folder) + -Dplugin_fit-to-width=true + $(meson_use python plugin_fullscreenbg) + -Dplugin_light-theme=true + $(meson_use map plugin_map) + $(meson_use python plugin_maximize-windows) + -Dplugin_postasa=false + -Dplugin_postr=false + $(meson_use python plugin_pythonconsole) + -Dplugin_send-by-mail=true + $(meson_use python plugin_slideshowshuffle) + ) + meson_src_configure +} diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/A.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/A.ebuild new file mode 100644 index 0000000..a4530dc --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/A.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +XORG_TARBALL_SUFFIX="xz" +inherit xorg-3 + +DESCRIPTION="monitor system console messages with X" + +KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + x11-base/xorg-proto" diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/B.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/B.ebuild new file mode 100644 index 0000000..1b5d4c4 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/B.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +XORG_TARBALL_SUFFIX="xz" +inherit xorg-3 + +DESCRIPTION="monitor system console messages with X" + +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + x11-base/xorg-proto" diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/common-ancestor.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/common-ancestor.ebuild new file mode 100644 index 0000000..6f25981 --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/common-ancestor.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +XORG_TARBALL_SUFFIX="xz" +inherit xorg-3 + +DESCRIPTION="monitor system console messages with X" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + x11-base/xorg-proto" diff --git a/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/expected.ebuild b/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/expected.ebuild new file mode 100644 index 0000000..2f292bd --- /dev/null +++ b/pym/gentoolkit/merge_driver_ekeyword/tests/single-KEYWORDS-conflict/expected.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +XORG_TARBALL_SUFFIX="xz" +inherit xorg-3 + +DESCRIPTION="monitor system console messages with X" + +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + x11-libs/libX11" +DEPEND="${RDEPEND} + x11-base/xorg-proto" -- cgit v1.2.3-65-gdbad