]> git.scottworley.com Git - pinch/blobdiff - pinch.py
Use new 'nix hash convert' to quiet new nix's depreciation warnings
[pinch] / pinch.py
index bdd7a6ebbf39e8af5581980c161c3bf73a0d2d83..989e08fd4f6769078290f749650fb7a6811ad397 100644 (file)
--- a/pinch.py
+++ b/pinch.py
@@ -320,43 +320,24 @@ def digest_file(filename: str) -> Digest16:
     return Digest16(hasher.hexdigest())
 
 
-@functools.lru_cache
-def _experimental_flag_needed(v: Verification) -> bool:
-    v.status('Checking Nix version')
-    process = subprocess.run(['nix', '--help'], stdout=subprocess.PIPE)
-    v.result(process.returncode == 0)
-    return b'--experimental-features' in process.stdout
-
-
-def _nix_command(v: Verification) -> List[str]:
-    return ['nix', '--experimental-features',
-            'nix-command'] if _experimental_flag_needed(v) else ['nix']
+_NIX_COMMAND = ['nix', '--experimental-features', 'nix-command']
 
 
 def to_Digest16(v: Verification, digest32: Digest32) -> Digest16:
     v.status('Converting digest to base16')
-    process = subprocess.run(_nix_command(v) + [
-        'to-base16',
-        '--type',
+    process = subprocess.run(_NIX_COMMAND + [
+        'hash',
+        'convert',
+        '--hash-algo',
         'sha256',
+        '--to',
+        'base16',
         digest32],
         stdout=subprocess.PIPE)
     v.result(process.returncode == 0)
     return Digest16(process.stdout.decode().strip())
 
 
-def to_Digest32(v: Verification, digest16: Digest16) -> Digest32:
-    v.status('Converting digest to base32')
-    process = subprocess.run(_nix_command(v) + [
-        'to-base32',
-        '--type',
-        'sha256',
-        digest16],
-        stdout=subprocess.PIPE)
-    v.result(process.returncode == 0)
-    return Digest32(process.stdout.decode().strip())
-
-
 def fetch_with_nix_prefetch_url(
         v: Verification,
         url: str,