(define-module (sigils packages minecraft) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) ;; prismlauncher #:use-module (guix build-system cmake) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages qt) #:use-module (gnu packages markup) #:use-module (gnu packages cpp) #:use-module (gnu packages compression) #:use-module (gnu packages gl) #:use-module (gnu packages xdisorg) #:use-module (gnu packages vulkan) #:use-module (gnu packages pkg-config) #:use-module (gnu packages man) #:use-module (gnu packages java)) ;;; PrismLauncher (define with-qt6 (package-mapping (lambda (p) (package (inherit p) (inputs (modify-inputs (package-inputs p) (replace "qtbase" qtbase) (append qt5compat))))) (lambda _ #t))) (define-public prismlauncher (package (name "prismlauncher") (version "8.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/PrismLauncher/PrismLauncher/releases/download/" version "/PrismLauncher-" version ".tar.gz")) (sha256 (base32 "09lpf46jsjmgcdgbbvn664ba1ymzwigy0czrvl8f9wlxamcr1px4")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules vulkan-headers pkg-config scdoc)) (inputs (list qtbase qt5compat cmark zlib libglvnd gulrak-filesystem ;; no toml++ because they bundled it with an older version (with-qt6 quazip) `(,openjdk17 "jdk") libxkbcommon)) (arguments (list #:tests? #f #:configure-flags #~`("-DBUILD_TESTING=no" ,(string-append "-DLauncher_APP_BINARY_NAME=" #$name) "-DLauncher_BUILD_PLATFORM=guix" "-DLauncher_QT_VERSION_MAJOR=6"))) (home-page "https://github.com/PrismLauncher/PrismLauncher") (synopsis "Custom Minecraft Launcher allowing for multiple installations") (description "A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once") (license license:gpl3)))