Merge branch 'qby-master-patch-71414' into 'master'
LiquidLauncher See merge request nonguix/nonguix!378
This commit is contained in:
commit
ecbfd06071
109
nongnu/packages/liquidlauncher.scm
Normal file
109
nongnu/packages/liquidlauncher.scm
Normal file
|
@ -0,0 +1,109 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2022 YOUR NAME <your-email@your-domain.com>
|
||||
;;;
|
||||
;;; This file is not part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;; define-module
|
||||
(define-module (nongnu packages liquidbounce liquidlauncher)
|
||||
(use-modules #:use-module
|
||||
(guix packages)
|
||||
(guix download)
|
||||
((non guix licenses) #:prefix license:)
|
||||
(non guix build-system trivial binary rust)
|
||||
;;public
|
||||
(define-public liquidlauncher
|
||||
(package
|
||||
(name "liquidlauncher")
|
||||
(version version)
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/tarbomb git-fetch)
|
||||
(uri (git-reference (string-append
|
||||
(url "https://github.com/CCBlueX/LiquidLauncher/releases/download/"
|
||||
version "/liquidlauncher_" version "_"
|
||||
(%current-system) architecture "." packaging ".tar.gz"))
|
||||
(commit version)))
|
||||
(file-name (git-file-name "liquid-launcher"))
|
||||
;; checksum
|
||||
(sha256
|
||||
(base32
|
||||
"0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73")))) ;; empty hash
|
||||
|
||||
(snippet
|
||||
'(begin
|
||||
(setenv "PATH" (string-append (getenv "PATH") ":" (assoc-ref %build-inputs "node") ":" (assoc-ref %build-inputs "yarn")))
|
||||
(zero? (system* "yarn"))
|
||||
(zero? (system* "yarn" "build"))))))
|
||||
;; building
|
||||
(build-system trivial cargo binary gnu)
|
||||
;; LiquidLauncher is an AppImage which is ready to run, no need for a build.
|
||||
;; We need to specify the location of the binary after unpacking. You will need to adjust this path if it's incorrect.
|
||||
;; input
|
||||
(native-inputs
|
||||
`(("node" ,node)
|
||||
("yarn" ,yarn)
|
||||
("npm" ,npm)
|
||||
("rust" ,rust)
|
||||
("runtime" "java-runtime"))))))
|
||||
;; arguments
|
||||
(arguments
|
||||
`(#:install-plan `(("liquidlauncher/LiquidLauncher" "bin/"))
|
||||
#:tests? #f))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'prepare add-after 'unpack 'install-node-dependencies
|
||||
(chdir "path-to-package.json-in-source")
|
||||
(lambda _
|
||||
(zero? (system* "tar" "-xzf" "LiquidLauncher.tar.gz"))
|
||||
;; chmod
|
||||
(chmod target "LiquidLauncher" #o755)
|
||||
(zero? (system* "./LiquidLauncher" "--appimage-extract" "npm" "install"))))
|
||||
|
||||
(add-after 'install 'install-node-dependencies 'build-tauri 'desktop-integration
|
||||
(lambda* _
|
||||
(zero? (system* "npm" "run" "tauri" "build")
|
||||
(#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(iconsdir (string-append out "/usr/share/icons"))
|
||||
(desktopfile (string-append
|
||||
out "/usr/share/applications/liquid-launcher.desktop"))
|
||||
(bindir (string-append out "/usr/bin"))
|
||||
(license-symlink (string-append
|
||||
out "/usr/share/licenses/liquid-launcher")))
|
||||
(system* "sed" "-i" "-E"
|
||||
"s|Exec=AppRun|Exec=env DESKTOPINTEGRATION=false " bindir "|" desktopfile)
|
||||
(mkdir-p iconsdir)
|
||||
(install-file "/path/to/license" license-symlink)
|
||||
(symlink "/opt/liquid-launcher-appimage/LiquidLauncher.AppImage" bindir)
|
||||
(symlink "/opt/liquid-launcher-appimage/LICENSE" license-symlink)
|
||||
;; copy
|
||||
(copy-recursively file source "squashfs-root/usr/share/icons" iconsdir target))))))
|
||||
(inputs
|
||||
`(("fuse2" ,fuse2)
|
||||
("zlib" ,zlib)))
|
||||
;; modules
|
||||
`(use-modules #:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(let* ((source (assoc-ref %build-inputs "source"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(target (string-append out "/bin/liquidlauncher")))
|
||||
(mkdir-p (string-append out "/bin"))
|
||||
;; properties
|
||||
(home-page "https://github.com/CCBlueX/LiquidLauncher https://liquidbounce.net")
|
||||
(synopsis "A LiquidBounce LiquidLauncher launcher for Minecraft, written in Rust using Tauri.client with mod support built from source code keeps it automatically up to date")
|
||||
(description "LiquidLauncher is the official Minecraft client and launcher for the LiquidBounce mod. It streamlines the installation process and automatically keeps the client up to date.")
|
||||
(license license:gpl3 gpl3+ expat)))
|
Loading…
Reference in New Issue
Block a user