Package Details: prismlauncher 8.3-1

Git Clone URL: https://aur.archlinux.org/prismlauncher.git (read-only, click to copy)
Package Base: prismlauncher
Description: Minecraft launcher with ability to manage multiple instances.
Upstream URL: https://prismlauncher.org
Licenses: GPL3
Submitter: Scrumplex
Maintainer: Scrumplex (txtsd, g3tchoo)
Last Packager: g3tchoo
Votes: 152
Popularity: 9.87
First Submitted: 2022-10-18 06:42 (UTC)
Last Updated: 2024-04-23 18:37 (UTC)

Dependencies (23)

Required by (2)

Sources (1)

Pinned Comments

Scrumplex commented on 2023-12-02 12:39 (UTC)

Options like -j $(nproc) are supposed to be set by your local makepkg.conf.

Please read https://wiki.archlinux.org/title/Makepkg#Parallel_compilation

g3tchoo commented on 2023-11-06 16:38 (UTC) (edited on 2023-11-06 16:38 (UTC) by g3tchoo)

following some feedback and reports of issues, i think we're going to stick with jdk17-openjdk for now. while user choice is important, i believe there needs to be a balance between that and reliably building this package without manual intervention. this is also why the depends array will still contain java-runtime rather than any specific jdk - since unlike building prism, we don't need to know the path of the jdk to ensure things work as expected.

to ensure you don't still have jdk17-openjdk after building (and you don't use it), you can tell makepkg to remove unneeded makedepends when it's done:

# with paru or yay
$ paru/yay -S --removemake prismlauncher
# with aurutils
$ aur sync -r prismlauncher
# with only makepkg
$ makepkg -sri

if you have already built prismlauncher, you can also run one of the following commands:

# with paru
$ paru -c
# with yay
$ yay -Yc
# on any system
$ pacman -Qdtq | sudo pacman -Rns -

for those facing further issues with dependencies in the future, i would also recommend using chroot builds. these allow aur packages to build in isolated and more reproducible environments, which can commonly fix these types of issues. the devtools package provides a script named extra-x86_64-build that can be used in place of makepkg to do this easily. building prismlauncher with this can be done like so:

$ git clone https://aur.archlinux.org/prismlauncher.git
$ cd prismlauncher
$ extra-x86_64-build

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

ZhangHua commented on 2023-07-27 03:03 (UTC) (edited on 2023-07-27 03:06 (UTC) by ZhangHua)

@Rain_Shinotsu It seems that you are building package in /run, it is a tmpfs, you may need to check if it has a noexec mount option. /run/media/rain also seems to be a mount point, you may need to check its mount option also.

g3tchoo commented on 2023-06-26 04:22 (UTC)

Referencing the wiki, this seems more appropriate for the optdepends array.

i was thinking that as well, but i had seen some complaints about older mc versions not working before. i guess less people play those versions than i thought; i've moved it to optdepends :)

Rain_Shinotsu commented on 2023-06-24 08:28 (UTC)

Whenever I try to install this package on my desktop, it fails the PackageManifest test and so the check() section of the PKGBUILD fails. Here's the relevant part of LastTest.log:


5/21 Testing: PackageManifest
5/21 Test: PackageManifest
Command: "/run/media/rain/Libraries/Programs/AUR/prismlauncher/src/PrismLauncher-7.1/build/PackageManifest"
Directory: /run/media/rain/Libraries/Programs/AUR/prismlauncher/src/PrismLauncher-7.1/build/tests
"PackageManifest" start time: Jun 24 03:09 CDT
Output:
----------------------------------------------------------
********* Start testing of PackageManifestTest *********
Config: Using QtTest library 6.5.1, Qt 6.5.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.1.1 20230429), endeavouros unknown
PASS   : PackageManifestTest::initTestCase()
PASS   : PackageManifestTest::test_parse()
PASS   : PackageManifestTest::test_parse_file()
FAIL!  : PackageManifestTest::test_inspect() 'file1.executable == false' returned FALSE. ()
   Loc: [/run/media/rain/Libraries/Programs/AUR/prismlauncher/src/PrismLauncher-7.1/tests/PackageManifest_test.cpp(98)]
QDEBUG : PackageManifestTest::test_inspect_symlinks() "b.txt"
PASS   : PackageManifestTest::test_inspect_symlinks()
PASS   : PackageManifestTest::mkdir_deep()
PASS   : PackageManifestTest::rmdir_deep()
PASS   : PackageManifestTest::identical_file()
PASS   : PackageManifestTest::changed_file()
PASS   : PackageManifestTest::added_file()
PASS   : PackageManifestTest::removed_file()
PASS   : PackageManifestTest::cleanupTestCase()
Totals: 11 passed, 1 failed, 0 skipped, 0 blacklisted, 7ms
********* Finished testing of PackageManifestTest *********
<end of output>
Test time =   0.02 sec
----------------------------------------------------------
Test Failed.
"PackageManifest" end time: Jun 24 03:09 CDT
"PackageManifest" time elapsed: 00:00:00
----------------------------------------------------------

As a workaround, I can build it just fine on my laptop and copy the built package to my desktop, but I'd like it to work on my desktop too. What might be causing this to fail? I should mention both my desktop and laptop run EndeavourOS rather than Arch itself, but I don't see how that would cause the issue.

MithicSpirit commented on 2023-06-24 04:26 (UTC)

it's needed for older versions of minecraft

Referencing the wiki, this seems more appropriate for the optdepends array.

g3tchoo commented on 2023-06-23 21:56 (UTC)

Any particular reason on why you added both "java-runtime=8" and "java-runtime=17" instead of leaving it at "java-runtime" for the depends? Now it wants to download Java 8 although I don't need it.

it's needed for older versions of minecraft

md5lukas commented on 2023-06-19 15:12 (UTC)

Any particular reason on why you added both "java-runtime=8" and "java-runtime=17" instead of leaving it at "java-runtime" for the depends? Now it wants to download Java 8 although I don't need it.

ZhangHua commented on 2023-06-19 05:15 (UTC)

I think this patch maybe better.

diff --git a/PKGBUILD b/PKGBUILD
index 00aebec..a892d5c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,13 +9,13 @@

 pkgname=prismlauncher
 pkgver=7.1
-pkgrel=2
+pkgrel=3
 pkgdesc="Minecraft launcher with ability to manage multiple instances."
 arch=('i686' 'x86_64' 'aarch64')
 url="https://prismlauncher.org"
 license=('GPL3')
-depends=('java-runtime=17' 'java-runtime=8' 'libgl' 'qt6-base' 'qt6-5compat' 'qt6-svg' 'qt6-imageformats' 'zlib' 'hicolor-icon-theme' 'quazip-qt6' 'tomlplusplus' 'cmark')
-makedepends=('cmake' 'extra-cmake-modules' 'git' 'jdk17-openjdk' 'scdoc' 'ghc-filesystem' 'gamemode')
+depends=('libgl' 'qt6-base' 'qt6-5compat' 'qt6-svg' 'qt6-imageformats' 'zlib' 'hicolor-icon-theme' 'quazip-qt6' 'tomlplusplus' 'cmark')
+makedepends=('cmake' 'extra-cmake-modules' 'git' 'java-environment=17' 'scdoc' 'ghc-filesystem' 'gamemode')
 optdepends=('glfw: to use system GLFW libraries'
             'openal: to use system OpenAL libraries'
             'visualvm: Profiling support'
@@ -42,6 +42,7 @@ check() {
 }

 package() {
+  depends+=('java-runtime>=8' 'java-runtime<=17')
   cd "PrismLauncher-${pkgver}/build"
   DESTDIR="${pkgdir}" cmake --install .
 }

After merging this patch, we will build program with jdk17 while we can use any runtime version supported java 8's code

naritanara commented on 2023-06-17 18:25 (UTC)

I've been playing around with the PKGBUILD, and I've got it building with JDK17. This patch should work regardless of the JDK flavor, but I've only tested it with OpenJDK. (Beware the patch doesn't bump pkgrel).

https://pastebin.com/1ekn51ZE

jhenson commented on 2023-06-10 20:06 (UTC) (edited on 2023-06-10 20:45 (UTC) by jhenson)

I don't really know what the repercussions of this would be but here's a patch to bump the Java target/source versions to 8 to allow it to build on java 20.

https://paste.sr.ht/~jhenson/18689feb63afcfd7848e56dbcb25c13f3a9c739d

As far as I can tell, everything seems to be working fine (at least when launching 1.19 and 1.20).

Edit: LOL I just noticed that this "fix" is exactly what the PR linked below is doing and I see the issue with doing it is in the linked PolyMC bug. So yeah, don't use this patch if you play older MC versions.