summary refs log tree commit diff
path: root/pkgs/tools/graphics
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2021-06-30 05:03:07 +0200
committerJan Tojnar <jtojnar@gmail.com>2021-06-30 05:55:57 +0200
commitb236fe3d52d86143446e215bdf92121ee119a7f1 (patch)
treea63a607655e2e2db966d83e19c0143207e054f26 /pkgs/tools/graphics
parentfbc4b41e692f04511f063d1ec2b438c4d47775eb (diff)
downloadnixpkgs-b236fe3d52d86143446e215bdf92121ee119a7f1.tar
nixpkgs-b236fe3d52d86143446e215bdf92121ee119a7f1.tar.gz
nixpkgs-b236fe3d52d86143446e215bdf92121ee119a7f1.tar.bz2
nixpkgs-b236fe3d52d86143446e215bdf92121ee119a7f1.tar.lz
nixpkgs-b236fe3d52d86143446e215bdf92121ee119a7f1.tar.xz
nixpkgs-b236fe3d52d86143446e215bdf92121ee119a7f1.tar.zst
nixpkgs-b236fe3d52d86143446e215bdf92121ee119a7f1.zip
ploticus: Use gd from Nixpkgs instead of the vendored one
The gd version shipped with ploticus only contains a single font
that does not support anything but ASCII.

In order for the package to be able to render Unicode texts,
we need freetype support:

http://ploticus.sourceforge.net/doc/fonts.html
Diffstat (limited to 'pkgs/tools/graphics')
-rw-r--r--pkgs/tools/graphics/ploticus/default.nix9
-rw-r--r--pkgs/tools/graphics/ploticus/use-gd-package.patch34
2 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/ploticus/default.nix b/pkgs/tools/graphics/ploticus/default.nix
index 6b1b50bca02..50b7aad48a0 100644
--- a/pkgs/tools/graphics/ploticus/default.nix
+++ b/pkgs/tools/graphics/ploticus/default.nix
@@ -4,6 +4,8 @@
 , zlib
 , libX11
 , libpng
+, gd
+, freetype
 }:
 
 stdenv.mkDerivation rec {
@@ -21,12 +23,19 @@ stdenv.mkDerivation rec {
 
     # Set the location of the PREFABS directory.
     ./set-prefabs-dir.patch
+
+    # Use gd from Nixpkgs instead of the vendored one.
+    # This is required for non-ASCII fonts to work:
+    # http://ploticus.sourceforge.net/doc/fonts.html
+    ./use-gd-package.patch
   ];
 
   buildInputs = [
     zlib
     libX11
     libpng
+    gd
+    freetype
   ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/graphics/ploticus/use-gd-package.patch b/pkgs/tools/graphics/ploticus/use-gd-package.patch
new file mode 100644
index 00000000000..9a72489ddaa
--- /dev/null
+++ b/pkgs/tools/graphics/ploticus/use-gd-package.patch
@@ -0,0 +1,34 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -91,10 +91,10 @@
+ 
+ 
+ ########### Option 1: use bundled GD16 (PNG only).  Requires libpng and zlib.
+-exetarget: plpng 
+-GD16LIBS = -lpng -lz
+-GD16H =  -I/usr/local/include
+-ZFLAG = -DWZ
++# exetarget: plpng 
++# GD16LIBS = -lpng -lz
++# GD16H =  -I/usr/local/include
++# ZFLAG = -DWZ
+ ### These should remain commented unless your libs are not in usual places, then alter to suit...
+ ### GD16LIBS = /home/scg/lib/libpng.a /home/scg/lib/libz.a
+ ### GD16H = -I/home/scg/lib
+@@ -111,11 +111,11 @@
+ 
+ ########### Option 4: use your own GD resource with FreeType2 (ttf) fonts enabled.  
+ ###########           Requires GD 1.84+, libpng, zlib, libjpeg and libfreetype
+-# exetarget: plgd18 
+-# GD18LIBS = -lgd -lpng -lz -ljpeg -lfreetype
+-# GD18H = 
+-# GDFREETYPE = -DGDFREETYPE
+-# ZFLAG = -DWZ
++exetarget: plgd18 
++GD18LIBS = -lgd -lpng -lz -ljpeg -lfreetype
++GD18H = 
++GDFREETYPE = -DGDFREETYPE
++ZFLAG = -DWZ
+ 
+ ########### Option 5: don't use GD at all.
+ # exetarget: plnogd