libertine: use mkDerivation

This commit is contained in:
Robin Gloster 2016-01-24 15:50:54 +00:00
parent 1af99b8dad
commit 1c6db21653
2 changed files with 31 additions and 10 deletions

View File

@ -1,4 +1,6 @@
args @ { fetchurl, fontforge, lib, ... }: with args; rec { { stdenv, fetchurl, fontforge }:
stdenv.mkDerivation rec {
name = "linux-libertine-5.3.0"; name = "linux-libertine-5.3.0";
src = fetchurl { src = fetchurl {
@ -6,18 +8,37 @@ args @ { fetchurl, fontforge, lib, ... }: with args; rec {
sha256 = "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v"; sha256 = "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v";
}; };
setSourceRoot = "sourceRoot=`pwd`";
buildInputs = [ fontforge ]; buildInputs = [ fontforge ];
/* doConfigure should be specified separately */ buildPhase = ''
phaseNames = ["doUnpack" "generateFontsFromSFD" "installFonts"]; for i in *.sfd; do
fontforge -c \
extraFontForgeCommands = '' 'Open($1);
ScaleToEm(1000); 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 '' installPhase = ''
tar xf ${src} mkdir -p $out/share/fonts/{opentype,truetype,type1}/public
'' ["minInit"]; 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 = { meta = {
description = "Linux Libertine Fonts"; description = "Linux Libertine Fonts";

View File

@ -10950,7 +10950,7 @@ let
liberation_ttf_binary = callPackage ../data/fonts/redhat-liberation-fonts/binary.nix { }; liberation_ttf_binary = callPackage ../data/fonts/redhat-liberation-fonts/binary.nix { };
liberation_ttf = liberation_ttf_binary; liberation_ttf = liberation_ttf_binary;
libertine = builderDefsPackage (callPackage ../data/fonts/libertine) { }; libertine = callPackage ../data/fonts/libertine { };
lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {}; lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {};