78 lines
2.5 KiB
Nix
78 lines
2.5 KiB
Nix
{stdenv, fetchurl, fetchpatch
|
|
, freeglut, ghostscriptX, imagemagick, fftw
|
|
, boehmgc, libGLU, libGL, mesa_noglu, ncurses, readline, gsl, libsigsegv
|
|
, python, zlib, perl, texLive, texinfo, xz
|
|
, darwin
|
|
}:
|
|
|
|
let
|
|
s = # Generated upstream information
|
|
rec {
|
|
baseName="asymptote";
|
|
version="2.47";
|
|
name="${baseName}-${version}";
|
|
hash="0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971";
|
|
url="https://freefr.dl.sourceforge.net/project/asymptote/2.47/asymptote-2.47.src.tgz";
|
|
sha256="0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971";
|
|
};
|
|
buildInputs = [
|
|
ghostscriptX imagemagick fftw
|
|
boehmgc ncurses readline gsl libsigsegv
|
|
python zlib perl texLive texinfo xz ]
|
|
++ stdenv.lib.optionals stdenv.isLinux
|
|
[ freeglut libGLU libGL mesa_noglu.osmesa ]
|
|
++ stdenv.lib.optionals stdenv.isDarwin
|
|
(with darwin.apple_sdk.frameworks; [ OpenGL GLUT Cocoa ])
|
|
;
|
|
in
|
|
stdenv.mkDerivation {
|
|
inherit (s) name version;
|
|
inherit buildInputs;
|
|
|
|
src = fetchurl {
|
|
inherit (s) url sha256;
|
|
};
|
|
|
|
patches = [
|
|
# Remove when updating from 2.47 to 2.48
|
|
# Compatibility with BoehmGC 7.6.8
|
|
(fetchpatch {
|
|
url = "https://github.com/vectorgraphics/asymptote/commit/38a59370dc5ac720c29e1424614a10f7384b943f.patch";
|
|
sha256 = "0c3d11hzxxaqh24kfw9y8zvlid54kk40rx2zajx7jwl12gga05s1";
|
|
})
|
|
];
|
|
|
|
preConfigure = ''
|
|
export HOME="$PWD"
|
|
patchShebangs .
|
|
sed -e 's@epswrite@eps2write@g' -i runlabel.in
|
|
xz -d < ${texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
|
|
cp texinfo-*/doc/texinfo.tex doc/
|
|
rm *.tar.gz
|
|
configureFlags="$configureFlags --with-latex=$out/share/texmf/tex/latex --with-context=$out/share/texmf/tex/context/third"
|
|
'';
|
|
|
|
NIX_CFLAGS_COMPILE = [ "-I${boehmgc.dev}/include/gc" ];
|
|
|
|
postInstall = ''
|
|
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
|
|
|
|
rm -rfv "$out"/share/texmf
|
|
mkdir -pv "$out"/share/emacs/site-lisp/${s.name}
|
|
mv -v "$out"/share/asymptote/*.el "$out"/share/emacs/site-lisp/${s.name}
|
|
'';
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = with stdenv.lib; {
|
|
inherit (s) version;
|
|
description = "A tool for programming graphics intended to replace Metapost";
|
|
license = licenses.gpl3Plus;
|
|
maintainers = [ maintainers.raskin maintainers.peti ];
|
|
broken = stdenv.isDarwin; # https://github.com/vectorgraphics/asymptote/issues/69
|
|
platforms = platforms.linux ++ platforms.darwin;
|
|
};
|
|
}
|