nixpkgs/pkgs/tools/graphics/asymptote/default.nix

72 lines
2 KiB
Nix
Raw Normal View History

a @ {
freeglut,ghostscriptX,imagemagick,fftw,
boehmgc,mesa,ncurses,readline,gsl,libsigsegv,
python,zlib, perl, texLive, texinfo, lzma,
2012-09-20 14:35:30 +02:00
noDepEntry, fullDepEntry, fetchUrlFromSrcInfo,
lib,
...}:
2012-09-20 14:35:30 +02:00
let
2012-12-04 07:33:37 +01:00
s = # Generated upstream information
rec {
baseName="asymptote";
2013-10-12 22:55:14 +02:00
version="2.24";
name="asymptote-2.24";
hash="0iypv3n89h8mx46b0c3msl0ldmg7fxf8v9fl4zy4sxfszazrvivl";
url="mirror://sourceforge/project/asymptote/2.24/asymptote-2.24.src.tgz";
sha256="0iypv3n89h8mx46b0c3msl0ldmg7fxf8v9fl4zy4sxfszazrvivl";
2012-12-04 07:33:37 +01:00
};
buildInputs = with a; [
freeglut ghostscriptX imagemagick fftw boehmgc
mesa ncurses readline gsl libsigsegv python zlib
perl texLive texinfo lzma
];
in
rec {
src = a.fetchUrlFromSrcInfo s;
inherit (s) name;
inherit buildInputs;
configureFlags = "--enable-gc=${a.boehmgc} --enable-offscreen";
/* doConfigure should be removed if not needed */
phaseNames = ["setVars" "doUnpack" "fixPaths" "extractTexinfoTex"
"doConfigure" "dumpRealVars" "doMakeInstall" "fixPathsResult"
"fixInfoDir"];
setVars = a.noDepEntry ''
export HOME="$PWD"
'';
dumpRealVars = a.noDepEntry ''
set > ../real-env-vars
'';
fixPaths = a.doPatchShebangs ''.'';
fixPathsResult = a.doPatchShebangs ''$out/bin'';
fixInfoDir = a.noDepEntry ''
mv -v "$out/share/info/asymptote/"*.info $out/share/info/
sed -i -e 's|(asymptote/asymptote)|(asymptote)|' $out/share/info/asymptote.info
rmdir $out/share/info/asymptote
rm $out/share/info/dir
'';
extractTexinfoTex = a.fullDepEntry ''
lzma -d < ${a.texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
cp texinfo-*/doc/texinfo.tex doc/
'' ["minInit" "addInputs" "doUnpack"];
meta = {
inherit (s) version;
description = "A tool for programming graphics intended to replace Metapost";
maintainers = [
a.lib.maintainers.raskin
2012-09-20 14:35:30 +02:00
a.lib.maintainers.simons
];
2012-09-20 14:35:30 +02:00
platforms = with a.lib.platforms;
linux;
};
}