From 62a64992438dbecac3b5044b6a4c411d659d2a48 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Tue, 24 Mar 2015 13:56:36 +0100 Subject: [PATCH] j: re-implement using mkDerivation --- pkgs/development/interpreters/j/default.nix | 84 ++++++--------------- 1 file changed, 25 insertions(+), 59 deletions(-) diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix index 3668fedf0518..4c064a42ebf8 100644 --- a/pkgs/development/interpreters/j/default.nix +++ b/pkgs/development/interpreters/j/default.nix @@ -1,42 +1,16 @@ -x@{builderDefsPackage - , readline - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl, readline }: - 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.mkDerivation rec { + name = "j-${version}"; + version = "701_b"; + src = fetchurl { + url = "http://www.jsoftware.com/download/j${version}_source.tar.gz"; + sha256 = "1gmjlpxcd647x690c4dxnf8h6ays8ndir6cib70h3zfnkrc34cys"; }; + buildInputs = [ readline ]; + bits = if stdenv.is64bit then "64" else "32"; - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doUnpack" "doBuildJ" "doDeploy"]; - - bits = if a.stdenv.is64bit then - "64" - else if a.stdenv.isi686 then - "32" - else - builtins.trace "assuming ${a.stdenv.system} is 32 bits" "32"; - - doBuildJ = a.fullDepEntry '' + buildPhase = '' sed -i bin/jconfig -e ' s@bits=32@bits=${bits}@g; s@readline=0@readline=1@; @@ -51,36 +25,28 @@ rec { 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 = { - description = "J programming language, an ASCII-based APL successor"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - unix; - license = a.lib.licenses.gpl3Plus; - }; - passthru = { - updateInfo = { - downloadPage = "http://jsoftware.com/source.htm"; - }; - }; -}) x + ''; + meta = with stdenv.lib; { + description = "J programming language, an ASCII-based APL successor"; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.unix; + license = licenses.gpl3Plus; + homepage = http://jsoftware.com/; + }; +}