Loading pkgs/data/fonts/maple-font/default.nix +101 −34 Original line number Diff line number Diff line Loading @@ -6,18 +6,21 @@ }: let hashes = lib.importJSON ./hashes.json; maple-font = { pname, sha256, hash, desc, }: stdenv.mkDerivation rec { inherit pname; version = "6.4"; version = "7.0"; src = fetchurl { url = "https://github.com/subframe7536/Maple-font/releases/download/v${version}/${pname}.zip"; inherit sha256; inherit hash; }; # Work around the "unpacker appears to have produced no directories" Loading @@ -41,41 +44,105 @@ let }; }; in { Mono = maple-font { pname = "MapleMono-ttf"; sha256 = "sha256-a06JLIP5aVb9SeEz6kw+LqKy0ydCgaUlPDFWA2Y0G8Q="; typeVariants = { truetype = { suffix = "TTF"; desc = "monospace TrueType"; }; NF = maple-font { pname = "MapleMono-NF"; sha256 = "sha256-fy+hdUYZDW5nkMVirhkmys3tIkWezPDrlpNxnRMl4WU="; desc = "Nerd Font"; truetype-autohint = { suffix = "TTF-AutoHint"; desc = "monospace ttf autohint"; }; SC-NF = maple-font { pname = "MapleMono-SC-NF"; sha256 = "sha256-SbXWkrpLJUrq+Jt1h3GBP9md5TbYpPchdiR0oEDMAgY="; desc = "Nerd Font SC"; variable = { suffix = "Variable"; desc = "monospace variable"; }; opentype = maple-font { pname = "MapleMono-otf"; sha256 = "sha256-fwfFlNbaWXFCjcno7NK3dZqAzsHLh9rdGkSq26xc9qw="; woff2 = { suffix = "Woff2"; desc = "WOFF2.0"; }; opentype = { suffix = "OTF"; desc = "OpenType"; }; woff2 = maple-font { pname = "MapleMono-woff2"; sha256 = "sha256-4akpZGGth4yZjI5wjO3ZXrXcWNxb7/6YChU7T5fNVKs="; desc = "WOFF2.0"; NF = { suffix = "NF"; desc = "Nerd Font"; }; NF-unhinted = { suffix = "NF-unhinted"; desc = "Nerd Font unhinted"; }; CN = { suffix = "CN"; desc = "monospace CN"; }; CN-unhinted = { suffix = "CN-unhinted"; desc = "monospace CN unhinted"; }; NF-CN = { suffix = "NF-CN"; desc = "Nerd Font CN"; }; autohint = maple-font { pname = "MapleMono-ttf-autohint"; sha256 = "sha256-rSYIC42Bt+KFgxhwRhXS4sbh4etKYkCOo5nP2J2BHt4="; desc = "ttf autohint"; NF-CN-unhinted = { suffix = "NF-CN-unhinted"; desc = "Nerd Font CN unhinted"; }; }; ligatureVariants = { No-Ligature = { suffix = "NL"; desc = "No Ligature"; }; Normal-Ligature = { suffix = "Normal"; desc = "Normal Ligature"; }; Normal-No-Ligature = { suffix = "NormalNL"; desc = "Normal No Ligature"; }; }; combinedFonts = lib.concatMapAttrs ( ligName: ligVariant: lib.concatMapAttrs ( typeName: typeVariant: let pname = "MapleMono${ligVariant.suffix}-${typeVariant.suffix}"; in { "${ligVariant.suffix}-${typeVariant.suffix}" = maple-font { inherit pname; desc = "${ligVariant.desc} ${typeVariant.desc}"; hash = hashes.${pname}; }; } ) typeVariants ) ligatureVariants // lib.mapAttrs ( _: value: let pname = "MapleMono-${value.suffix}"; in maple-font { inherit pname; inherit (value) desc; hash = hashes.${pname}; } ) typeVariants; in combinedFonts pkgs/data/fonts/maple-font/hashes.json 0 → 100644 +46 −0 Original line number Diff line number Diff line { "MapleMono-CN-unhinted": "sha256-L2EasFES9EYmNtOs/CKwqqQNzkxAZgoBT8qN1dWipBc=", "MapleMono-CN": "sha256-vQkZD1wa/pzAZR8b9krfApGCUS+ARkZNvhqJ/ZGpnLs=", "MapleMono-NF-CN-unhinted": "sha256-x7ZnObDkGMR4nPpMbBfRfE6M4o19rZgApQeG69P6TZg=", "MapleMono-NF-CN": "sha256-IUBHSBIW//vWwlumefFW48eSULJmY9e8F9Ymhbt/KU0=", "MapleMono-NF-unhinted": "sha256-5P42BHDnIv4ZN4rDtEWFCWEc+NfPd0qHT2VOW2Jhn+Q=", "MapleMono-NF": "sha256-HgZkIrEV5zmRhBvAI4/uT+nfUhDaD0H81upTXfJNhaA=", "MapleMono-OTF": "sha256-4zPKejWZS52bhw0FLJX69kMr8kbv6P5l5cQ8orYcT5o=", "MapleMono-TTF-AutoHint": "sha256-Xa7cSDXKby0UILmxj96xbD6ZhDDwBee9lymOx7FPmoE=", "MapleMono-TTF": "sha256-FglonkbnphiwmxGj7Z0ozfHMwpJj7+96g6WMtMe3rIo=", "MapleMono-Variable": "sha256-EILfODQ8DJiyTwgmTogwcNlz+YBIdmlk/mnfFZ4Eme8=", "MapleMono-Woff2": "sha256-S7lWI+Xr7LxdFvjnngktx5uaixEVlxdLUDKMmFlARCk=", "MapleMonoNL-CN-unhinted": "sha256-0wKF/0hUj45aApnHbp0jQqPtw8YcIsvE88HFob0U8n0=", "MapleMonoNL-CN": "sha256-JUCHV2TkDTFxpZXibLq8/ENyn7KER5AqT5Yx4tK6eW8=", "MapleMonoNL-NF-CN-unhinted": "sha256-t7pOo8YsewYR31AB2J4BIZU+JW3Qp770Esbpy38Y2Ts=", "MapleMonoNL-NF-CN": "sha256-S9a8qXpebYMmJmSr+JG945GYuucQC5bbURf3h0jwH40=", "MapleMonoNL-NF-unhinted": "sha256-j2M6kLSALRzdOl8vyMsX+4wvGVcVDYvlYRLuX1XYhic=", "MapleMonoNL-NF": "sha256-k+FsBxlZheaAzJFdpdKtr4NUTnSue6GNgNa/U5B6dPI=", "MapleMonoNL-OTF": "sha256-TV+6rZ3MNabt+1n33UeElP2zcGktYIYOos3dF4XlQaM=", "MapleMonoNL-TTF-AutoHint": "sha256-VD4d0BdUzRiAUao9sGJKIeLkD3AAuhfJoIdrvdJPP0s=", "MapleMonoNL-TTF": "sha256-bbJxcIYarftrinBO9rLAqUz3jLoWzkcZ+qZCmLeko8U=", "MapleMonoNL-Variable": "sha256-+6WgaUddD2LSYsaVajpYNw+ypuQI27stjc6hPnQtHrw=", "MapleMonoNL-Woff2": "sha256-bbMqjLHRI0aMTa7pxMvRU2RsiE97e3pavkJuMfVXctA=", "MapleMonoNormal-CN-unhinted": "sha256-Ew/7KwKPWluFtYRDD/0hg26tQCVKYCIUTNqClYndVfI=", "MapleMonoNormal-CN": "sha256-ODTWB+9nTMmgEaqlv1/Fq4GABh45CLTA0HKWHM9G9Aw=", "MapleMonoNormal-NF-CN-unhinted": "sha256-vOlFwb0a97ydJPR7YeEJqnmTjK9pKE2O6szGGQJHShQ=", "MapleMonoNormal-NF-CN": "sha256-5Jk/Fqd7pMuDghhaFvIegPJqK21iMJuN/nJt9y5hebc=", "MapleMonoNormal-NF-unhinted": "sha256-9FhbDhBnGEFwX2YE2GEeyteIWA5z3b4VJwURTWsWf3k=", "MapleMonoNormal-NF": "sha256-SMntZ0XVRsdLocSd9BsN3/ORmkUi8XgTSicULqEG0po=", "MapleMonoNormal-OTF": "sha256-flHGOMuURNehlLw0JzbIPNLXNb7B7g8YXl8PoN/Wqt0=", "MapleMonoNormal-TTF-AutoHint": "sha256-/giwB5H0FQ8NTYViqz81Bed+uWuOL9ipH+CKS1p34vU=", "MapleMonoNormal-TTF": "sha256-vL6fRwEP2GSORBrOGvEgSA+fxjrZyYmpbNeuIMpVvYM=", "MapleMonoNormal-Variable": "sha256-S/76i2fj1e+KAxQlAjngGDmOMx8t6Y7Zn8487zJJJXw=", "MapleMonoNormal-Woff2": "sha256-gsyUKyibV5q0llNi0Inwqk/ZOEEF+pH1ZCf9sMadkc8=", "MapleMonoNormalNL-CN-unhinted": "sha256-ht/MwZcc2RvEzZ1mpqCMkfU6J6OD8F4V4lMlrsuo1/E=", "MapleMonoNormalNL-CN": "sha256-pGxsKUFSO5hzOPWW0rgYG8fpgunmPkswnZ8a+C5A+TM=", "MapleMonoNormalNL-NF-CN-unhinted": "sha256-N+JSUc8reu2Sile2ivHu325zzg7MFKJBzbggUg4orZA=", "MapleMonoNormalNL-NF-CN": "sha256-li/xPAHJIFtWDEK1TttQuOjZ7OJqXk+dncHFpwsh3FY=", "MapleMonoNormalNL-NF-unhinted": "sha256-xBRiZaXswGy+DcT3h2m8nCxZBjLgq/5eX6ST4496hw0=", "MapleMonoNormalNL-NF": "sha256-j8Li+I/NgdNSwTAY31YbBJFTc2IXffyqQnv/KVfBeMU=", "MapleMonoNormalNL-OTF": "sha256-+exfPalJXhHScVArcdwLVde5JhxPAyxyebQAE2yBkos=", "MapleMonoNormalNL-TTF-AutoHint": "sha256-Cdo0FhIIp7c+OIlz7D66G8xsBk0JaNq9vn6GugUJiZM=", "MapleMonoNormalNL-TTF": "sha256-xbp1ZhbYysHHOKkoUyu0Tv76/jDqCbo2U6fzHiFPt50=", "MapleMonoNormalNL-Variable": "sha256-mQdYcLT/30kJjPGm4j2pZXrJ8EuiY7M/gsQuI+i1Y3A=", "MapleMonoNormalNL-Woff2": "sha256-WQp+/sKQg/QHYeeFP5k9IPPcQJKGULlmCyrAOUOvfmk=" } pkgs/data/fonts/maple-font/update.py 0 → 100644 +60 −0 Original line number Diff line number Diff line import re import json import base64 import argparse import requests from urllib.parse import urlparse def process_github_release(url, token=None): parsed = urlparse(url) path_parts = parsed.path.strip('/').split('/') if len(path_parts) < 5 or parsed.netloc != 'github.com': raise ValueError("Invalid GitHub release URL format") owner, repo, _, _, tag = path_parts[:5] headers = {"Accept": "application/vnd.github.v3+json"} if token: headers["Authorization"] = f"Bearer {token}" response = requests.get( f"https://api.github.com/repos/{owner}/{repo}/releases/tags/{tag}", headers=headers ) if response.status_code != 200: raise RuntimeError(f"Failed to fetch release info: {response.status_code} ({response.json().get('message')})") release_data = response.json() assets = release_data.get('assets', []) result = {} sha256_pattern = re.compile(r"^[a-fA-F0-9]{64}$") for asset in assets: if not asset['name'].endswith('.sha256'): continue download_url = asset['browser_download_url'] content_response = requests.get(download_url, headers=headers) if content_response.status_code != 200: raise RuntimeError( f"Failed to download {asset['name']}: " f"{content_response.status_code} {content_response.text}" ) hex_hash = content_response.text.strip() if not sha256_pattern.match(hex_hash): raise ValueError(f"Invalid SHA256 format in {asset['name']}") try: byte_data = bytes.fromhex(hex_hash) base64_hash = base64.b64encode(byte_data).decode('utf-8') except Exception as e: raise RuntimeError(f"Error processing {asset['name']}: {str(e)}") filename = asset['name'][:-7] result[filename] = f"sha256-{base64_hash}" output_file = f"{repo}_{tag}_hashes.json" with open(output_file, 'w', encoding='utf-8') as f: json.dump(result, f, indent=2, ensure_ascii=False) print(f"Successfully generated {output_file}") if __name__ == "__main__": parser = argparse.ArgumentParser(description='Process GitHub release hashes') parser.add_argument('url', help='GitHub release URL') parser.add_argument('-t', '--token', help='GitHub API token (optional)') args = parser.parse_args() try: process_github_release(args.url, args.token) except Exception as e: print(f"Error: {str(e)}") sys.exit(1) pkgs/top-level/aliases.nix +27 −0 Original line number Diff line number Diff line Loading @@ -940,6 +940,33 @@ mapAliases { maligned = throw "maligned was deprecated upstream in favor of x/tools/go/analysis/passes/fieldalignment"; # Added 20204-08-24 manicode = throw "manicode has been renamed to codebuff"; # Added 2024-12-10 manta = throw "manta does not support python3, and development has been abandoned upstream"; # Added 2025-03-17 maple-mono-NF = throw '' maple-mono-NF had been moved to maple-mono.NF. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; maple-mono-otf = throw '' maple-mono-otf had been moved to maple-mono.opentype. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; maple-mono-woff2 = throw '' maple-mono-woff2 had been moved to maple-mono.woff2. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; maple-mono-SC-NF = throw '' mono-SC-NF had been superseded by maple-mono.NF-CN. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; maple-mono-autohint = throw '' maple-mono-autohint had been moved to maple-mono.truetype-autohint. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; marwaita-manjaro = lib.warnOnInstantiate "marwaita-manjaro has been renamed to marwaita-teal" marwaita-teal; # Added 2024-07-08 marwaita-peppermint = lib.warnOnInstantiate "marwaita-peppermint has been renamed to marwaita-red" marwaita-red; # Added 2024-07-01 marwaita-ubuntu = lib.warnOnInstantiate "marwaita-ubuntu has been renamed to marwaita-orange" marwaita-orange; # Added 2024-07-08 Loading pkgs/top-level/all-packages.nix +2 −7 Original line number Diff line number Diff line Loading @@ -2418,13 +2418,6 @@ with pkgs; maliit-keyboard = libsForQt5.callPackage ../applications/misc/maliit-keyboard { }; maple-mono = (callPackage ../data/fonts/maple-font { }).Mono; maple-mono-NF = (callPackage ../data/fonts/maple-font { }).NF; maple-mono-SC-NF = (callPackage ../data/fonts/maple-font { }).SC-NF; maple-mono-otf = (callPackage ../data/fonts/maple-font { }).opentype; maple-mono-woff2 = (callPackage ../data/fonts/maple-font { }).woff2; maple-mono-autohint = (callPackage ../data/fonts/maple-font { }).autohint; mat2 = with python3.pkgs; toPythonApplication mat2; materialx = with python3Packages; toPythonApplication materialx; Loading Loading @@ -4215,6 +4208,8 @@ with pkgs; nerd-fonts = recurseIntoAttrs (callPackage ../data/fonts/nerd-fonts { }); maple-mono = recurseIntoAttrs (callPackage ../data/fonts/maple-font { }); netcdf-mpi = netcdf.override { hdf5 = hdf5-mpi.override { usev110Api = true; }; }; Loading Loading
pkgs/data/fonts/maple-font/default.nix +101 −34 Original line number Diff line number Diff line Loading @@ -6,18 +6,21 @@ }: let hashes = lib.importJSON ./hashes.json; maple-font = { pname, sha256, hash, desc, }: stdenv.mkDerivation rec { inherit pname; version = "6.4"; version = "7.0"; src = fetchurl { url = "https://github.com/subframe7536/Maple-font/releases/download/v${version}/${pname}.zip"; inherit sha256; inherit hash; }; # Work around the "unpacker appears to have produced no directories" Loading @@ -41,41 +44,105 @@ let }; }; in { Mono = maple-font { pname = "MapleMono-ttf"; sha256 = "sha256-a06JLIP5aVb9SeEz6kw+LqKy0ydCgaUlPDFWA2Y0G8Q="; typeVariants = { truetype = { suffix = "TTF"; desc = "monospace TrueType"; }; NF = maple-font { pname = "MapleMono-NF"; sha256 = "sha256-fy+hdUYZDW5nkMVirhkmys3tIkWezPDrlpNxnRMl4WU="; desc = "Nerd Font"; truetype-autohint = { suffix = "TTF-AutoHint"; desc = "monospace ttf autohint"; }; SC-NF = maple-font { pname = "MapleMono-SC-NF"; sha256 = "sha256-SbXWkrpLJUrq+Jt1h3GBP9md5TbYpPchdiR0oEDMAgY="; desc = "Nerd Font SC"; variable = { suffix = "Variable"; desc = "monospace variable"; }; opentype = maple-font { pname = "MapleMono-otf"; sha256 = "sha256-fwfFlNbaWXFCjcno7NK3dZqAzsHLh9rdGkSq26xc9qw="; woff2 = { suffix = "Woff2"; desc = "WOFF2.0"; }; opentype = { suffix = "OTF"; desc = "OpenType"; }; woff2 = maple-font { pname = "MapleMono-woff2"; sha256 = "sha256-4akpZGGth4yZjI5wjO3ZXrXcWNxb7/6YChU7T5fNVKs="; desc = "WOFF2.0"; NF = { suffix = "NF"; desc = "Nerd Font"; }; NF-unhinted = { suffix = "NF-unhinted"; desc = "Nerd Font unhinted"; }; CN = { suffix = "CN"; desc = "monospace CN"; }; CN-unhinted = { suffix = "CN-unhinted"; desc = "monospace CN unhinted"; }; NF-CN = { suffix = "NF-CN"; desc = "Nerd Font CN"; }; autohint = maple-font { pname = "MapleMono-ttf-autohint"; sha256 = "sha256-rSYIC42Bt+KFgxhwRhXS4sbh4etKYkCOo5nP2J2BHt4="; desc = "ttf autohint"; NF-CN-unhinted = { suffix = "NF-CN-unhinted"; desc = "Nerd Font CN unhinted"; }; }; ligatureVariants = { No-Ligature = { suffix = "NL"; desc = "No Ligature"; }; Normal-Ligature = { suffix = "Normal"; desc = "Normal Ligature"; }; Normal-No-Ligature = { suffix = "NormalNL"; desc = "Normal No Ligature"; }; }; combinedFonts = lib.concatMapAttrs ( ligName: ligVariant: lib.concatMapAttrs ( typeName: typeVariant: let pname = "MapleMono${ligVariant.suffix}-${typeVariant.suffix}"; in { "${ligVariant.suffix}-${typeVariant.suffix}" = maple-font { inherit pname; desc = "${ligVariant.desc} ${typeVariant.desc}"; hash = hashes.${pname}; }; } ) typeVariants ) ligatureVariants // lib.mapAttrs ( _: value: let pname = "MapleMono-${value.suffix}"; in maple-font { inherit pname; inherit (value) desc; hash = hashes.${pname}; } ) typeVariants; in combinedFonts
pkgs/data/fonts/maple-font/hashes.json 0 → 100644 +46 −0 Original line number Diff line number Diff line { "MapleMono-CN-unhinted": "sha256-L2EasFES9EYmNtOs/CKwqqQNzkxAZgoBT8qN1dWipBc=", "MapleMono-CN": "sha256-vQkZD1wa/pzAZR8b9krfApGCUS+ARkZNvhqJ/ZGpnLs=", "MapleMono-NF-CN-unhinted": "sha256-x7ZnObDkGMR4nPpMbBfRfE6M4o19rZgApQeG69P6TZg=", "MapleMono-NF-CN": "sha256-IUBHSBIW//vWwlumefFW48eSULJmY9e8F9Ymhbt/KU0=", "MapleMono-NF-unhinted": "sha256-5P42BHDnIv4ZN4rDtEWFCWEc+NfPd0qHT2VOW2Jhn+Q=", "MapleMono-NF": "sha256-HgZkIrEV5zmRhBvAI4/uT+nfUhDaD0H81upTXfJNhaA=", "MapleMono-OTF": "sha256-4zPKejWZS52bhw0FLJX69kMr8kbv6P5l5cQ8orYcT5o=", "MapleMono-TTF-AutoHint": "sha256-Xa7cSDXKby0UILmxj96xbD6ZhDDwBee9lymOx7FPmoE=", "MapleMono-TTF": "sha256-FglonkbnphiwmxGj7Z0ozfHMwpJj7+96g6WMtMe3rIo=", "MapleMono-Variable": "sha256-EILfODQ8DJiyTwgmTogwcNlz+YBIdmlk/mnfFZ4Eme8=", "MapleMono-Woff2": "sha256-S7lWI+Xr7LxdFvjnngktx5uaixEVlxdLUDKMmFlARCk=", "MapleMonoNL-CN-unhinted": "sha256-0wKF/0hUj45aApnHbp0jQqPtw8YcIsvE88HFob0U8n0=", "MapleMonoNL-CN": "sha256-JUCHV2TkDTFxpZXibLq8/ENyn7KER5AqT5Yx4tK6eW8=", "MapleMonoNL-NF-CN-unhinted": "sha256-t7pOo8YsewYR31AB2J4BIZU+JW3Qp770Esbpy38Y2Ts=", "MapleMonoNL-NF-CN": "sha256-S9a8qXpebYMmJmSr+JG945GYuucQC5bbURf3h0jwH40=", "MapleMonoNL-NF-unhinted": "sha256-j2M6kLSALRzdOl8vyMsX+4wvGVcVDYvlYRLuX1XYhic=", "MapleMonoNL-NF": "sha256-k+FsBxlZheaAzJFdpdKtr4NUTnSue6GNgNa/U5B6dPI=", "MapleMonoNL-OTF": "sha256-TV+6rZ3MNabt+1n33UeElP2zcGktYIYOos3dF4XlQaM=", "MapleMonoNL-TTF-AutoHint": "sha256-VD4d0BdUzRiAUao9sGJKIeLkD3AAuhfJoIdrvdJPP0s=", "MapleMonoNL-TTF": "sha256-bbJxcIYarftrinBO9rLAqUz3jLoWzkcZ+qZCmLeko8U=", "MapleMonoNL-Variable": "sha256-+6WgaUddD2LSYsaVajpYNw+ypuQI27stjc6hPnQtHrw=", "MapleMonoNL-Woff2": "sha256-bbMqjLHRI0aMTa7pxMvRU2RsiE97e3pavkJuMfVXctA=", "MapleMonoNormal-CN-unhinted": "sha256-Ew/7KwKPWluFtYRDD/0hg26tQCVKYCIUTNqClYndVfI=", "MapleMonoNormal-CN": "sha256-ODTWB+9nTMmgEaqlv1/Fq4GABh45CLTA0HKWHM9G9Aw=", "MapleMonoNormal-NF-CN-unhinted": "sha256-vOlFwb0a97ydJPR7YeEJqnmTjK9pKE2O6szGGQJHShQ=", "MapleMonoNormal-NF-CN": "sha256-5Jk/Fqd7pMuDghhaFvIegPJqK21iMJuN/nJt9y5hebc=", "MapleMonoNormal-NF-unhinted": "sha256-9FhbDhBnGEFwX2YE2GEeyteIWA5z3b4VJwURTWsWf3k=", "MapleMonoNormal-NF": "sha256-SMntZ0XVRsdLocSd9BsN3/ORmkUi8XgTSicULqEG0po=", "MapleMonoNormal-OTF": "sha256-flHGOMuURNehlLw0JzbIPNLXNb7B7g8YXl8PoN/Wqt0=", "MapleMonoNormal-TTF-AutoHint": "sha256-/giwB5H0FQ8NTYViqz81Bed+uWuOL9ipH+CKS1p34vU=", "MapleMonoNormal-TTF": "sha256-vL6fRwEP2GSORBrOGvEgSA+fxjrZyYmpbNeuIMpVvYM=", "MapleMonoNormal-Variable": "sha256-S/76i2fj1e+KAxQlAjngGDmOMx8t6Y7Zn8487zJJJXw=", "MapleMonoNormal-Woff2": "sha256-gsyUKyibV5q0llNi0Inwqk/ZOEEF+pH1ZCf9sMadkc8=", "MapleMonoNormalNL-CN-unhinted": "sha256-ht/MwZcc2RvEzZ1mpqCMkfU6J6OD8F4V4lMlrsuo1/E=", "MapleMonoNormalNL-CN": "sha256-pGxsKUFSO5hzOPWW0rgYG8fpgunmPkswnZ8a+C5A+TM=", "MapleMonoNormalNL-NF-CN-unhinted": "sha256-N+JSUc8reu2Sile2ivHu325zzg7MFKJBzbggUg4orZA=", "MapleMonoNormalNL-NF-CN": "sha256-li/xPAHJIFtWDEK1TttQuOjZ7OJqXk+dncHFpwsh3FY=", "MapleMonoNormalNL-NF-unhinted": "sha256-xBRiZaXswGy+DcT3h2m8nCxZBjLgq/5eX6ST4496hw0=", "MapleMonoNormalNL-NF": "sha256-j8Li+I/NgdNSwTAY31YbBJFTc2IXffyqQnv/KVfBeMU=", "MapleMonoNormalNL-OTF": "sha256-+exfPalJXhHScVArcdwLVde5JhxPAyxyebQAE2yBkos=", "MapleMonoNormalNL-TTF-AutoHint": "sha256-Cdo0FhIIp7c+OIlz7D66G8xsBk0JaNq9vn6GugUJiZM=", "MapleMonoNormalNL-TTF": "sha256-xbp1ZhbYysHHOKkoUyu0Tv76/jDqCbo2U6fzHiFPt50=", "MapleMonoNormalNL-Variable": "sha256-mQdYcLT/30kJjPGm4j2pZXrJ8EuiY7M/gsQuI+i1Y3A=", "MapleMonoNormalNL-Woff2": "sha256-WQp+/sKQg/QHYeeFP5k9IPPcQJKGULlmCyrAOUOvfmk=" }
pkgs/data/fonts/maple-font/update.py 0 → 100644 +60 −0 Original line number Diff line number Diff line import re import json import base64 import argparse import requests from urllib.parse import urlparse def process_github_release(url, token=None): parsed = urlparse(url) path_parts = parsed.path.strip('/').split('/') if len(path_parts) < 5 or parsed.netloc != 'github.com': raise ValueError("Invalid GitHub release URL format") owner, repo, _, _, tag = path_parts[:5] headers = {"Accept": "application/vnd.github.v3+json"} if token: headers["Authorization"] = f"Bearer {token}" response = requests.get( f"https://api.github.com/repos/{owner}/{repo}/releases/tags/{tag}", headers=headers ) if response.status_code != 200: raise RuntimeError(f"Failed to fetch release info: {response.status_code} ({response.json().get('message')})") release_data = response.json() assets = release_data.get('assets', []) result = {} sha256_pattern = re.compile(r"^[a-fA-F0-9]{64}$") for asset in assets: if not asset['name'].endswith('.sha256'): continue download_url = asset['browser_download_url'] content_response = requests.get(download_url, headers=headers) if content_response.status_code != 200: raise RuntimeError( f"Failed to download {asset['name']}: " f"{content_response.status_code} {content_response.text}" ) hex_hash = content_response.text.strip() if not sha256_pattern.match(hex_hash): raise ValueError(f"Invalid SHA256 format in {asset['name']}") try: byte_data = bytes.fromhex(hex_hash) base64_hash = base64.b64encode(byte_data).decode('utf-8') except Exception as e: raise RuntimeError(f"Error processing {asset['name']}: {str(e)}") filename = asset['name'][:-7] result[filename] = f"sha256-{base64_hash}" output_file = f"{repo}_{tag}_hashes.json" with open(output_file, 'w', encoding='utf-8') as f: json.dump(result, f, indent=2, ensure_ascii=False) print(f"Successfully generated {output_file}") if __name__ == "__main__": parser = argparse.ArgumentParser(description='Process GitHub release hashes') parser.add_argument('url', help='GitHub release URL') parser.add_argument('-t', '--token', help='GitHub API token (optional)') args = parser.parse_args() try: process_github_release(args.url, args.token) except Exception as e: print(f"Error: {str(e)}") sys.exit(1)
pkgs/top-level/aliases.nix +27 −0 Original line number Diff line number Diff line Loading @@ -940,6 +940,33 @@ mapAliases { maligned = throw "maligned was deprecated upstream in favor of x/tools/go/analysis/passes/fieldalignment"; # Added 20204-08-24 manicode = throw "manicode has been renamed to codebuff"; # Added 2024-12-10 manta = throw "manta does not support python3, and development has been abandoned upstream"; # Added 2025-03-17 maple-mono-NF = throw '' maple-mono-NF had been moved to maple-mono.NF. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; maple-mono-otf = throw '' maple-mono-otf had been moved to maple-mono.opentype. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; maple-mono-woff2 = throw '' maple-mono-woff2 had been moved to maple-mono.woff2. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; maple-mono-SC-NF = throw '' mono-SC-NF had been superseded by maple-mono.NF-CN. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; maple-mono-autohint = throw '' maple-mono-autohint had been moved to maple-mono.truetype-autohint. for installing all maple-mono: fonts.packages = [ ... ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.maple-mono) ''; marwaita-manjaro = lib.warnOnInstantiate "marwaita-manjaro has been renamed to marwaita-teal" marwaita-teal; # Added 2024-07-08 marwaita-peppermint = lib.warnOnInstantiate "marwaita-peppermint has been renamed to marwaita-red" marwaita-red; # Added 2024-07-01 marwaita-ubuntu = lib.warnOnInstantiate "marwaita-ubuntu has been renamed to marwaita-orange" marwaita-orange; # Added 2024-07-08 Loading
pkgs/top-level/all-packages.nix +2 −7 Original line number Diff line number Diff line Loading @@ -2418,13 +2418,6 @@ with pkgs; maliit-keyboard = libsForQt5.callPackage ../applications/misc/maliit-keyboard { }; maple-mono = (callPackage ../data/fonts/maple-font { }).Mono; maple-mono-NF = (callPackage ../data/fonts/maple-font { }).NF; maple-mono-SC-NF = (callPackage ../data/fonts/maple-font { }).SC-NF; maple-mono-otf = (callPackage ../data/fonts/maple-font { }).opentype; maple-mono-woff2 = (callPackage ../data/fonts/maple-font { }).woff2; maple-mono-autohint = (callPackage ../data/fonts/maple-font { }).autohint; mat2 = with python3.pkgs; toPythonApplication mat2; materialx = with python3Packages; toPythonApplication materialx; Loading Loading @@ -4215,6 +4208,8 @@ with pkgs; nerd-fonts = recurseIntoAttrs (callPackage ../data/fonts/nerd-fonts { }); maple-mono = recurseIntoAttrs (callPackage ../data/fonts/maple-font { }); netcdf-mpi = netcdf.override { hdf5 = hdf5-mpi.override { usev110Api = true; }; }; Loading