From f2bff3d088b3c869c1a642e8f226e83c9f3e0972 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 18 Feb 2013 00:00:48 +0100 Subject: [PATCH] gnuplot: configure GDFONTPATH using 'fontconfig' This patch adds a wrapper script around gnuplot that uses fontconfig's fc-list(1) utility to determine the set of available fonts and makes that list available to Gnuplot in the $GDFONTPATH variable. --- pkgs/tools/graphics/gnuplot/default.nix | 19 +++++++++++++++---- .../gnuplot/set-gdfontpath-from-fontconfig.sh | 4 ++++ 2 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 pkgs/tools/graphics/gnuplot/set-gdfontpath-from-fontconfig.sh diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix index 6b1a3610f303..5ef6db7ae47a 100644 --- a/pkgs/tools/graphics/gnuplot/default.nix +++ b/pkgs/tools/graphics/gnuplot/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, gd, texinfo +{ stdenv, fetchurl, zlib, gd, texinfo, makeWrapper , texLive ? null , lua ? null , emacs ? null @@ -11,8 +11,11 @@ , cairo ? null , pkgconfig ? null , readline +, fontconfig ? null, gnused ? null, coreutils ? null }: +assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null); + stdenv.mkDerivation rec { name = "gnuplot-4.4.4"; @@ -21,13 +24,21 @@ stdenv.mkDerivation rec { sha256 = "1zfv3npsxfn743wl65ibh11djxrc8fxzi2mgg75ppy6m12fmja6j"; }; - configureFlags = if libX11 != null then ["--with-x"] else ["--without-x"]; - buildInputs = [ zlib gd texinfo readline emacs lua texLive libX11 libXt libXpm libXaw - wxGTK pango cairo pkgconfig + wxGTK pango cairo pkgconfig makeWrapper ]; + configureFlags = if libX11 != null then ["--with-x"] else ["--without-x"]; + + postInstall = stdenv.lib.optionalString (libX11 != null) '' + wrapProgram $out/bin/gnuplot \ + --prefix PATH : '${gnused}/bin' \ + --prefix PATH : '${coreutils}/bin' \ + --prefix PATH : '${fontconfig}/bin' \ + --run '. ${./set-gdfontpath-from-fontconfig.sh}' + ''; + meta = { homepage = "http://www.gnuplot.info"; description = "A portable command-line driven graphing utility for many platforms"; diff --git a/pkgs/tools/graphics/gnuplot/set-gdfontpath-from-fontconfig.sh b/pkgs/tools/graphics/gnuplot/set-gdfontpath-from-fontconfig.sh new file mode 100644 index 000000000000..4886b4f2b7c0 --- /dev/null +++ b/pkgs/tools/graphics/gnuplot/set-gdfontpath-from-fontconfig.sh @@ -0,0 +1,4 @@ +p=( $(for n in $(fc-list | sed -r -e 's|^([^:]+):.*$|\1|'); do echo $(dirname "$n"); done | sort | uniq) ) +IFS=: +export GDFONTPATH="${GDFONTPATH}${GDFONTPATH:+:}${p[*]}" +unset IFS p