From e18aa0b180a55d09032382d4e76ba3b582cd7e59 Mon Sep 17 00:00:00 2001 From: rczb Date: Thu, 2 Jan 2025 20:47:44 +0800 Subject: [PATCH 1/3] nerd-fonts: change pname, version and license schema Fix issue #370117. --- pkgs/data/fonts/nerd-fonts/default.nix | 22 +++++++++++-------- .../fonts/nerd-fonts/manifests/release.json | 3 +-- pkgs/data/fonts/nerd-fonts/update.py | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/pkgs/data/fonts/nerd-fonts/default.nix b/pkgs/data/fonts/nerd-fonts/default.nix index e7b2d449a554..6d10cb071946 100644 --- a/pkgs/data/fonts/nerd-fonts/default.nix +++ b/pkgs/data/fonts/nerd-fonts/default.nix @@ -17,11 +17,7 @@ let if builtins.match "[[:digit:]].*" lowerName != null then "_" + lowerName else lowerName; convertVersion = - version: date: - if builtins.match "[[:digit:]].*" version != null then - version - else - "0-unstable-" + builtins.head (lib.strings.splitString "T" date); + version: if builtins.match "[[:digit:]].*" version != null then "+" + version else ""; convertLicense = import ./convert-license.nix lib; @@ -36,8 +32,8 @@ let ... }: stdenvNoCC.mkDerivation { - pname = lib.strings.toLower caskName; - version = convertVersion version releaseInfo.published_at; + pname = "nerd-fonts-" + lib.strings.toLower caskName; + version = (lib.removePrefix "v" releaseInfo.tag_name) + convertVersion version; src = let @@ -74,7 +70,15 @@ let meta = { description = "Nerd Fonts: " + description; - license = convertLicense licenseId; + license = lib.unique ( + (with lib.licenses; [ + # > Nerd Fonts source fonts, patched fonts, and folders with explict OFL SIL files + ofl + # > Nerd Fonts original source code files (such as `.sh`, `.py`, `font-patcher` and others) + mit + ]) + ++ lib.toList (convertLicense licenseId) + ); homepage = "https://nerdfonts.com/"; changelog = "https://github.com/ryanoasis/nerd-fonts/blob/${releaseInfo.tag_name}/changelog.md"; platforms = lib.platforms.all; @@ -86,7 +90,7 @@ let }; nerdFonts = lib.trivial.pipe fontsInfo [ - (map (font: lib.attrsets.nameValuePair (convertAttrName font.caskName) (makeNerdFont font))) + (map (font: lib.nameValuePair (convertAttrName font.caskName) (makeNerdFont font))) builtins.listToAttrs ]; in diff --git a/pkgs/data/fonts/nerd-fonts/manifests/release.json b/pkgs/data/fonts/nerd-fonts/manifests/release.json index 428f1edccec2..0073a9ea0d40 100644 --- a/pkgs/data/fonts/nerd-fonts/manifests/release.json +++ b/pkgs/data/fonts/nerd-fonts/manifests/release.json @@ -1,4 +1,3 @@ { - "tag_name": "v3.3.0", - "published_at": "2024-11-18T12:43:12Z" + "tag_name": "v3.3.0" } diff --git a/pkgs/data/fonts/nerd-fonts/update.py b/pkgs/data/fonts/nerd-fonts/update.py index 026e293c0569..e070d1ceebe0 100755 --- a/pkgs/data/fonts/nerd-fonts/update.py +++ b/pkgs/data/fonts/nerd-fonts/update.py @@ -40,7 +40,7 @@ os.chdir(os.path.join(os.path.dirname(os.path.abspath(__file__)), "manifests")) release_info = slicedict( fetchjson(RELEASE_INFO_URL), - ["tag_name", "published_at"] + ["tag_name"] ) tag_name = release_info["tag_name"] From 06d52b09a2e425de9be8dae109d66524b559d34d Mon Sep 17 00:00:00 2001 From: rczb Date: Thu, 2 Jan 2025 20:49:53 +0800 Subject: [PATCH 2/3] nerd-fonts: fix attr name and version handling --- pkgs/data/fonts/nerd-fonts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/nerd-fonts/default.nix b/pkgs/data/fonts/nerd-fonts/default.nix index 6d10cb071946..6fa4633a0b45 100644 --- a/pkgs/data/fonts/nerd-fonts/default.nix +++ b/pkgs/data/fonts/nerd-fonts/default.nix @@ -14,10 +14,10 @@ let let lowerName = lib.strings.toLower name; in - if builtins.match "[[:digit:]].*" lowerName != null then "_" + lowerName else lowerName; + if builtins.match "^[[:digit:]].*" lowerName != null then "_" + lowerName else lowerName; convertVersion = - version: if builtins.match "[[:digit:]].*" version != null then "+" + version else ""; + version: if builtins.match "^[[:digit:]].*" version != null then "+" + version else ""; convertLicense = import ./convert-license.nix lib; From d37ad3d28fae19036467ae3ded7792478f8b2c1f Mon Sep 17 00:00:00 2001 From: rczb Date: Thu, 2 Jan 2025 21:11:06 +0800 Subject: [PATCH 3/3] nerd-fonts: add releaseVersion to passthru --- pkgs/data/fonts/nerd-fonts/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/data/fonts/nerd-fonts/default.nix b/pkgs/data/fonts/nerd-fonts/default.nix index 6fa4633a0b45..27595a1fb4f6 100644 --- a/pkgs/data/fonts/nerd-fonts/default.nix +++ b/pkgs/data/fonts/nerd-fonts/default.nix @@ -9,6 +9,8 @@ let fontsInfo = lib.trivial.importJSON ./manifests/fonts.json; checksums = lib.trivial.importJSON ./manifests/checksums.json; + releaseVersion = lib.removePrefix "v" releaseInfo.tag_name; + convertAttrName = name: let @@ -33,7 +35,7 @@ let }: stdenvNoCC.mkDerivation { pname = "nerd-fonts-" + lib.strings.toLower caskName; - version = (lib.removePrefix "v" releaseInfo.tag_name) + convertVersion version; + version = releaseVersion + convertVersion version; src = let @@ -63,9 +65,12 @@ let runHook postInstall ''; - passthru.updateScript = { - command = ./update.py; - supportedFeatures = [ "commit" ]; + passthru = { + inherit releaseVersion; + updateScript = { + command = ./update.py; + supportedFeatures = [ "commit" ]; + }; }; meta = {