mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 01:13:05 +00:00
libreoffice: add templates to dolphin "create new" menu
The libreoffice derivation does not copy the necessary files to the output. Hence, we need to unpack the source again
This commit is contained in:
parent
e10da1c7f5
commit
010e2e5b12
@ -0,0 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=LibreOffice @app@...
|
||||
Comment=Enter LibreOffice @app@ filename:
|
||||
Type=Link
|
||||
URL=.source/soffice.@ext@
|
||||
Icon=libreoffice-oasis-@type@
|
@ -1,19 +1,32 @@
|
||||
{ libreoffice, runCommand, dbus, bash }:
|
||||
let
|
||||
jdk = libreoffice.jdk;
|
||||
in
|
||||
(runCommand libreoffice.name {
|
||||
inherit dbus libreoffice jdk bash;
|
||||
} ''
|
||||
{ lib, runCommand
|
||||
, libreoffice, dbus, bash, substituteAll
|
||||
, dolphinTemplates ? true
|
||||
}:
|
||||
runCommand libreoffice.name {
|
||||
inherit (libreoffice) jdk meta;
|
||||
inherit dbus libreoffice bash;
|
||||
} (''
|
||||
mkdir -p "$out/bin"
|
||||
ln -s "${libreoffice}/share" "$out/share"
|
||||
substituteAll "${./wrapper.sh}" "$out/bin/soffice"
|
||||
chmod a+x "$out/bin/soffice"
|
||||
|
||||
for i in $(ls "${libreoffice}/bin/"); do
|
||||
test "$i" = "soffice" || ln -s soffice "$out/bin/$(basename "$i")"
|
||||
done
|
||||
'') // {
|
||||
inherit libreoffice dbus;
|
||||
meta = libreoffice.meta;
|
||||
}
|
||||
|
||||
mkdir -p "$out/share"
|
||||
ln -s "${libreoffice}/share"/* $out/share
|
||||
'' + lib.optionalString dolphinTemplates ''
|
||||
# Add templates to dolphin "Create new" menu - taken from debian
|
||||
|
||||
# We need to unpack the core source since the necessary files aren't available in the libreoffice output
|
||||
unpackFile "${libreoffice.src}"
|
||||
|
||||
install -D "${libreoffice.name}"/extras/source/shellnew/soffice.* --target-directory="$out/share/templates/.source"
|
||||
|
||||
cp ${substituteAll {src = ./soffice-template.desktop; app="Writer"; ext="odt"; type="text"; }} $out/share/templates/soffice.odt.desktop
|
||||
cp ${substituteAll {src = ./soffice-template.desktop; app="Calc"; ext="ods"; type="spreadsheet"; }} $out/share/templates/soffice.ods.desktop
|
||||
cp ${substituteAll {src = ./soffice-template.desktop; app="Impress"; ext="odp"; type="presentation";}} $out/share/templates/soffice.odp.desktop
|
||||
cp ${substituteAll {src = ./soffice-template.desktop; app="Draw"; ext="odg"; type="drawing"; }} $out/share/templates/soffice.odg.desktop
|
||||
'')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user