cd255a375e
The JoyPixels font comes with a license which requires explicit acceptance by the user.
96 lines
2.9 KiB
Nix
96 lines
2.9 KiB
Nix
{ stdenv, fetchurl, acceptLicense ? false }:
|
|
|
|
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;
|
|
|
|
joypixels-free-license = {
|
|
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 = {
|
|
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 ''
|
|
Use of the JoyPixels font requires acceptance of the license.
|
|
- ${joypixels-free-license.fullName} [1]
|
|
- ${joypixels-license-appendix.fullName} [2]
|
|
|
|
You can express acceptance by overriding acceptLicense:
|
|
(joypixels.override { acceptLicense = true; })
|
|
|
|
[1]: ${joypixels-free-license.url}
|
|
[2]: ${joypixels-license-appendix.url}
|
|
'';
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "joypixels";
|
|
version = "6.0.0";
|
|
|
|
src = fetchurl {
|
|
inherit name sha256;
|
|
url = "https://cdn.joypixels.com/distributions/${systemTag}/font/${version}/${fontFile}";
|
|
};
|
|
|
|
dontUnpack = true;
|
|
|
|
installPhase = ''
|
|
install -Dm644 $src $out/share/fonts/truetype/joypixels.${ext}
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "The finest emoji you can use legally (formerly EmojiOne)";
|
|
longDescription = ''
|
|
New for 2020! JoyPixels 6.0 includes 3,342 originally crafted icon
|
|
designs and is 100% Unicode 13 compatible. We offer the largest selection
|
|
of files ranging from png, svg, iconjar, sprites, and fonts.
|
|
'';
|
|
homepage = "https://www.joypixels.com/fonts";
|
|
license = let free-license = joypixels-free-license;
|
|
appendix = joypixels-license-appendix;
|
|
in {
|
|
spdxId = "LicenseRef-JoyPixels-Free-6.0-with-${capitalized}-Appendix";
|
|
fullName = "${free-license.fullName} with ${appendix.fullName}";
|
|
url = free-license.url;
|
|
appendixUrl = appendix.url;
|
|
};
|
|
maintainers = with maintainers; [ toonn jtojnar ];
|
|
};
|
|
}
|