summaryrefslogtreecommitdiffstats
path: root/prismlauncher-gpu.scm
diff options
context:
space:
mode:
authormsglm <msglm@techchud.xyz>2023-08-07 21:17:34 -0500
committermsglm <msglm@techchud.xyz>2023-08-07 21:17:34 -0500
commit16f7ec354bd740c804459aad1abcdf62f5113732 (patch)
tree449e18e832c4170ca0cd39aa98e58e42a04f18fc /prismlauncher-gpu.scm
parent4e316a7cd93f3fdf1921c4e08955f5f3bd8ec791 (diff)
downloadguix-msglm-16f7ec354bd740c804459aad1abcdf62f5113732.tar.gz
guix-msglm-16f7ec354bd740c804459aad1abcdf62f5113732.tar.bz2
guix-msglm-16f7ec354bd740c804459aad1abcdf62f5113732.zip
added prism launcher scm file that permits native GPU usage
Diffstat (limited to 'prismlauncher-gpu.scm')
-rw-r--r--prismlauncher-gpu.scm80
1 files changed, 80 insertions, 0 deletions
diff --git a/prismlauncher-gpu.scm b/prismlauncher-gpu.scm
new file mode 100644
index 0000000..a000bb0
--- /dev/null
+++ b/prismlauncher-gpu.scm
@@ -0,0 +1,80 @@
+(define-module (prismlauncher-gpu)
+ #: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 prismlauncher-gpu
+ (package
+ (name "prismlauncher-gpu")
+ (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")))
+ )
+ #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")))))