jameica: get rid of launcher script, only use makeWrapper
This also switches using java paths suggested by docs instead of $out/share/libexec
This commit is contained in:
parent
c03d0b52ac
commit
30f0011bb2
@ -11,11 +11,6 @@ let
|
|||||||
else if stdenv.system == "x86_64-darwin" then "macos64"
|
else if stdenv.system == "x86_64-darwin" then "macos64"
|
||||||
else throw "Unsupported system: ${stdenv.system}";
|
else throw "Unsupported system: ${stdenv.system}";
|
||||||
|
|
||||||
launcher = ''
|
|
||||||
#!${stdenv.shell}
|
|
||||||
exec ${jre}/bin/java -Xmx512m ${ stdenv.lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''} de.willuhn.jameica.Main "$@"
|
|
||||||
'';
|
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "jameica";
|
name = "jameica";
|
||||||
exec = "jameica";
|
exec = "jameica";
|
||||||
@ -56,24 +51,24 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/libexec $out/lib $out/bin $out/share/applications
|
mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,${name},java}/
|
||||||
|
|
||||||
# copy libraries except SWT
|
# copy libraries except SWT
|
||||||
cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/lib/
|
cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/${name}/
|
||||||
# copy platform-specific SWT
|
# copy platform-specific SWT
|
||||||
cp lib/swt/${swtSystem}/swt.jar $out/lib
|
cp lib/swt/${swtSystem}/swt.jar $out/share/${name}/
|
||||||
|
|
||||||
install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/libexec/
|
install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/
|
||||||
install -Dm644 plugin.xml $out/libexec/
|
install -Dm644 plugin.xml $out/share/java/
|
||||||
install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png
|
install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png
|
||||||
cp ${desktopItem}/share/applications/* $out/share/applications/
|
cp ${desktopItem}/share/applications/* $out/share/applications/
|
||||||
|
|
||||||
echo "${launcher}" > $out/bin/jameica
|
makeWrapper ${jre}/bin/java $out/bin/jameica \
|
||||||
chmod +x $out/bin/jameica
|
--add-flags "-cp $out/share/java/jameica.jar:$out/share/${name}/* ${
|
||||||
wrapProgram $out/bin/jameica --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath buildInputs} \
|
stdenv.lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''
|
||||||
--set CLASSPATH "$out/libexec/jameica.jar:$out/lib/*" \
|
} de.willuhn.jameica.Main" \
|
||||||
--run "cd $out/libexec"
|
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath buildInputs} \
|
||||||
# jameica expects its working dir set to the "program directory"
|
--run "cd $out/share/java/"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
Loading…
Reference in New Issue
Block a user