summary refs log tree commit diff
path: root/pkgs/data
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-08-29 17:23:47 +0200
committerJan Tojnar <jtojnar@gmail.com>2019-08-29 21:33:26 +0200
commit4e4d67b79f0b898d7eb806664b8cab308a911508 (patch)
tree6c38641d7ffeecaa4eae2e92e758274cc40f5a1c /pkgs/data
parentdd7ec2ea97cc6fff5c425f205ed9374c4fca2af6 (diff)
downloadnixpkgs-4e4d67b79f0b898d7eb806664b8cab308a911508.tar
nixpkgs-4e4d67b79f0b898d7eb806664b8cab308a911508.tar.gz
nixpkgs-4e4d67b79f0b898d7eb806664b8cab308a911508.tar.bz2
nixpkgs-4e4d67b79f0b898d7eb806664b8cab308a911508.tar.lz
nixpkgs-4e4d67b79f0b898d7eb806664b8cab308a911508.tar.xz
nixpkgs-4e4d67b79f0b898d7eb806664b8cab308a911508.tar.zst
nixpkgs-4e4d67b79f0b898d7eb806664b8cab308a911508.zip
twitter-color-emoji: init at 12.1.2
Diffstat (limited to 'pkgs/data')
-rw-r--r--pkgs/data/fonts/twitter-color-emoji/default.nix122
1 files changed, 122 insertions, 0 deletions
diff --git a/pkgs/data/fonts/twitter-color-emoji/default.nix b/pkgs/data/fonts/twitter-color-emoji/default.nix
new file mode 100644
index 00000000000..5c01283d3e9
--- /dev/null
+++ b/pkgs/data/fonts/twitter-color-emoji/default.nix
@@ -0,0 +1,122 @@
+# Based upon https://src.fedoraproject.org/rpms/twitter-twemoji-fonts/tree/454acad50ba584d9602ccd4238fc5e585abc15c9
+# The main difference is that we use “Twitter Color Emoji” name (which is recognized by upstream fontconfig)
+
+{ stdenv
+, fetchFromGitHub
+, cairo
+, imagemagick
+, pkg-config
+, pngquant
+, python2
+, which
+, zopfli
+}:
+
+let
+  version = "12.1.2";
+
+  # Cannot use noto-fonts-emoji.src since it is too old
+  # and still tries to use vendored pngquant.
+  notoSrc = fetchFromGitHub {
+    name = "noto";
+    owner = "googlefonts";
+    repo = "noto-emoji";
+    rev = "833a43d03246a9325e748a2d783006454d76ff66";
+    sha256 = "1g6ikzk8banm3ihqm9g27ggjq2mn1b1hq3zhpl13lxid6mp60s4a";
+  };
+
+  twemojiSrc = fetchFromGitHub {
+    name = "twemoji";
+    owner = "twitter";
+    repo = "twemoji";
+    rev = "v${version}";
+    sha256 = "0vzmlp83vnk4njcfkn03jcc1vkg2rf12zf5kj3p3a373xr4ds1zn";
+  };
+
+  python = python2.withPackages (pp: with pp; [
+    nototools
+  ]);
+in
+stdenv.mkDerivation rec {
+  pname = "twitter-color-emoji";
+  inherit version;
+
+  srcs = [
+    notoSrc
+    twemojiSrc
+  ];
+
+  sourceRoot = notoSrc.name;
+
+  postUnpack = ''
+    chmod -R +w ${twemojiSrc.name}
+    mv ${twemojiSrc.name} ${notoSrc.name}
+  '';
+
+  nativeBuildInputs = [
+    cairo
+    imagemagick
+    pkg-config
+    pngquant
+    python
+    which
+    zopfli
+  ];
+
+  postPatch = let
+    templateSubstitutions = stdenv.lib.concatStringsSep "; " [
+      ''s#Noto Color Emoji#Twitter Color Emoji#''
+      ''s#NotoColorEmoji#TwitterColorEmoji#''
+      ''s#Copyright .* Google Inc\.#Twitter, Inc and other contributors.#''
+      ''s# Version .*# ${version}#''
+      ''s#.*is a trademark.*##''
+      ''s#Google, Inc\.#Twitter, Inc and other contributors#''
+      ''s#http://www.google.com/get/noto/#https://twemoji.twitter.com/#''
+      ''s#.*is licensed under.*#      Creative Commons Attribution 4.0 International#''
+      ''s#http://scripts.sil.org/OFL#http://creativecommons.org/licenses/by/4.0/#''
+    ];
+  in ''
+    patchShebangs ./flag_glyph_name.py
+
+    sed '${templateSubstitutions}' NotoColorEmoji.tmpl.ttx.tmpl > TwitterColorEmoji.tmpl.ttx.tmpl
+    pushd ${twemojiSrc.name}/assets/72x72/
+    for png in *.png; do
+        mv $png emoji_u''${png//-/_}
+    done
+    popd
+  '';
+
+  makeFlags = [
+    "EMOJI=TwitterColorEmoji"
+    "EMOJI_SRC_DIR=${twemojiSrc.name}/assets/72x72"
+    "BODY_DIMENSIONS=76x72"
+  ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -Dm644 TwitterColorEmoji.ttf $out/share/fonts/truetype/TwitterColorEmoji.ttf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Color emoji font with a flat visual style, designed and used by Twitter";
+    longDescription = ''
+      A bitmap color emoji font built from the Twitter Emoji for
+      Everyone artwork with support for ZWJ, skin tone diversity and country
+      flags.
+
+      This font uses Google’s CBDT format making it work on Android and Linux graphical stack.
+    '';
+    homepage = "https://twemoji.twitter.com/";
+    # In noto-emoji-fonts source
+    ## noto-emoji code is in ASL 2.0 license
+    ## Emoji fonts are under OFL license
+    ### third_party color-emoji code is in ASL 2.0 license
+    ### third_party region-flags code is in Public Domain license
+    # In twemoji source
+    ## Artwork is Creative Commons Attribution 4.0 International
+    ## Non-artwork is MIT
+    license = with licenses; [ asl20 ofl cc-by-40 mit ];
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}