diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index c777e5b4b835..d5925fa4d42b 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -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" ++ [ diff --git a/pkgs/applications/office/libreoffice/wrapper.nix b/pkgs/applications/office/libreoffice/wrapper.nix index d97e76617b03..c44ca11c4325 100644 --- a/pkgs/applications/office/libreoffice/wrapper.nix +++ b/pkgs/applications/office/libreoffice/wrapper.nix @@ -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 ''