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}"

Reply via email to