nixpkgs/pkgs/applications/science/math/yacas/default.nix
Franz Pletz aff1f4ab94 Use general hardening flag toggle lists
The following parameters are now available:

  * hardeningDisable
    To disable specific hardening flags
  * hardeningEnable
    To enable specific hardening flags

Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.

cc-wrapper supports the following flags:

  * fortify
  * stackprotector
  * pie (disabled by default)
  * pic
  * strictoverflow
  * format
  * relro
  * bindnow
2016-03-05 18:55:26 +01:00

45 lines
1.1 KiB
Nix

{stdenv, fetchurl, perl}:
stdenv.mkDerivation rec {
name = "yacas-1.2.2";
src = fetchurl {
url = "http://yacas.sourceforge.net/backups/${name}.tar.gz";
sha256 = "1dmafm3w0lm5w211nwkfzaid1rvvmgskz7k4500pjhgdczi5sd78";
};
hardeningDisable = [ "format" ];
# Perl is only for the documentation
nativeBuildInputs = [ perl ];
patches = [ ./gcc43.patch ];
crossAttrs = {
# Trick to get host-built programs needed for the cross-build.
# If yacas had proper makefiles, this would not be needed.
preConfigure = ''
./configure
pushd src
make mkfastprimes
cp mkfastprimes ../..
popd
pushd manmake
make manripper removeduplicates
cp manripper removeduplicates ../..
popd
'';
preBuild = ''
cp ../mkfastprimes ../manripper ../removeduplicates src
'';
};
meta = {
description = "Easy to use, general purpose Computer Algebra System";
homepage = http://yacas.sourceforge.net/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; all;
};
}