joypixels: Refactor src and installPhase for clarity

This commit is contained in:
toonn 2020-08-07 21:52:38 +02:00 committed by Jan Tojnar
parent e0ad840a06
commit 568beeaa28
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4

View file

@ -1,42 +1,55 @@
{ stdenv, fetchurl }:
let inherit (stdenv.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
systemTag = {
x86_64-darwin = "nix-darwin";
x86_64-linux = "nix-os";
}.${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;
sha256 = {
x86_64-darwin = "043980g0dlp8vd4qkbx6298fwz8ns0iwbxm0f8czd9s7n2xm4npq";
x86_64-linux = "1vxqsqs93g4jyp01r47lrpcm0fmib2n1vysx32ksmfxmprimb75s";
}.${system} or throwSystem;
in
stdenv.mkDerivation rec {
inherit (stdenv.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
pname = "joypixels";
version = "6.0.0";
url = {
x86_64-darwin = "https://cdn.joypixels.com/distributions/nix-darwin/font/6.0.0/Apple%20Color%20Emoji.ttc";
x86_64-linux = "https://cdn.joypixels.com/distributions/nix-os/font/${version}/joypixels-android.ttf";
}.${system} or throwSystem;
name = {
x86_64-darwin = "joypixels-apple-color-emoji.ttc";
x86_64-linux = "joypixels-android.ttf";
}.${system} or throwSystem;
sha256 = {
x86_64-darwin = "043980g0dlp8vd4qkbx6298fwz8ns0iwbxm0f8czd9s7n2xm4npq";
x86_64-linux = "1vxqsqs93g4jyp01r47lrpcm0fmib2n1vysx32ksmfxmprimb75s";
}.${system} or throwSystem;
src = fetchurl {
inherit url name sha256;
inherit name sha256;
url = "https://cdn.joypixels.com/distributions/${systemTag}/font/${version}/${fontFile}";
};
dontUnpack = true;
installPhase = {
x86_64-darwin = ''
install -Dm644 $src $out/share/fonts/truetype/joypixels.ttc
'';
x86_64-linux = ''
install -Dm644 $src $out/share/fonts/truetype/joypixels.ttf
'';
}.${system} or throwSystem;
installPhase = ''
install -Dm644 $src $out/share/fonts/truetype/joypixels.${ext}
'';
meta = with stdenv.lib; {
description = "Emoji as a Service (formerly EmojiOne)";