commit:     bf4583ba801d9964fbbbce5535c3943ddcb788c8
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue May 28 19:53:32 2024 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu Jun 20 20:36:03 2024 +0000
URL:        https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=bf4583ba

merge_driver_ekeyword: Add tests

And provide a Makefile to generate the test data from gentoo.git.

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 .../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(+)

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()
+
+
[email protected]("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"

Reply via email to