(define-module (gnu packages prism-launcher)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system qt)
      #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix gexp)
  #:use-module (gnu packages ninja)
  #:use-module (gnu packages kde-frameworks)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages java)
  #:use-module (gnu packages gl))
(define-public prism-launcher
  (package
    (name "prism-launcher")
    (version "7.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/PrismLauncher/PrismLauncher")
             (commit version)
             (recursive? #t)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0q3fva33h5hvbd9hkfc48jzj8jyv4xpg0j2w6qnx4ydbs2khaxi4"))))
    (build-system cmake-build-system)
    (arguments
     (list
            #:tests? #f                             #:imported-modules `((guix build qt-build-system)
                           (guix build qt-utils)
                           ,@%cmake-build-system-modules)
      #:modules '(((guix build qt-build-system) #:prefix qt:)
                  (guix build cmake-build-system)
                  (guix build utils))
                  #:configure-flags #~'("-GNinja"
                                                                                    "-DCMAKE_BUILD_TYPE=Release"
                            "-DENABLE_LTO=ON"
                            "-DLauncher_QT_VERSION_MAJOR=5")
      #:phases
      #~(modify-phases %standard-phases
          (replace 'build
            (lambda* (#:key inputs #:allow-other-keys)
              (invoke "cmake" "--build" ".")))
          (replace 'install
            (lambda* (#:key inputs #:allow-other-keys)
              (invoke "cmake" "--install" ".")))
          (add-after 'install 'qt-wrap
            (assoc-ref qt:%standard-phases 'qt-wrap)))))
        (native-inputs (list extra-cmake-modules ninja pkg-config))
        (inputs (list mesa qtbase-5 qtsvg-5 zlib))
            (propagated-inputs (list openjdk `(,openjdk17 "jdk")))
    (synopsis "Launcher for Minecraft")     (description "It launches Minecraft.")     (home-page "")
    (license license:gpl3+)))
prism-launcher