libreoffice: fix Exec= in .desktop files
Before we do substitutions, the Exec= line is (currently) "Exec=libreofficedev4.3 --some-arg". Our substitution logic doesn't handle that, resulting in broken "Exec=$out/bin/sofficedev4.3 --some-arg" ($out/bin/sofficedev4.3 doesn't exist). Looking at libreoffice source, the .desktop files refer to a UNIXBASISROOTNAME variable which come from instsetoo_native/util/openoffice.lst.in. Currently, it can have one of two values, presumably depending on whether the build is "normal" or "development": libreoffice${major}.${minor} libreofficedev${major}.${minor} Handle both these cases, and also leave the old non-versioned substitution around, just in case. Fixes issue #3463.
This commit is contained in:
parent
6221af50c4
commit
64661f0597
1 changed files with 2 additions and 1 deletions
|
@ -176,7 +176,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
ln -s $out/lib/libreoffice/share/xdg $out/share/applications
|
||||
for f in $out/share/applications/*.desktop; do
|
||||
substituteInPlace "$f" --replace "Exec=libreoffice4.0" "Exec=$out/bin/soffice"
|
||||
substituteInPlace "$f" --replace "Exec=libreofficedev${major}.${minor}" "Exec=$out/bin/soffice"
|
||||
substituteInPlace "$f" --replace "Exec=libreoffice${major}.${minor}" "Exec=$out/bin/soffice"
|
||||
substituteInPlace "$f" --replace "Exec=libreoffice" "Exec=$out/bin/soffice"
|
||||
done
|
||||
'';
|
||||
|
|
Loading…
Reference in a new issue