about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/axbo/default.nix98
-rw-r--r--pkgs/librxtx-java/default.nix4
2 files changed, 37 insertions, 65 deletions
diff --git a/pkgs/axbo/default.nix b/pkgs/axbo/default.nix
index d83e891d..93f8ffad 100644
--- a/pkgs/axbo/default.nix
+++ b/pkgs/axbo/default.nix
@@ -1,77 +1,49 @@
-{ stdenv, fetchurl, oraclejre, librxtx_java, makeFontsConf, dejavu_fonts }:
+{ stdenv, fetchurl, fetchFromGitHub, jdk, jre, ant, makeWrapper
+, commonsLogging, librxtx_java
+}:
 
 stdenv.mkDerivation rec {
   name = "axbo-research-${version}";
-  version = "2.0.18";
+  version = "3.0.12";
 
-  src = fetchurl {
-    url = let
-      urlversion = stdenv.lib.replaceChars ["."] ["_"] version;
-    in "https://www.dropbox.com/s/shy0yqcyivonobi/aXbo_unix_${urlversion}.sh";
-    sha256 = "1zc3bpqfa5pdpl7masigvv98mi5phl04p80fyd2ink33xbmik70z";
+  src = fetchFromGitHub {
+    owner = "jansolo";
+    repo = "aXbo-research";
+    rev = "aXbo-research_${version}";
+    sha256 = "0p2my5bczmwnrs3c0l9wyq3gsc5vydw0nh9n8jkdp9vm77z0kgvd";
   };
 
-  buildInputs = [ oraclejre librxtx_java ];
+  sourceRoot = "${src.name}/aXbo-research";
 
-  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"
+  buildInputs = [ jdk ant makeWrapper ];
 
-    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="${oraclejre}" \
-                 -Dexe4j.moduleName="$src" \
-                 -Dexe4j.totalDataLength="$datalen" \
-                 -Dinstall4j.cwd="$installer_dir" \
-                 -Djava.ext.dirs="${oraclejre}/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"
+  buildPhase = ''
+    ant -Dplatforms.JDK_1.7.home="$JAVA_HOME" jar
   '';
 
-  installPhase = ''
-    mkdir -p "$out/libexec/lib" "$out/bin"
-    for jarfile in lib/*; do
-      case "''${jarfile##*/}" in
-        axbo.jar) cp -vt "$out/libexec" "$jarfile";;
-        RXTXcomm.jar) ln -s "${librxtx_java}/lib/java/RXTXcomm.jar" \
-                            "$out/libexec/lib";;
-        *.jar) cp -vt "$out/libexec/lib" "$jarfile";;
-      esac
+  extraJars = [
+    "commons-beanutils-1.8.3"
+    "commons-digester3-3.2"
+    "jcommon-1.0.20"
+    "jfreechart-1.0.16"
+    "swingx-all-1.6.4"
+  ];
+
+  installPhase = with stdenv.lib; let
+    classpath = makeSearchPath "share/java/\\*" [
+      "$out"
+      commonsLogging
+      librxtx_java
+    ];
+  in ''
+    for dep in $extraJars; do
+      install -vD -m 644 "lib/$dep.jar" "$out/share/java/$dep.jar"
     done
+    install -vD -m 644 dist/axbo.jar "$out/share/java/axbo.jar"
 
-    cat > "$out/bin/axbo-research" <<WRAPPER
-    #!${stdenv.shell}
-    ${oraclejre}/bin/java -Djava.library.path="${librxtx_java}/lib" \
-      -classpath "${librxtx_java}/lib/java/RXTXcomm.jar" \
-      -jar "$out/libexec/axbo.jar"
-    WRAPPER
-    chmod +x "$out/bin/axbo-research"
+    mkdir -p "$out/bin"
+    makeWrapper "${jre}/bin/java" "$out/bin/axbo-research" \
+      --add-flags "-Djava.library.path='${librxtx_java}/lib'" \
+      --add-flags "-cp ${classpath} com.dreikraft.axbo.Axbo"
   '';
 }
diff --git a/pkgs/librxtx-java/default.nix b/pkgs/librxtx-java/default.nix
index 861dc43b..14b0a9da 100644
--- a/pkgs/librxtx-java/default.nix
+++ b/pkgs/librxtx-java/default.nix
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--enable-liblock" ];
 
   makeFlags = [
-    "JHOME=$(out)/lib/java"
+    "JHOME=$(out)/share/java"
     "RXTX_PATH=$(out)/lib"
   ];
 
   preInstall = ''
-    mkdir -p "$out/lib/java"
+    mkdir -p "$out/lib" "$out/share/java"
   '';
 }