summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorrnhmjoj <rnhmjoj@inventati.org>2020-08-30 15:32:39 +0200
committerrnhmjoj <rnhmjoj@inventati.org>2020-09-27 11:29:05 +0200
commit8cadf94a4d3c521be5bda588ffcdb0b925395389 (patch)
treea7a870dc44871ab5e1b38a4c5fbef199d72e55f0 /pkgs/servers
parentadfe1d8d8d2c203c2718d03db60d71494d99defd (diff)
downloadnixpkgs-8cadf94a4d3c521be5bda588ffcdb0b925395389.tar
nixpkgs-8cadf94a4d3c521be5bda588ffcdb0b925395389.tar.gz
nixpkgs-8cadf94a4d3c521be5bda588ffcdb0b925395389.tar.bz2
nixpkgs-8cadf94a4d3c521be5bda588ffcdb0b925395389.tar.lz
nixpkgs-8cadf94a4d3c521be5bda588ffcdb0b925395389.tar.xz
nixpkgs-8cadf94a4d3c521be5bda588ffcdb0b925395389.tar.zst
nixpkgs-8cadf94a4d3c521be5bda588ffcdb0b925395389.zip
xorg.fontbitstreamtype1: generate .otf fonts
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix23
1 files changed, 22 insertions, 1 deletions
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 092764a3d9d..a822ad989ac 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -1,7 +1,7 @@
 { abiCompat ? null,
   stdenv, makeWrapper, fetchurl, fetchpatch, fetchFromGitLab, buildPackages,
   automake, autoconf, gettext, libiconv, libtool, intltool,
-  freetype, tradcpp, fontconfig, meson, ninja, ed,
+  freetype, tradcpp, fontconfig, meson, ninja, ed, fontforge,
   libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
   mesa, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
   mcpp, epoxy, openssl, pkgconfig, llvm_6, python3,
@@ -848,4 +848,25 @@ self: super:
         --set XAPPLRESDIR ${placeholder "out"}/share/X11/app-defaults
     '';
   });
+
+  # convert Type1 vector fonts to OpenType fonts
+  fontbitstreamtype1 = super.fontbitstreamtype1.overrideAttrs (attrs: {
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [ fontforge ];
+
+    postBuild = ''
+      # convert Postscript (Type 1) font to otf
+      for i in $(find -type f -name '*.pfa' -o -name '*.pfb'); do
+          name=$(basename $i | cut -d. -f1)
+          fontforge -lang=ff -c "Open(\"$i\"); Generate(\"$name.otf\")"
+      done
+    '';
+
+    postInstall = ''
+      # install the otf fonts
+      fontDir="$out/lib/X11/fonts/misc/"
+      install -D -m 644 -t "$fontDir" *.otf
+      mkfontscale "$fontDir"
+    '';
+  });
+
 }