commit: b74cb79f0f46e6c7322a7098bbf5741c25889d68
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 18 20:54:10 2025 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 18 20:54:10 2025 +0000
URL:
https://gitweb.gentoo.org/proj/pkgcore/pkgcore.git/commit/?id=b74cb79f
rename snakeoil.sequences.{stable_unique -> unique_stable}
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
src/pkgcore/ebuild/domain.py | 12 ++++++------
src/pkgcore/ebuild/eapi.py | 4 ++--
src/pkgcore/ebuild/profiles.py | 4 ++--
src/pkgcore/ebuild/repository.py | 4 ++--
src/pkgcore/ebuild/triggers.py | 10 +++++-----
src/pkgcore/repository/virtual.py | 1 -
src/pkgcore/scripts/pinspect.py | 4 ++--
src/pkgcore/scripts/pmerge.py | 4 ++--
src/pkgcore/system/libtool.py | 8 ++++----
src/pkgcore/util/commandline.py | 4 ++--
10 files changed, 27 insertions(+), 28 deletions(-)
diff --git a/src/pkgcore/ebuild/domain.py b/src/pkgcore/ebuild/domain.py
index b45b3044..4e7a2fe8 100644
--- a/src/pkgcore/ebuild/domain.py
+++ b/src/pkgcore/ebuild/domain.py
@@ -24,7 +24,7 @@ from snakeoil.data_source import local_source
from snakeoil.log import suppress_logging
from snakeoil.mappings import ImmutableDict, ProtectedDict
from snakeoil.process.spawn import spawn_get_output
-from snakeoil.sequences import predicate_split, split_negations, stable_unique
+from snakeoil.sequences import predicate_split, split_negations, unique_stable
from ..binpkg import repository as binary_repo
from ..cache.flat_hash import md5_cache
@@ -302,7 +302,7 @@ class domain(config_domain):
def system_shell_profile(self, data):
# prepend system profile $PATH if it exists
if "PATH" in data:
- path = stable_unique(
+ path = unique_stable(
data["PATH"].split(os.pathsep) +
os.environ["PATH"].split(os.pathsep)
)
os.environ["PATH"] = os.pathsep.join(path)
@@ -458,25 +458,25 @@ class domain(config_domain):
def pkg_keywords(self, data, debug=False):
if debug:
return tuple(data)
- return tuple((x[0], stable_unique(x[1])) for x in data)
+ return tuple((x[0], unique_stable(x[1])) for x in data)
@load_property("package.accept_keywords",
parse_func=restriction_payload_splitter)
def pkg_accept_keywords(self, data, debug=False):
if debug:
return tuple(data)
- return tuple((x[0], stable_unique(x[1])) for x in data)
+ return tuple((x[0], unique_stable(x[1])) for x in data)
@load_property("package.license", parse_func=restriction_payload_splitter)
def pkg_licenses(self, data, debug=False):
if debug:
return tuple(data)
- return tuple((x[0], stable_unique(x[1])) for x in data)
+ return tuple((x[0], unique_stable(x[1])) for x in data)
@load_property("package.use", parse_func=package_use_splitter)
def pkg_use(self, data, debug=False):
if debug:
return tuple(data)
- return tuple((x[0], split_negations(stable_unique(x[1]))) for x in
data)
+ return tuple((x[0], split_negations(unique_stable(x[1]))) for x in
data)
@load_property("package.env")
def pkg_env(self, data, debug=False):
diff --git a/src/pkgcore/ebuild/eapi.py b/src/pkgcore/ebuild/eapi.py
index 0b2cca66..f530d29a 100644
--- a/src/pkgcore/ebuild/eapi.py
+++ b/src/pkgcore/ebuild/eapi.py
@@ -12,7 +12,7 @@ from snakeoil import klass
from snakeoil.demandload import demand_compile_regexp
from snakeoil.mappings import ImmutableDict, OrderedFrozenSet,
inject_getitem_as_getattr
from snakeoil.process.spawn import bash_version
-from snakeoil.sequences import stable_unique
+from snakeoil.sequences import unique_stable
LATEST_PMS_EAPI_VER = "9"
@@ -466,7 +466,7 @@ class EAPI(metaclass=klass.immutable_instance):
paths[phase].append(dirpath)
else:
raise ValueError(f"unknown phase: {phase!r}")
- return ImmutableDict((k, tuple(stable_unique(v))) for k, v in
paths.items())
+ return ImmutableDict((k, tuple(unique_stable(v))) for k, v in
paths.items())
@klass.jit_attr
def ebd_env(self):
diff --git a/src/pkgcore/ebuild/profiles.py b/src/pkgcore/ebuild/profiles.py
index 757a2eae..f7ce6f10 100644
--- a/src/pkgcore/ebuild/profiles.py
+++ b/src/pkgcore/ebuild/profiles.py
@@ -17,7 +17,7 @@ from snakeoil.bash import read_bash, read_bash_dict
from snakeoil.data_source import local_source
from snakeoil.fileutils import readlines_utf8
from snakeoil.mappings import ImmutableDict
-from snakeoil.sequences import split_negations, stable_unique
+from snakeoil.sequences import split_negations, unique_stable
from ..config import errors
from ..config.hint import ConfigHint
@@ -341,7 +341,7 @@ class ProfileNode(metaclass=caching.WeakInstMeta):
for line, lineno, relpath in iterable:
v = line.split()
try:
- yield (atom(v[0]), tuple(stable_unique(v[1:])))
+ yield (atom(v[0]), tuple(unique_stable(v[1:])))
except ebuild_errors.MalformedAtom as e:
logger.error(f"{relpath!r}, line {lineno}: parsing error: {e}")
diff --git a/src/pkgcore/ebuild/repository.py b/src/pkgcore/ebuild/repository.py
index c338bfbb..3290caf5 100644
--- a/src/pkgcore/ebuild/repository.py
+++ b/src/pkgcore/ebuild/repository.py
@@ -21,7 +21,7 @@ from snakeoil.fileutils import readlines_utf8
from snakeoil.mappings import ImmutableDict
from snakeoil.obj import make_kls
from snakeoil.osutils import listdir_dirs, listdir_files
-from snakeoil.sequences import iflatten_instance, stable_unique
+from snakeoil.sequences import iflatten_instance, unique_stable
from snakeoil.strings import pluralism
from .. import fetch
@@ -892,7 +892,7 @@ class ConfiguredTree(configured.tree):
@_wrap_attr(config_wrappables)
def _distfiles(self, raw_pkg_distfiles, enabled_use, pkg):
"""Distfiles used by a package."""
- return
tuple(stable_unique(raw_pkg_distfiles.evaluate_depset(enabled_use)))
+ return
tuple(unique_stable(raw_pkg_distfiles.evaluate_depset(enabled_use)))
@_wrap_attr(config_wrappables)
def _user_patches(self, _raw_pkg_patches, _enabled_use, pkg):
diff --git a/src/pkgcore/ebuild/triggers.py b/src/pkgcore/ebuild/triggers.py
index a938878f..0e9c10f9 100644
--- a/src/pkgcore/ebuild/triggers.py
+++ b/src/pkgcore/ebuild/triggers.py
@@ -23,7 +23,7 @@ from os.path import join as pjoin, normpath
from snakeoil.bash import read_bash_dict
from snakeoil.fileutils import AtomicWriteFile
from snakeoil.osutils import listdir_files
-from snakeoil.sequences import iflatten_instance, stable_unique
+from snakeoil.sequences import iflatten_instance, unique_stable
from .. import os_data
from ..fs import livefs
@@ -206,13 +206,13 @@ def gen_config_protect_filter(offset, extra_protects=(),
extra_disables=()):
r = [
values.StrGlobMatch(normpath(x).rstrip("/") + "/")
- for x in set(stable_unique(collapsed_d["CONFIG_PROTECT"] + ["/etc"]))
+ for x in set(unique_stable(collapsed_d["CONFIG_PROTECT"] + ["/etc"]))
]
if len(r) > 1:
r = values.OrRestriction(*r)
else:
r = r[0]
- neg = stable_unique(collapsed_d["CONFIG_PROTECT_MASK"])
+ neg = unique_stable(collapsed_d["CONFIG_PROTECT_MASK"])
if neg:
if len(neg) == 1:
r2 = values.StrGlobMatch(normpath(neg[0]).rstrip("/") + "/",
negate=True)
@@ -231,11 +231,11 @@ def gen_collision_ignore_filter(offset, extra_ignores=()):
ignored.extend(extra_ignores)
ignored.extend(["*/.keep", "*/.keep_*"])
- ignored = stable_unique(ignored)
+ ignored = unique_stable(ignored)
for i, x in enumerate(ignored):
if not x.endswith("/*") and os.path.isdir(x):
ignored[i] = ignored.rstrip("/") + "/*"
- ignored = [values.StrRegex(fnmatch.translate(x)) for x in
stable_unique(ignored)]
+ ignored = [values.StrRegex(fnmatch.translate(x)) for x in
unique_stable(ignored)]
if len(ignored) == 1:
return ignored[0]
return values.OrRestriction(*ignored)
diff --git a/src/pkgcore/repository/virtual.py
b/src/pkgcore/repository/virtual.py
index 8f2cabb9..a77ef4a7 100644
--- a/src/pkgcore/repository/virtual.py
+++ b/src/pkgcore/repository/virtual.py
@@ -5,7 +5,6 @@ virtual repository, pkgs generated via callable
__all__ = ("tree", "RestrictionRepo")
from snakeoil.compatibility import cmp
-from snakeoil.sequences import stable_unique
from ..ebuild import atom
from ..ebuild.conditionals import DepSet
diff --git a/src/pkgcore/scripts/pinspect.py b/src/pkgcore/scripts/pinspect.py
index 9a950756..317362fc 100644
--- a/src/pkgcore/scripts/pinspect.py
+++ b/src/pkgcore/scripts/pinspect.py
@@ -21,7 +21,7 @@ from operator import attrgetter, itemgetter
import snakeoil.formatters
from snakeoil.cli import arghparse
-from snakeoil.sequences import iflatten_instance, unstable_unique
+from snakeoil.sequences import iflatten_instance
from .. import fetch
from ..ebuild import inspect_profile
@@ -264,7 +264,7 @@ class license_usage_kls(histo_data):
data = {}
pos = 0
for pos, pkg in enumerate(repo):
- for license in unstable_unique(iflatten_instance(pkg.license)):
+ for license in set(iflatten_instance(pkg.license)):
data.setdefault(license, 0)
data[license] += 1
return data, pos + 1
diff --git a/src/pkgcore/scripts/pmerge.py b/src/pkgcore/scripts/pmerge.py
index b67a60e0..4f3c5b4d 100644
--- a/src/pkgcore/scripts/pmerge.py
+++ b/src/pkgcore/scripts/pmerge.py
@@ -11,7 +11,7 @@ from textwrap import dedent
from time import time
from snakeoil.cli.exceptions import ExitException
-from snakeoil.sequences import iflatten_instance, stable_unique
+from snakeoil.sequences import iflatten_instance, unique_stable
from snakeoil.strings import pluralism
from ..config.basics import ConfigSectionFromStringDict
@@ -865,7 +865,7 @@ def main(options, out, err):
err.write(f"{options.prog}: no targets specified; nothing to do")
return 1
- atoms = stable_unique(atoms)
+ atoms = unique_stable(atoms)
if options.force_stable_ordering_of_targets:
atoms = sorted(atoms)
diff --git a/src/pkgcore/system/libtool.py b/src/pkgcore/system/libtool.py
index 35daf78c..08e20bde 100644
--- a/src/pkgcore/system/libtool.py
+++ b/src/pkgcore/system/libtool.py
@@ -5,7 +5,7 @@ from functools import partial
from os.path import basename, dirname
from snakeoil.currying import post_curry
-from snakeoil.sequences import stable_unique
+from snakeoil.sequences import unique_stable
from ..exceptions import PkgcoreException
from ..merge import triggers
@@ -68,7 +68,7 @@ def rewrite_lafile(handle, filename):
rpaths, libs, libladirs, inherited_flags = [], [], [], []
original_inherited_flags = data.get("inherited_linker_flags", [])
- for item in stable_unique(original_libs):
+ for item in unique_stable(original_libs):
if item.startswith("-l"):
libs.append(item)
elif item.endswith(".la"):
@@ -95,8 +95,8 @@ def rewrite_lafile(handle, filename):
libs.append(item)
else:
raise UnknownData(raw_dep_libs, item)
- libs = stable_unique(rpaths + libladirs + libs)
- inherited_flags = stable_unique(inherited_flags)
+ libs = unique_stable(rpaths + libladirs + libs)
+ inherited_flags = unique_stable(inherited_flags)
if libs == original_libs and inherited_flags == original_inherited_flags:
return False, None
diff --git a/src/pkgcore/util/commandline.py b/src/pkgcore/util/commandline.py
index 83ff3fb1..9b468486 100644
--- a/src/pkgcore/util/commandline.py
+++ b/src/pkgcore/util/commandline.py
@@ -19,7 +19,7 @@ from os.path import abspath, join as pjoin, normpath
from snakeoil import modules
from snakeoil.cli import arghparse, tool
from snakeoil.log import suppress_logging
-from snakeoil.sequences import iflatten_instance, unstable_unique
+from snakeoil.sequences import iflatten_instance
from snakeoil.strings import pluralism
from .. import const
@@ -334,7 +334,7 @@ class StoreRepoObject(StoreConfigObject):
If a repo doesn't have a proper location just the name is returned.
"""
- for repo_name, repo in sorted(unstable_unique(sections.items())):
+ for repo_name, repo in sorted(set(sections.items())):
repo_name = getattr(repo, "repo_id", repo_name)
if hasattr(repo, "location"):
yield f"{repo_name}:{repo.location}"