diff options
Diffstat (limited to 'pkgs/development/interpreters/j/default.nix')
-rw-r--r-- | pkgs/development/interpreters/j/default.nix | 101 |
1 files changed, 36 insertions, 65 deletions
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix index d4a1ab85b13..4c064a42ebf 100644 --- a/pkgs/development/interpreters/j/default.nix +++ b/pkgs/development/interpreters/j/default.nix @@ -1,81 +1,52 @@ -x@{builderDefsPackage - , readline - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; - - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="j"; - version="701_b"; - name="${baseName}-${version}"; - url="http://www.jsoftware.com/download/${baseName}${version}_source.tar.gz"; - hash="1gmjlpxcd647x690c4dxnf8h6ays8ndir6cib70h3zfnkrc34cys"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +{ stdenv, fetchurl, readline }: + +stdenv.mkDerivation rec { + name = "j-${version}"; + version = "701_b"; + src = fetchurl { + url = "http://www.jsoftware.com/download/j${version}_source.tar.gz"; + sha256 = "1gmjlpxcd647x690c4dxnf8h6ays8ndir6cib70h3zfnkrc34cys"; }; - - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doUnpack" "doBuildJ" "doDeploy"]; - - bits = if a.stdenv.system == "i686-linux" then - "32" - else if a.stdenv.system == "x86_64-linux" then - "64" - else - throw "Oops, unknown system: ${a.stdenv.system}"; - - doBuildJ = a.fullDepEntry '' - sed -i bin/jconfig -e 's@bits=32@bits=${bits}@g; s@readline=0@readline=1@; s@LIBREADLINE=""@LIBREADLINE=" -lreadline "@' + buildInputs = [ readline ]; + bits = if stdenv.is64bit then "64" else "32"; + + buildPhase = '' + sed -i bin/jconfig -e ' + s@bits=32@bits=${bits}@g; + s@readline=0@readline=1@; + s@LIBREADLINE=""@LIBREADLINE=" -lreadline "@; + s@-W1,soname,libj.so@-Wl,-soname,libj.so@ + ' sed -i bin/build_libj -e 's@>& make.txt@ 2>\&1 | tee make.txt@' touch *.c *.h - sh bin/build_jconsole - sh bin/build_libj - sh bin/build_defs - sh bin/build_tsdll + sh -o errexit bin/build_jconsole + sh -o errexit bin/build_libj + sh -o errexit bin/build_defs + sh -o errexit bin/build_tsdll - sed -i j/bin/profile.ijs -e "s@userx=[.] *'.j'@userx=. '/.j'@; + sed -i j/bin/profile.ijs -e " + s@userx=[.] *'.j'@userx=. '/.j'@; s@bin,'/profilex.ijs'@user,'/profilex.ijs'@ ; /install=./ainstall=. install,'/share/j' - " - '' ["doUnpack" "addInputs" "minInit"]; + " + ''; - doDeploy = a.fullDepEntry '' + installPhase = '' mkdir -p "$out" cp -r j/bin "$out/bin" rm "$out/bin/profilex_template.ijs" - + mkdir -p "$out/share/j" cp -r docs j/addons j/system "$out/share/j" - '' ["doUnpack" "doBuildJ" "minInit" "defEnsureDir"]; - - meta = { + ''; + + meta = with stdenv.lib; { description = "J programming language, an ASCII-based APL successor"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.gpl3Plus; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.unix; + license = licenses.gpl3Plus; + homepage = http://jsoftware.com/; }; - passthru = { - updateInfo = { - downloadPage = "http://jsoftware.com/source.htm"; - }; - }; -}) x - +} |