gnu: godot: Install provided .desktop file and icons.

* gnu/packages/game-development.scm (godot)[arguments]: Install the provided
godot.desktop instead of creating a new one.  Copy icons to the correct
location in share/icons/hicolor as per XDG.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
Timotej Lazar 2020-05-17 17:55:19 +02:00 committed by Nicolas Goaziou
parent 545511df77
commit bf076da917
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -1644,24 +1644,18 @@ (define-public godot
(add-after 'install 'install-godot-desktop
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(desktop (string-append out "/share/applications"))
(icon-dir (string-append out "/share/pixmaps")))
(rename-file "icon.png" "godot.png")
(install-file "godot.png" icon-dir)
(mkdir-p desktop)
(with-output-to-file
(string-append desktop "/godot.desktop")
(lambda _
(format #t
"[Desktop Entry]~@
Name=godot~@
Comment=The godot game engine~@
Exec=~a/bin/godot~@
TryExec=~@*~a/bin/godot~@
Icon=godot~@
Type=Application~%"
out)))
#t))))))
(applications (string-append out "/share/applications"))
(icons (string-append out "/share/icons/hicolor")))
(mkdir-p applications)
(copy-file "misc/dist/linux/org.godotengine.Godot.desktop"
(string-append applications "/godot.desktop"))
(for-each (lambda (icon dest)
(mkdir-p (dirname dest))
(copy-file icon dest))
'("icon.png" "icon.svg")
`(,(string-append icons "/256x256/apps/godot.png")
,(string-append icons "/scalable/apps/godot.svg"))))
#t)))))
(outputs '("out" "headless"))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("alsa-lib" ,alsa-lib)