blob: 6e3d2627e8e5f7d6fbbf77ee9934fee07386587a (
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
{ stdenv, fetchurl, jre, librxtx_java, makeFontsConf, dejavu_fonts }:
stdenv.mkDerivation rec {
name = "axbo-research-${version}";
version = "2.0.18";
buildInputs = [ jre librxtx_java ];
unpackCmd = let
fontconfigFile = makeFontsConf {
fontDirectories = stdenv.lib.singleton dejavu_fonts;
};
in ''
datalen="$(sed -n 's/^.*totalDataLength=\([0-9]\+\).*$/\1/p' "$src")"
installer_offset="$(sed -n 's/^ *tail *-c *\([0-9]\+\).*$/\1/p' "$src")"
installer_dir="$(mktemp -d)"
mkdir -p "$installer_dir"
tail -c "$installer_offset" "$src" | tar xz -C "$installer_dir"
cat > "$installer_dir/responses" <<EOF
executeLauncherAction$Boolean=false
sys.programGroup.linkDir=/dev/null
sys.component.73$Boolean=true
sys.languageId=en
sys.installationDir=$(pwd)/${name}
sys.programGroup.enabled$Boolean=false
sys.programGroup.allUsers$Boolean=true
sys.programGroup.name=aXbo
EOF
cd "$installer_dir"
export FONTCONFIG_FILE="${fontconfigFile}"
java -client -Dinstall4j.jvmDir="${jre}" \
-Dexe4j.moduleName="$src" \
-Dexe4j.totalDataLength="$datalen" \
-Dinstall4j.cwd="$installer_dir" \
-Djava.ext.dirs="${jre}/lib/ext" \
-Dsun.java2d.noddraw=true \
-classpath i4jruntime.jar:user.jar \
com.install4j.runtime.Launcher launch \
com.install4j.runtime.installer.Installer \
false false "" "" false true false "" true true \
0 0 "" 20 20 Arial 0,0,0 8 500 'version 2.0.18' \
20 40 Arial 0,0,0 8 500 \
-1 -q -varfile "$installer_dir/responses"
cd -
rm -rf "$installer_dir"
'';
installPhase = ''
mkdir -p "$out/lib/java" "$out/libexec" "$out/bin"
for jarfile in lib/*; do
case "''${jarfile##*/}" in
axbo.jar) cp -vt "$out/libexec" "$jarfile";;
RXTXcomm.jar) ;; # ignore
*.jar) cp -vt "$out/lib/java" "$jarfile";;
esac
done
cat > "$out/bin/axbo-research" <<WRAPPER
#!${stdenv.shell}
${jre}/bin/java -Djava.library.path="${librxtx_java}/lib" \
-classpath "${librxtx_java}/lib/java/*:$out/lib/java/*" \
-jar "$out/libexec/axbo.jar"
WRAPPER
chmod +x "$out/bin/axbo-research"
'';
src = fetchurl {
url = let
upstream_version = stdenv.lib.replaceChars ["."] ["_"] version;
in "http://www.axbo.com/webstart/aXbo_unix_${upstream_version}.sh";
sha256 = "1zc3bpqfa5pdpl7masigvv98mi5phl04p80fyd2ink33xbmik70z";
};
}
|