diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/axbo/default.nix | 98 | ||||
-rw-r--r-- | pkgs/librxtx-java/default.nix | 4 |
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" ''; } |