about summary refs log tree commit diff
path: root/pkgs/data
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/data')
-rw-r--r--pkgs/data/fonts/iosevka/default.nix44
-rw-r--r--pkgs/data/fonts/iosevka/package.json2
-rw-r--r--pkgs/data/fonts/twitter-color-emoji/default.nix37
3 files changed, 43 insertions, 40 deletions
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index a1461032f1b8..fb00fff130f9 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, pkgs, fetchFromGitHub
-, nodejs, nodePackages, remarshal, ttfautohint-nox, otfcc
+{ stdenv, lib, pkgs, fetchFromGitHub, nodejs, nodePackages, remarshal
+, ttfautohint-nox, otfcc
 
 # Custom font set options.
 # See https://github.com/be5invis/Iosevka#build-your-own-style
@@ -13,27 +13,30 @@
 #   ];
 # };
 , privateBuildPlan ? null
-# Extra parameters. Can be used for ligature mapping.
+  # Extra parameters. Can be used for ligature mapping.
+  # It must be a raw toml string.
+  #
+  # Ex:
+  # [[iosevka.compLig]]
+  # unicode = 57808 # 0xe1d0
+  # featureTag = 'XHS0'
+  # sequence = "+>"
 , extraParameters ? null
-# Custom font set name. Required if any custom settings above.
-, set ? null
-}:
+  # Custom font set name. Required if any custom settings above.
+, set ? null }:
 
 assert (privateBuildPlan != null) -> set != null;
 
 stdenv.mkDerivation rec {
-  pname =
-    if set != null
-    then "iosevka-${set}"
-    else "iosevka";
+  pname = if set != null then "iosevka-${set}" else "iosevka";
 
-  version = "2.3.0";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "Iosevka";
     rev = "v${version}";
-    sha256 = "1qnbxhx9wvij9zia226mc3sy8j7bfsw5v1cvxvsbbwjskwqdamvv";
+    sha256 = "0s0vdvp1sn8p2pi2xm9n05pabk30ki7wjlmr0zz0nkhidb8apw6k";
   };
 
   nativeBuildInputs = [
@@ -44,9 +47,10 @@ stdenv.mkDerivation rec {
     ttfautohint-nox
   ];
 
-  privateBuildPlanJSON = builtins.toJSON { buildPlans.${pname} = privateBuildPlan; };
-  extraParametersJSON = builtins.toJSON { ${pname} = extraParameters; };
-  passAsFile = [ "privateBuildPlanJSON" "extraParametersJSON" ];
+  privateBuildPlanJSON =
+    builtins.toJSON { buildPlans.${pname} = privateBuildPlan; };
+  inherit extraParameters;
+  passAsFile = [ "privateBuildPlanJSON" "extraParameters" ];
 
   configurePhase = ''
     runHook preConfigure
@@ -55,9 +59,11 @@ stdenv.mkDerivation rec {
     ''}
     ${lib.optionalString (extraParameters != null) ''
       echo -e "\n" >> parameters.toml
-      remarshal -i "$extraParametersJSONPath" -if json -of toml >> parameters.toml
+      cat "$extraParametersPath" >> parameters.toml
     ''}
-    ln -s ${nodePackages."iosevka-build-deps-../../data/fonts/iosevka"}/lib/node_modules/iosevka-build-deps/node_modules .
+    ln -s ${
+      nodePackages."iosevka-build-deps-../../data/fonts/iosevka"
+    }/lib/node_modules/iosevka-build-deps/node_modules .
     runHook postConfigure
   '';
 
@@ -76,8 +82,8 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://be5invis.github.io/Iosevka;
-    downloadPage = https://github.com/be5invis/Iosevka/releases;
+    homepage = "https://be5invis.github.io/Iosevka";
+    downloadPage = "https://github.com/be5invis/Iosevka/releases";
     description = ''
       Slender monospace sans-serif and slab-serif typeface inspired by Pragmata
       Pro, M+ and PF DIN Mono, designed to be the ideal font for programming.
diff --git a/pkgs/data/fonts/iosevka/package.json b/pkgs/data/fonts/iosevka/package.json
index ae162a975382..e6221b283927 100644
--- a/pkgs/data/fonts/iosevka/package.json
+++ b/pkgs/data/fonts/iosevka/package.json
@@ -1,6 +1,6 @@
 {
 	"name": "iosevka-build-deps",
-	"version": "2.3.0",
+	"version": "2.3.2",
 	"scripts": {
 		"build": "verda -f verdafile.js"
 	},
diff --git a/pkgs/data/fonts/twitter-color-emoji/default.nix b/pkgs/data/fonts/twitter-color-emoji/default.nix
index bb22ec517c21..4e464f370229 100644
--- a/pkgs/data/fonts/twitter-color-emoji/default.nix
+++ b/pkgs/data/fonts/twitter-color-emoji/default.nix
@@ -3,28 +3,20 @@
 
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , cairo
-, imagemagick
+, graphicsmagick
 , pkg-config
 , pngquant
 , python3
 , which
 , zopfli
+, noto-fonts-emoji
 }:
 
 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";
@@ -33,36 +25,42 @@ let
     sha256 = "0vzmlp83vnk4njcfkn03jcc1vkg2rf12zf5kj3p3a373xr4ds1zn";
   };
 
-  python = python3.withPackages (pp: with pp; [
-    nototools
-  ]);
 in
 stdenv.mkDerivation rec {
   pname = "twitter-color-emoji";
   inherit version;
 
   srcs = [
-    notoSrc
+    noto-fonts-emoji.src
     twemojiSrc
   ];
 
-  sourceRoot = notoSrc.name;
+  sourceRoot = noto-fonts-emoji.src.name;
 
   postUnpack = ''
     chmod -R +w ${twemojiSrc.name}
-    mv ${twemojiSrc.name} ${notoSrc.name}
+    mv ${twemojiSrc.name} ${noto-fonts-emoji.src.name}
   '';
 
   nativeBuildInputs = [
     cairo
-    imagemagick
+    graphicsmagick
     pkg-config
     pngquant
-    python
+    python3
+    python3.pkgs.nototools
     which
     zopfli
   ];
 
+  patches = [
+    # ImageMagick -> GrahphicsMagick
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/twitter-twemoji-fonts/raw/3bc176c10ced2824fe03da5ff561e22a36bf8ccd/f/noto-emoji-use-gm.patch";
+      sha256 = "0yfmfzaaiq5163c06172g4r734aysiqyv1s28siv642vqzsqh4i2";
+    })
+  ];
+
   postPatch = let
     templateSubstitutions = stdenv.lib.concatStringsSep "; " [
       ''s#Noto Color Emoji#Twitter Color Emoji#''
@@ -118,6 +116,5 @@ stdenv.mkDerivation rec {
     ## Non-artwork is MIT
     license = with licenses; [ asl20 ofl cc-by-40 mit ];
     maintainers = with maintainers; [ jtojnar ];
-    broken = true; # Can't be build using the current Python 3 version of nototools
   };
 }