1{
2 lib,
3 stdenv,
4 fetchurl,
5 libfaketime,
6 xorg,
7}:
8
9stdenv.mkDerivation rec {
10 pname = "efont-unicode";
11 version = "0.4.2";
12
13 src = fetchurl {
14 url = "http://openlab.ring.gr.jp/efont/dist/unicode-bdf/${pname}-bdf-${version}.tar.bz2";
15 sha256 = "sha256-fT7SsYlV3dCQrf0IZfiNI1grj3ngDgr8IkWdg+f9m3M=";
16 };
17
18 nativeBuildInputs = with xorg; [
19 libfaketime
20 bdftopcf
21 fonttosfnt
22 mkfontscale
23 ];
24
25 buildPhase = ''
26 runHook preBuild
27
28 # convert bdf fonts to pcf
29 for f in *.bdf; do
30 bdftopcf -t -o "''${f%.bdf}.pcf" "$f"
31 done
32 gzip -n -9 *.pcf
33
34 # convert bdf fonts to otb
35 for f in *.bdf; do
36 faketime -f "1970-01-01 00:00:01" \
37 fonttosfnt -v -m 2 -o "''${f%.bdf}.otb" "$f"
38 done
39
40 runHook postBuild
41 '';
42
43 installPhase = ''
44 runHook preInstall
45
46 dir=share/fonts/misc
47 install -D -m 644 -t "$out/$dir" *.otb *.pcf.gz
48 install -D -m 644 -t "$bdf/$dir" *.bdf
49 mkfontdir "$out/$dir"
50 mkfontdir "$bdf/$dir"
51
52 runHook postInstall
53 '';
54
55 outputs = [
56 "out"
57 "bdf"
58 ];
59
60 meta = with lib; {
61 description = "/efont/ Unicode bitmap font";
62 homepage = "http://openlab.ring.gr.jp/efont/unicode/";
63 license = licenses.bsd3;
64 platforms = platforms.all;
65 maintainers = [ maintainers.ncfavier ];
66 };
67}