blob: 3277d0145f94f70ba7f8a9746e8c503b7244e97a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
args :
let
lib = args.lib;
fetchurl = args.fetchurl;
fullDepEntry = args.fullDepEntry;
doPatchShebangs = args.doPatchShebangs;
version = lib.attrByPath ["version"] "2008.03.30" args;
buildInputs = with args; [
zlib sqlite gmp libffi cairo ncurses freetype mesa
libpng libtiff libjpeg readline libsndfile libxml2
freeglut e2fsprogs libsamplerate pcre libevent libedit
];
in
rec {
src = /* Here a fetchurl expression goes */
fetchurl {
url = "http://github.com/stevedekorte/io/tarball/${version}";
name = "io-${version}.tar.gz";
sha256 = "0mn7vm2q1r5l3la5k4hdx5cqrp3nhpw01ywnx43k9gfxkdbajn9g";
};
inherit buildInputs;
configureFlags = [];
makeFlags = ["INSTALL_PREFIX=$out"];
/* doConfigure should be specified separately */
phaseNames = ["preBuild" "doMakeInstall" "postInstall" (doPatchShebangs "$out/share/io/samples")
(doPatchShebangs "$out/lib/io")];
preBuild = fullDepEntry (''
for i in $pkgs ${
if args.stdenv ? glibc then args.stdenv.glibc else ""
} ${
if args ? libffi && args.libffi != null then "$(echo ${args.libffi}/lib/*/include/..)" else ""
}; do
echo "Path: $i"
sed -i build/AddonBuilder.io -e '/"\/sw"/asearchPrefixes append("'"$i"'"); '
sed -i addons/Flux/io/Flux.io -e 's@/usr/local/@'"$out/"'@g'
done
'') ["minInit" "addInputs" "doUnpack"];
postInstall = fullDepEntry (''
ensureDir $out/share/io
ln -s $out/lib/io/addons $out/share/io
cp -r samples $out/share/io
'') ["minInit" "doUnpack" "defEnsureDir" "doMakeInstall"];
name = "io-" + version;
meta = {
description = "Io programming language";
};
}
|