Merge pull request #220694 from e1mo/fix-soffice-desktop

libreoffice: Fix invalid desktop files
This commit is contained in:
7c6f434c 2023-03-12 16:18:21 +00:00 committed by GitHub
commit cbdad02351
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 1 deletions

View file

@ -154,6 +154,7 @@ let
mkDrv = if kdeIntegration then mkDerivation else stdenv.mkDerivation;
srcs = {
primary = primary-src;
third_party =
map (x: ((fetchurl { inherit (x) url sha256 name; }) // { inherit (x) md5name md5; }))
(importVariant "download.nix" ++ [

View file

@ -18,6 +18,8 @@
}:
let
inherit (unwrapped.srcs.primary) major minor;
makeWrapperArgs = builtins.concatStringsSep " " ([
"--set" "GDK_PIXBUF_MODULE_FILE" "${librsvg}/${gdk-pixbuf.moduleDir}.cache"
"--prefix" "GIO_EXTRA_MODULES" ":" "${lib.getLib dconf}/lib/gio/modules"
@ -86,8 +88,18 @@ in runCommand "${unwrapped.name}-wrapped" {
};
} (''
mkdir -p "$out/bin"
ln -s ${unwrapped}/share $out/share
mkdir -p "$out/share"
ln -s ${unwrapped}/share/icons $out/share/icons
ln -s ${unwrapped}/share/templates $out/share/templates
ln -s ${unwrapped}/lib $out/lib
cp -r ${unwrapped}/share/applications/ $out/share/
for f in $out/share/applications/*.desktop; do
substituteInPlace "$f" \
--replace "Exec=libreoffice${major}.${minor}" "Exec=soffice"
done
for i in sbase scalc sdraw smath swriter simpress soffice unopkg; do
makeWrapper ${unwrapped}/lib/libreoffice/program/$i $out/bin/$i ${makeWrapperArgs}
'' + lib.optionalString dbusVerify ''