2018-10-08 19:37:27 +01:00
|
|
|
{stdenv, fetchurl, fetchpatch
|
2018-09-12 21:39:38 +01:00
|
|
|
, freeglut, ghostscriptX, imagemagick, fftw
|
2019-05-28 20:09:34 +01:00
|
|
|
, boehmgc, libGLU, libGL, mesa, ncurses, readline, gsl, libsigsegv
|
2015-02-09 21:27:51 +00:00
|
|
|
, python, zlib, perl, texLive, texinfo, xz
|
2017-02-06 19:05:55 +00:00
|
|
|
, darwin
|
2015-02-09 21:27:51 +00:00
|
|
|
}:
|
2016-02-05 18:09:01 +00:00
|
|
|
|
2012-09-20 13:35:30 +01:00
|
|
|
let
|
2012-12-04 06:33:37 +00:00
|
|
|
s = # Generated upstream information
|
|
|
|
rec {
|
|
|
|
baseName="asymptote";
|
2018-08-17 16:17:56 +01:00
|
|
|
version="2.47";
|
2014-05-27 22:33:15 +01:00
|
|
|
name="${baseName}-${version}";
|
2018-08-17 16:17:56 +01:00
|
|
|
hash="0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971";
|
|
|
|
url="https://freefr.dl.sourceforge.net/project/asymptote/2.47/asymptote-2.47.src.tgz";
|
|
|
|
sha256="0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971";
|
2012-12-04 06:33:37 +00:00
|
|
|
};
|
2015-02-09 21:27:51 +00:00
|
|
|
buildInputs = [
|
2016-10-02 21:55:56 +01:00
|
|
|
ghostscriptX imagemagick fftw
|
|
|
|
boehmgc ncurses readline gsl libsigsegv
|
|
|
|
python zlib perl texLive texinfo xz ]
|
|
|
|
++ stdenv.lib.optionals stdenv.isLinux
|
2019-05-28 20:09:34 +01:00
|
|
|
[ freeglut libGLU libGL mesa.osmesa ]
|
2017-02-06 19:05:55 +00:00
|
|
|
++ stdenv.lib.optionals stdenv.isDarwin
|
|
|
|
(with darwin.apple_sdk.frameworks; [ OpenGL GLUT Cocoa ])
|
2016-10-02 21:55:56 +01:00
|
|
|
;
|
2010-02-21 17:36:41 +00:00
|
|
|
in
|
2015-02-09 21:27:51 +00:00
|
|
|
stdenv.mkDerivation {
|
|
|
|
inherit (s) name version;
|
2010-02-21 17:36:41 +00:00
|
|
|
inherit buildInputs;
|
2016-02-02 13:53:49 +00:00
|
|
|
|
2015-02-09 21:27:51 +00:00
|
|
|
src = fetchurl {
|
|
|
|
inherit (s) url sha256;
|
|
|
|
};
|
2016-02-02 13:53:49 +00:00
|
|
|
|
2018-10-08 19:37:27 +01:00
|
|
|
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";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2015-02-09 21:27:51 +00:00
|
|
|
preConfigure = ''
|
2010-02-21 17:36:41 +00:00
|
|
|
export HOME="$PWD"
|
2018-09-12 21:39:38 +01:00
|
|
|
patchShebangs .
|
2015-02-09 21:27:51 +00:00
|
|
|
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/
|
2016-02-02 14:18:41 +00:00
|
|
|
rm *.tar.gz
|
|
|
|
configureFlags="$configureFlags --with-latex=$out/share/texmf/tex/latex --with-context=$out/share/texmf/tex/context/third"
|
2010-02-21 17:36:41 +00:00
|
|
|
'';
|
2016-02-02 13:53:49 +00:00
|
|
|
|
2016-04-16 17:45:49 +01:00
|
|
|
NIX_CFLAGS_COMPILE = [ "-I${boehmgc.dev}/include/gc" ];
|
2016-02-02 14:18:41 +00:00
|
|
|
|
2015-02-09 21:27:51 +00:00
|
|
|
postInstall = ''
|
2011-12-24 18:03:51 +00:00
|
|
|
mv -v "$out/share/info/asymptote/"*.info $out/share/info/
|
2011-12-24 18:28:23 +00:00
|
|
|
sed -i -e 's|(asymptote/asymptote)|(asymptote)|' $out/share/info/asymptote.info
|
2011-12-24 18:03:51 +00:00
|
|
|
rmdir $out/share/info/asymptote
|
|
|
|
rm $out/share/info/dir
|
2017-09-23 18:25:56 +01:00
|
|
|
|
2018-04-30 03:46:16 +01:00
|
|
|
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}
|
2011-12-24 18:03:51 +00:00
|
|
|
'';
|
2016-02-02 13:53:49 +00:00
|
|
|
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2016-10-02 21:55:56 +01:00
|
|
|
meta = with stdenv.lib; {
|
2012-12-08 09:05:43 +00:00
|
|
|
inherit (s) version;
|
2015-02-09 21:27:51 +00:00
|
|
|
description = "A tool for programming graphics intended to replace Metapost";
|
2016-10-02 21:55:56 +01:00
|
|
|
license = licenses.gpl3Plus;
|
|
|
|
maintainers = [ maintainers.raskin maintainers.peti ];
|
2018-09-12 21:39:38 +01:00
|
|
|
broken = stdenv.isDarwin; # https://github.com/vectorgraphics/asymptote/issues/69
|
2016-10-02 21:55:56 +01:00
|
|
|
platforms = platforms.linux ++ platforms.darwin;
|
2010-02-21 17:36:41 +00:00
|
|
|
};
|
|
|
|
}
|