about summary refs log tree commit diff
path: root/pkgs/data
diff options
context:
space:
mode:
authorrnhmjoj <rnhmjoj@inventati.org>2020-02-09 23:55:05 +0100
committerrnhmjoj <rnhmjoj@inventati.org>2020-02-10 00:28:56 +0100
commit7f7c94497a34756f39af889e74282ad3fcee0c7b (patch)
tree3e9a9dc0ce7a1843b57f1014906fe4e91c29aab4 /pkgs/data
parentf16019c58fe7948f947cdc4d73464d82fb69300d (diff)
downloadnixlib-7f7c94497a34756f39af889e74282ad3fcee0c7b.tar
nixlib-7f7c94497a34756f39af889e74282ad3fcee0c7b.tar.gz
nixlib-7f7c94497a34756f39af889e74282ad3fcee0c7b.tar.bz2
nixlib-7f7c94497a34756f39af889e74282ad3fcee0c7b.tar.lz
nixlib-7f7c94497a34756f39af889e74282ad3fcee0c7b.tar.xz
nixlib-7f7c94497a34756f39af889e74282ad3fcee0c7b.tar.zst
nixlib-7f7c94497a34756f39af889e74282ad3fcee0c7b.zip
dina,dina-pcf: unify packages
Diffstat (limited to 'pkgs/data')
-rw-r--r--pkgs/data/fonts/dina-pcf/default.nix64
-rw-r--r--pkgs/data/fonts/dina/default.nix49
2 files changed, 38 insertions, 75 deletions
diff --git a/pkgs/data/fonts/dina-pcf/default.nix b/pkgs/data/fonts/dina-pcf/default.nix
deleted file mode 100644
index eff0c579a707..000000000000
--- a/pkgs/data/fonts/dina-pcf/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{stdenv, fetchurl, unzip, bdftopcf, mkfontdir, mkfontscale}:
-
-stdenv.mkDerivation {
-  version = "2.92";
-  pname = "dina-font-pcf";
-
-  src = fetchurl {
-    url = "http://www.donationcoder.com/Software/Jibz/Dina/downloads/Dina.zip";
-    sha256 = "1kq86lbxxgik82aywwhawmj80vsbz3hfhdyhicnlv9km7yjvnl8z";
-  };
-
-  nativeBuildInputs = [ unzip bdftopcf mkfontdir mkfontscale ];
-
-  dontBuild = true;
-  patchPhase = "sed -i 's/microsoft-cp1252/ISO8859-1/' *.bdf";
-  installPhase = ''
-    _get_font_size() {
-      _pt=$\{1%.bdf}
-      _pt=$\{_pt#*-}
-      echo $_pt
-    }
-
-    for i in Dina_i400-*.bdf; do
-        bdftopcf -t -o DinaItalic$(_get_font_size $i).pcf $i
-    done
-    for i in Dina_i700-*.bdf; do
-        bdftopcf -t -o DinaBoldItalic$(_get_font_size $i).pcf $i
-    done
-    for i in Dina_r400-*.bdf; do
-        bdftopcf -t -o DinaMedium$(_get_font_size $i).pcf $i
-    done
-    for i in Dina_r700-*.bdf; do
-        bdftopcf -t -o DinaBold$(_get_font_size $i).pcf $i
-    done
-    gzip -n *.pcf
-
-    fontDir="$out/share/fonts/misc"
-    mkdir -p "$fontDir"
-    mv *.pcf.gz "$fontDir"
-
-    cd "$fontDir"
-    mkfontdir
-    mkfontscale
-  '';
-
-  preferLocalBuild = true;
-
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "0v0qn5zwq4j1yx53ypg6w6mqx6dk8l1xix0188b0k4z3ivgnflyb";
-
-  meta = with stdenv.lib; {
-    description = "A monospace bitmap font aimed at programmers";
-    longDescription = ''
-      Dina is a monospace bitmap font, primarily aimed at programmers. It is
-      relatively compact to allow a lot of code on screen, while (hopefully)
-      clear enough to remain readable even at high resolutions.
-    '';
-    homepage = https://www.donationcoder.com/Software/Jibz/Dina/;
-    downloadPage = https://www.donationcoder.com/Software/Jibz/Dina/;
-    license = licenses.free;
-    maintainers = [ maintainers.prikhi ];
-  };
-}
diff --git a/pkgs/data/fonts/dina/default.nix b/pkgs/data/fonts/dina/default.nix
index 0d4cd286219e..d5b709007035 100644
--- a/pkgs/data/fonts/dina/default.nix
+++ b/pkgs/data/fonts/dina/default.nix
@@ -1,20 +1,47 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchurl, unzip
+, bdftopcf, mkfontscale
+}:
 
-let
+stdenv.mkDerivation {
+  pname = "dina-font";
   version = "2.92";
-in fetchzip {
-  name = "dina-font-${version}";
 
-  # `meta.homepage` has no direct download link
-  url = "https://github.com/ProgrammingFonts/ProgrammingFonts/archive/b15ef365146be7eef4a46979cfe157c5aeefb7c0.zip";
+  src = fetchurl {
+    url = "http://www.donationcoder.com/Software/Jibz/Dina/downloads/Dina.zip";
+    sha256 = "1kq86lbxxgik82aywwhawmj80vsbz3hfhdyhicnlv9km7yjvnl8z";
+  };
+
+  nativeBuildInputs =
+    [ unzip bdftopcf mkfontscale ];
+
+  patchPhase = "sed -i 's/microsoft-cp1252/ISO8859-1/' *.bdf";
+
+  buildPhase = ''
+    newName() {
+      test "''${1:5:1}" = i && _it=Italic || _it=
+      case ''${1:6:3} in
+        400) test -z $it && _weight=Medium ;;
+        700) _weight=Bold ;;
+      esac
+      _pt=''${1%.bdf}
+      _pt=''${_pt#*-}
+      echo "Dina$_weight$_it$_pt"
+    }
+
+    # convert bdf fonts to pcf
+    for i in *.bdf; do
+      bdftopcf -t -o $(newName "$i").pcf "$i"
+    done
+    gzip -n -9 *.pcf
+  '';
 
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile '*/Dina/*.bdf' -d $out/share/fonts
-    chmod u-x $out/share/fonts/*
+  installPhase = ''
+    install -D -m 644 -t "$out/share/fonts/misc" *.pcf.gz
+    install -D -m 644 -t "$bdf/share/fonts/misc" *.bdf
+    mkfontdir "$out/share/fonts/misc"
   '';
 
-  sha256 = "02a6hqbq18sw69npylfskriqhvj1nsk65hjjyd05nl913ycc6jl7";
+  outputs = [ "out" "bdf" ];
 
   meta = with stdenv.lib; {
     description = "A monospace bitmap font aimed at programmers";