Add prism launcher
This commit is contained in:
parent
2b77c13dd0
commit
64a9404e1b
1 changed files with 168 additions and 0 deletions
168
artoria/packages/games.scm
Normal file
168
artoria/packages/games.scm
Normal file
|
@ -0,0 +1,168 @@
|
||||||
|
(define-module (artoria packages games)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
|
#:use-module (gnu packages bash)
|
||||||
|
#:use-module (gnu packages compression)
|
||||||
|
#:use-module (gnu packages pulseaudio)
|
||||||
|
#:use-module (gnu packages qt)
|
||||||
|
#:use-module (gnu packages xorg)
|
||||||
|
#:use-module (gnu packages gl)
|
||||||
|
#:use-module (gnu packages java)
|
||||||
|
#:use-module (gnu packages kde-frameworks)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix gexp)
|
||||||
|
#:use-module (guix git-download)
|
||||||
|
#:use-module ((guix licenses) :prefix license:)
|
||||||
|
#:use-module ((nonguix licenses) :prefix non-license:))
|
||||||
|
|
||||||
|
(define-public multimc
|
||||||
|
(package
|
||||||
|
(name "multimc")
|
||||||
|
(version "0.6.12")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/MultiMC/MultiMC5.git")
|
||||||
|
(recursive? #t)
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0a32c8hrccc1h89kqwmfhf299swm0pwdp03qhjbfkagbggdz8r47"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f ; Tests require network access
|
||||||
|
#:configure-flags '("-DMultiMC_LAYOUT=lin-system")
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'patch-paths
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(bin (string-append out "/bin"))
|
||||||
|
(exe (string-append bin "/multimc"))
|
||||||
|
(qtwayland (assoc-ref inputs "qtwayland"))
|
||||||
|
(xrandr (assoc-ref inputs "xrandr"))
|
||||||
|
(jdk (assoc-ref inputs "jdk")))
|
||||||
|
(wrap-program exe
|
||||||
|
`("PATH" ":" prefix (,(string-append xrandr "/bin")
|
||||||
|
,(string-append jdk "/bin")))
|
||||||
|
`("QT_PLUGIN_PATH" ":" prefix (,(string-append
|
||||||
|
qtwayland "/lib/qt5/plugins")))
|
||||||
|
`("GAME_LIBRARY_PATH" ":" prefix
|
||||||
|
(,@(map (lambda (dep)
|
||||||
|
(string-append (assoc-ref inputs dep)
|
||||||
|
"/lib"))
|
||||||
|
'("libx11" "libxext" "libxcursor"
|
||||||
|
"libxrandr" "libxxf86vm" "pulseaudio" "mesa")))))
|
||||||
|
#t)))
|
||||||
|
(add-after 'patch-paths 'install-desktop-entry
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(applications (string-append out "/share/applications"))
|
||||||
|
(app-icons (string-append out "/share/icons/hicolor/scalable/apps")))
|
||||||
|
(with-directory-excursion "../source"
|
||||||
|
(install-file "application/package/linux/multimc.desktop"
|
||||||
|
applications)
|
||||||
|
(install-file "application/resources/multimc/scalable/multimc.svg"
|
||||||
|
app-icons))
|
||||||
|
#t))))))
|
||||||
|
(inputs
|
||||||
|
`(("jdk" ,icedtea "jdk")
|
||||||
|
("zlib" ,zlib)
|
||||||
|
("qtbase" ,qtbase-5)
|
||||||
|
("qtwayland" ,qtwayland)
|
||||||
|
("xrandr" ,xrandr)
|
||||||
|
("libx11" ,libx11)
|
||||||
|
("libxext" ,libxext)
|
||||||
|
("libxcursor" ,libxcursor)
|
||||||
|
("libxrandr" ,libxrandr)
|
||||||
|
("libxxf86vm" ,libxxf86vm)
|
||||||
|
("pulseaudio" ,pulseaudio)
|
||||||
|
("mesa" ,mesa)))
|
||||||
|
(home-page "https://multimc.org/")
|
||||||
|
(synopsis "Launcher for Minecraft")
|
||||||
|
(description
|
||||||
|
"This package allows you to have multiple, separate instances of
|
||||||
|
Minecraft and helps you manage them and their associated options with
|
||||||
|
a simple interface.")
|
||||||
|
(license (list license:asl2.0 ; MultiMC
|
||||||
|
license:lgpl2.1 ; Qt 5
|
||||||
|
license:lgpl3+ ; libnbt++
|
||||||
|
license:gpl2+ ; rainbow (KGuiAddons), Quazip, Pack200
|
||||||
|
license:silofl1.1 ; Material Design Icons
|
||||||
|
license:expat ; lionshead, MinGW runtime
|
||||||
|
license:public-domain ; xz-minidec
|
||||||
|
license:isc ; Hoedown
|
||||||
|
license:bsd-3 ; ColumnResizer
|
||||||
|
;; Batch icon set:
|
||||||
|
(non-license:nonfree "file://COPYING.md")))))
|
||||||
|
|
||||||
|
(define-public prismlauncher
|
||||||
|
(package
|
||||||
|
(name "prismlauncher")
|
||||||
|
(version "5.0")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/PrismLauncher/PrismLauncher")
|
||||||
|
(recursive? #t)
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1npvgiifjqsacimsv5vpj54qsbv638vvb1xgapky8fpk0f30v52k"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'patch-paths
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(bin (string-append out "/bin/prismlauncher"))
|
||||||
|
(xrandr (assoc-ref inputs "xrandr"))
|
||||||
|
(qtwayland (assoc-ref inputs "qtwayland")))
|
||||||
|
(wrap-program bin
|
||||||
|
`("PATH" ":" prefix (,(string-append xrandr "/bin")))
|
||||||
|
`("QT_PLUGIN_PATH" ":" prefix (,(string-append
|
||||||
|
qtwayland "/lib/qt5/plugins")))
|
||||||
|
`("LD_LIBRARY_PATH" ":" prefix
|
||||||
|
(,@(map (lambda (dep)
|
||||||
|
(string-append (assoc-ref inputs dep)
|
||||||
|
"/lib"))
|
||||||
|
'("libx11" "libxext" "libxcursor"
|
||||||
|
"libxrandr" "libxxf86vm" "pulseaudio" "mesa")))))
|
||||||
|
#t))))))
|
||||||
|
(native-inputs (list extra-cmake-modules))
|
||||||
|
(inputs (list bash-minimal ; for wrap-program
|
||||||
|
zlib
|
||||||
|
qtbase-5
|
||||||
|
qtwayland
|
||||||
|
xrandr
|
||||||
|
libx11
|
||||||
|
libxext
|
||||||
|
libxcursor
|
||||||
|
libxrandr
|
||||||
|
libxxf86vm
|
||||||
|
pulseaudio
|
||||||
|
mesa))
|
||||||
|
(propagated-inputs (list `(,openjdk17 "jdk")))
|
||||||
|
(home-page "https://prismlauncher.org/")
|
||||||
|
(synopsis "Free, open source launcher for Minecraft")
|
||||||
|
(description
|
||||||
|
"Allows you to have multiple, separate instances of Minecraft (each with
|
||||||
|
their own mods, texture packs, saves, etc), and helps you manage them and
|
||||||
|
their associated options with a simple interface.")
|
||||||
|
(license (list license:gpl3 ; PolyMC, launcher
|
||||||
|
license:expat ; MinGW runtime, lionshead, tomlc99
|
||||||
|
license:lgpl3 ; Qt 5/6
|
||||||
|
license:lgpl3+ ; libnbt++
|
||||||
|
license:lgpl2.1+ ; rainbow (KGuiAddons)
|
||||||
|
license:isc ; Hoedown
|
||||||
|
license:silofl1.1 ; Material Design Icons
|
||||||
|
license:lgpl2.1 ; Quazip
|
||||||
|
license:public-domain ; xz-minidec, murmur2, xz-embedded
|
||||||
|
license:bsd-3 ; ColumnResizer, O2 (Katabasis fork),
|
||||||
|
; gamemode, localpeer
|
||||||
|
license:asl2.0 ; classparser, systeminfo
|
||||||
|
;; Batch icon set:
|
||||||
|
(non-license:nonfree "file://COPYING.md")))))
|
Loading…
Reference in a new issue