Packaging Asymptote from scratch to get rid of builderDefsPackage
This commit is contained in:
parent
7c12355ee1
commit
f6f3813b65
@ -1,12 +1,8 @@
|
||||
a @ {
|
||||
freeglut,ghostscriptX,imagemagick,fftw,
|
||||
boehmgc,mesa,ncurses,readline,gsl,libsigsegv,
|
||||
python,zlib, perl, texLive, texinfo, xz,
|
||||
|
||||
noDepEntry, fullDepEntry, fetchUrlFromSrcInfo,
|
||||
lib,
|
||||
|
||||
...}:
|
||||
{stdenv, fetchurl
|
||||
, freeglut, ghostscriptX, imagemagick, fftw
|
||||
, boehmgc, mesa, ncurses, readline, gsl, libsigsegv
|
||||
, python, zlib, perl, texLive, texinfo, xz
|
||||
}:
|
||||
let
|
||||
s = # Generated upstream information
|
||||
rec {
|
||||
@ -17,60 +13,37 @@ let
|
||||
url="mirror://sourceforge/project/asymptote/2.32/asymptote-2.32.src.tgz";
|
||||
sha256="19cgn5158p42igjbp8lf6xdbh3yjhlkdm22m5lqrhibp09g06d90";
|
||||
};
|
||||
buildInputs = with a; [
|
||||
freeglut ghostscriptX imagemagick fftw boehmgc
|
||||
mesa ncurses readline gsl libsigsegv python zlib
|
||||
perl texLive texinfo xz
|
||||
buildInputs = [
|
||||
freeglut ghostscriptX imagemagick fftw
|
||||
boehmgc mesa ncurses readline gsl libsigsegv
|
||||
python zlib perl texLive texinfo xz
|
||||
];
|
||||
in
|
||||
rec {
|
||||
src = a.fetchUrlFromSrcInfo s;
|
||||
|
||||
inherit (s) name;
|
||||
stdenv.mkDerivation {
|
||||
inherit (s) name version;
|
||||
inherit buildInputs;
|
||||
configureFlags = "--enable-gc=${a.boehmgc} --enable-offscreen";
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["setVars" "doUnpack" "fixPaths" "extractTexinfoTex"
|
||||
"fixEpsWrite"
|
||||
"doConfigure" "dumpRealVars" "doMakeInstall" "fixPathsResult"
|
||||
"fixInfoDir"];
|
||||
|
||||
setVars = a.noDepEntry ''
|
||||
src = fetchurl {
|
||||
inherit (s) url sha256;
|
||||
};
|
||||
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/
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${boehmgc}/include/gc"
|
||||
'';
|
||||
|
||||
dumpRealVars = a.noDepEntry ''
|
||||
set > ../real-env-vars
|
||||
'';
|
||||
|
||||
fixPaths = a.doPatchShebangs ''.'';
|
||||
fixPathsResult = a.doPatchShebangs ''$out/bin'';
|
||||
|
||||
fixInfoDir = a.noDepEntry ''
|
||||
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
|
||||
'';
|
||||
|
||||
extractTexinfoTex = a.fullDepEntry ''
|
||||
xz -d < ${a.texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
|
||||
cp texinfo-*/doc/texinfo.tex doc/
|
||||
'' ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
fixEpsWrite = a.fullDepEntry ''
|
||||
sed -e 's@epswrite@eps2write@g' -i runlabel.in
|
||||
'' ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
meta = {
|
||||
inherit (s) version;
|
||||
description = "A tool for programming graphics intended to replace Metapost";
|
||||
maintainers = [
|
||||
a.lib.maintainers.raskin
|
||||
a.lib.maintainers.simons
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
linux;
|
||||
description = "A tool for programming graphics intended to replace Metapost";
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = [stdenv.lib.maintainers.raskin stdenv.lib.maintainers.simons];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -523,10 +523,7 @@ let
|
||||
|
||||
ascii = callPackage ../tools/text/ascii { };
|
||||
|
||||
asymptote = builderDefsPackage ../tools/graphics/asymptote {
|
||||
inherit freeglut ghostscriptX imagemagick fftw boehmgc
|
||||
mesa ncurses readline gsl libsigsegv python zlib perl
|
||||
texinfo xz;
|
||||
asymptote = callPackage ../tools/graphics/asymptote {
|
||||
texLive = texLiveAggregationFun {
|
||||
paths = [ texLive texLiveExtra texLiveCMSuper ];
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user