nixpkgs/pkgs/applications/science/math/gap/default.nix
Michael Raskin 6bc87a1ac8 Add packages to GAP
svn path=/nixpkgs/trunk/; revision=33601
2012-04-05 04:46:11 +00:00

68 lines
1.8 KiB
Nix

x@{builderDefsPackage
, pari ? null
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="gap";
version="4r4p12";
name="${baseName}-${version}";
url="ftp://ftp.gap-system.org/pub/gap/gap4/tar.gz/${baseName}${version}.tar.gz";
hash="0flap5lbkvpms3zznq1zwxyxyj0ax3fk7m24f3bvhvr37vyxnf40";
pkgVer="2012_01_12-10_47_UTC";
pkgURL="ftp://ftp.gap-system.org/pub/gap/gap4/tar.bz2/packages-${pkgVer}.tar.bz2";
pkgHash="0z9ncy1m5gvv4llkclxd1vpcgpb0b81a2pfmnhzvw8x708frhmnb";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
};
pkgSrc = a.fetchurl {
url=sourceInfo.pkgURL;
sha256=sourceInfo.pkgHash;
};
inherit (sourceInfo) name version;
inherit buildInputs;
/* doConfigure should be removed if not needed */
phaseNames = ["doConfigure" "doMake" "doDeploy"];
doDeploy = a.fullDepEntry ''
ensureDir "$out/bin" "$out/share/gap/"
cp -r . "$out/share/gap/build-dir"
tar xf "${pkgSrc}" -C "$out/share/gap/build-dir/pkg"
${if a.pari != null then
''sed -e '2iexport PATH=$PATH:${pari}/bin' -i "$out/share/gap/build-dir/bin/gap.sh" ''
else ""}
sed -e "/GAP_DIR=/aGAP_DIR='$out/share/gap/build-dir/'" -i "$out/share/gap/build-dir/bin/gap.sh"
ln -s "$out/share/gap/build-dir/bin/gap.sh" "$out/bin"
'' ["doMake" "minInit" "defEnsureDir"];
meta = {
description = "Computational discrete algebra system";
maintainers = with a.lib.maintainers;
[
raskin
];
platforms = with a.lib.platforms;
linux;
license = "GPLv2";
homepage = "http://gap-system.org/";
};
}) x