From a880ab2e98d935ab2b77c4c0ca82b3fd8358a988 Mon Sep 17 00:00:00 2001 From: toonn Date: Sat, 8 Aug 2020 21:00:04 +0200 Subject: [PATCH] joypixels: Refactor to group system-specific variables --- pkgs/data/fonts/joypixels/default.nix | 58 ++++++++++++--------------- 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/pkgs/data/fonts/joypixels/default.nix b/pkgs/data/fonts/joypixels/default.nix index 3385209880f..eb9bc5cf910 100644 --- a/pkgs/data/fonts/joypixels/default.nix +++ b/pkgs/data/fonts/joypixels/default.nix @@ -4,47 +4,35 @@ let inherit (stdenv.hostPlatform) system; throwSystem = throw "Unsupported system: ${system}"; - systemTag = { - x86_64-darwin = "nix-darwin"; - x86_64-linux = "nix-os"; + systemSpecific = { + x86_64-darwin = rec { + systemTag = "nix-darwin"; + capitalized = systemTag; + ext = "ttc"; + fontFile = "Apple%20Color%20Emoji.ttc"; + name = "joypixels-apple-color-emoji.ttc"; + }; + x86_64-linux = rec { + systemTag = "nix-os"; + capitalized = "NixOS"; + ext = "ttf"; + fontFile = "joypixels-android.ttf"; + name = fontFile; + }; }.${system} or throwSystem; - capitalized = { - x86_64-darwin = systemTag; - x86_64-linux = "NixOS"; - }.${system} or throwSystem; - - fontFile = { - x86_64-darwin = "Apple%20Color%20Emoji.ttc"; - x86_64-linux = "joypixels-android.ttf"; - }.${system} or throwSystem; - - name = { - x86_64-darwin = "joypixels-apple-color-emoji.ttc"; - x86_64-linux = fontFile; - }.${system} or throwSystem; - - ext = { - x86_64-darwin = "ttc"; - x86_64-linux = "ttf"; - }.${system} or throwSystem; - - joypixels-free-license = { + joypixels-free-license = with systemSpecific; { spdxId = "LicenseRef-JoyPixels-Free-6.0"; fullName = "JoyPixels Free License Agreement 6.0"; url = "https://cdn.joypixels.com/distributions/${systemTag}/license/free-license.pdf"; }; - joypixels-license-appendix = { + + joypixels-license-appendix = with systemSpecific; { spdxId = "LicenseRef-JoyPixels-NixOS-Appendix"; fullName = "JoyPixels ${capitalized} License Appendix"; url = "https://cdn.joypixels.com/distributions/${systemTag}/appendix/joypixels-license-appendix.pdf"; }; - sha256 = { - x86_64-darwin = "043980g0dlp8vd4qkbx6298fwz8ns0iwbxm0f8czd9s7n2xm4npq"; - x86_64-linux = "1vxqsqs93g4jyp01r47lrpcm0fmib2n1vysx32ksmfxmprimb75s"; - }.${system} or throwSystem; - in assert !acceptLicense -> throw '' @@ -63,14 +51,18 @@ stdenv.mkDerivation rec { pname = "joypixels"; version = "6.0.0"; - src = fetchurl { - inherit name sha256; + src = with systemSpecific; fetchurl { + inherit name; url = "https://cdn.joypixels.com/distributions/${systemTag}/font/${version}/${fontFile}"; + sha256 = { + x86_64-darwin = "043980g0dlp8vd4qkbx6298fwz8ns0iwbxm0f8czd9s7n2xm4npq"; + x86_64-linux = "1vxqsqs93g4jyp01r47lrpcm0fmib2n1vysx32ksmfxmprimb75s"; + }.${system} or throwSystem; }; dontUnpack = true; - installPhase = '' + installPhase = with systemSpecific; '' install -Dm644 $src $out/share/fonts/truetype/joypixels.${ext} '';