From d6e6711f401446ebfec291ad1a3fbb58fd33720d Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Thu, 22 Jan 2026 14:42:49 +0800 Subject: [PATCH] fix ttf fonts --- default.nix | 2 ++ pkgs/f/fonts/package.nix | 61 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 pkgs/f/fonts/package.nix diff --git a/default.nix b/default.nix index 38a8ea3..63ec7a0 100644 --- a/default.nix +++ b/default.nix @@ -74,6 +74,7 @@ let struct2json = callPackage ./pkgs/s/struct2json/package.nix { pkgs = pkgs; }; + my-ttf-fonts = callPackage ./pkgs/f/fonts/package.nix {}; in { xbuild = xbuild; @@ -87,4 +88,5 @@ in libcello_debug = libcello_debug; packcc = packcc_main; struct2json = struct2json; + my-ttf-fonts = my-ttf-fonts; } diff --git a/pkgs/f/fonts/package.nix b/pkgs/f/fonts/package.nix new file mode 100644 index 0000000..3f02acd --- /dev/null +++ b/pkgs/f/fonts/package.nix @@ -0,0 +1,61 @@ +{ + lib, + stdenv, +# fetchFromGitea, +# fetchFromGitHub, +# fetchgit, + pkgs? import {}, + pkg-config, +}: + +let + meta = with lib; { + description = "Some true type fonts"; + homepage = "https://github.com/shen390s/my-ttf-fonts"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + }; + pname = "my-ttf-fonts"; + version = "1.0"; + mysource = pkgs.runCommand "download-fonts" { + nativeBuiltInputs = [ pkgs.curl ]; + outputHash = "sha256-JMWxG0lCkzXhuBoBtEk8N0g6qrLRJo0WGki9A+yTbhU="; + outputHashAlgo = "sha256"; + outputHashMode = "flat"; + } '' + ${pkgs.curl}/bin/curl --output $out \ + --location \ + --max-redirs 20 \ + --retry 3 \ + --disable-epsv \ + --cookie-jar cookies \ + --insecure \ + --user-agent curl/8.17.0 -C - --fail \ + https://gitee.com/shen390s/my-ttf-fonts/archive/refs/tags/v1.0.tar.gz + ''; +in +stdenv.mkDerivation (finalAttrs: { + pname = pname; + version = version; + + src = mysource; + + unpackPhase = '' + tar -zxvf $src + ''; + + installPhase = '' + mkdir -p $out/share/fonts/truetype + _fontdir="${pname}-v${version}" + if [ -d $_fontdir/fonts/truetype ]; then + ls $_fontdir/fonts/truetype/* + cp -r $_fontdir/fonts/truetype/*.ttf $out/share/fonts/truetype/ + cp -r $_fontdir/fonts/truetype/*.ttc $out/share/fonts/truetype/ + else + echo "No fonts found in $_fontdir/fonts/truetype" + exit 0 + fi + ''; + + inherit meta; +})