diff options
Diffstat (limited to 'pkgs/data/fonts/libertine/default.nix')
-rw-r--r-- | pkgs/data/fonts/libertine/default.nix | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/pkgs/data/fonts/libertine/default.nix b/pkgs/data/fonts/libertine/default.nix index eb28521a2b8a..b95b0f0beddf 100644 --- a/pkgs/data/fonts/libertine/default.nix +++ b/pkgs/data/fonts/libertine/default.nix @@ -1,4 +1,6 @@ -args @ { fetchurl, fontforge, lib, ... }: with args; rec { +{ stdenv, fetchurl, fontforge }: + +stdenv.mkDerivation rec { name = "linux-libertine-5.3.0"; src = fetchurl { @@ -6,18 +8,37 @@ args @ { fetchurl, fontforge, lib, ... }: with args; rec { sha256 = "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v"; }; - buildInputs = [ fontforge ]; + setSourceRoot = "sourceRoot=`pwd`"; - /* doConfigure should be specified separately */ - phaseNames = ["doUnpack" "generateFontsFromSFD" "installFonts"]; + buildInputs = [ fontforge ]; - extraFontForgeCommands = '' - ScaleToEm(1000); + buildPhase = '' + for i in *.sfd; do + fontforge -c \ + 'Open($1); + ScaleToEm(1000); + Reencode("unicode"); + Generate($1:r + ".ttf"); + Generate($1:r + ".otf"); + Reencode("TeX-Base-Encoding"); + Generate($1:r + ".afm"); + Generate($1:r + ".pfm"); + Generate($1:r + ".pfb"); + Generate($1:r + ".map"); + Generate($1:r + ".enc"); + ' $i; + done ''; - doUnpack = lib.fullDepEntry '' - tar xf ${src} - '' ["minInit"]; + installPhase = '' + mkdir -p $out/share/fonts/{opentype,truetype,type1}/public + mkdir -p $out/share/texmf/fonts/{enc,map} + cp *.otf $out/share/fonts/opentype/public + cp *.ttf $out/share/fonts/truetype/public + cp *.pfb $out/share/fonts/type1/public + cp *.enc $out/share/texmf/fonts/enc + cp *.map $out/share/texmf/fonts/map + ''; meta = { description = "Linux Libertine Fonts"; |