From 1c6db216533758701d1e841de0f16fb957f49f6b Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Sun, 24 Jan 2016 15:50:54 +0000 Subject: [PATCH] libertine: use mkDerivation --- pkgs/data/fonts/libertine/default.nix | 39 ++++++++++++++++++++------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/pkgs/data/fonts/libertine/default.nix b/pkgs/data/fonts/libertine/default.nix index eb28521a2b8..b95b0f0bedd 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"; }; + setSourceRoot = "sourceRoot=`pwd`"; + buildInputs = [ fontforge ]; - /* doConfigure should be specified separately */ - phaseNames = ["doUnpack" "generateFontsFromSFD" "installFonts"]; - - 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"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 472b325055c..2eeedef4d12 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10950,7 +10950,7 @@ let liberation_ttf_binary = callPackage ../data/fonts/redhat-liberation-fonts/binary.nix { }; liberation_ttf = liberation_ttf_binary; - libertine = builderDefsPackage (callPackage ../data/fonts/libertine) { }; + libertine = callPackage ../data/fonts/libertine { }; lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {};