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: txtsd
Votes: 155
Popularity: 10.57
First Submitted: 2022-10-18 06:42 (UTC)
Last Updated: 2024-05-22 02:27 (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 »

md5lukas commented on 2023-12-02 12:02 (UTC) (edited on 2023-12-02 12:10 (UTC) by md5lukas)

I'd like to see Coolians suggestion in this PKGBUILD, but not all available cores should be used, because when I tried that (luckily only) my terminal emulator died.

Maybe something like this $(($(nproc) * 3 / 4)) (this will break with one core available because it then returns 0) or $(nproc --ignore 2) (this will always atleast return 1) could be used instead.

Coolian commented on 2023-11-11 11:21 (UTC)

Make build use as many cores as possible. This should possible by changing line 42 (cmake --build build) to cmake --build build -j $(nproc) (untested) This should be done because at the moment the build is quite slow as it only uses one core

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

reteo commented on 2023-10-27 18:42 (UTC) (edited on 2023-10-27 18:43 (UTC) by reteo)

Sounds good. Regardless of which JDK compiles the launcher, it will launch and work without problems, even with the latest Java version... provided the instances have the correct Java version selected in their settings.

txtsd commented on 2023-10-27 17:37 (UTC)

That's a great alternative method! I'll add it to the pinned post.

reteo commented on 2023-10-27 16:43 (UTC) (edited on 2023-10-27 16:46 (UTC) by reteo)

I apologize for not clarifying, yes.

Setting the JAVA_HOME to your preferred compatible Java environment (in my case, it was java-17-openjdk, but you could use something else if you prefer) and then running a command-line AUR installer like yay will work for the purpose of installing Prism Launcher without making any permanent changes you'd need to change back afterwards (I'm lazy, what can I say?).

In my case, I used the following command:

JAVA_HOME=/usr/lib/jvm/java-17-openjdk yay prismlauncher

The software installed without complaint. You can replace java-17-openjdk with your preferred v17 JDK, and it should work there as well.

txtsd commented on 2023-10-27 15:53 (UTC) (edited on 2023-10-27 17:40 (UTC) by txtsd)

Not everyone uses or prefers openjdk, so this package depends on java-environment=17 instead.

jdk21 deprecates some jdk7 stuff which is required to make some older versions of minecraft to work, which is why prismlauncher currently requires jdk17.

While this promotes user choice, it also requires that users' systems have their default java environment set to any jdk17 via archlinux-java set $jdk_ver. Use archlinux-java status to see which java environments are installed, and change accordingly. Alternatively, just set the JAVA_HOME env var when installing like this:

JAVA_HOME=/usr/lib/jvm/java-17-whicheverjdk yay prismlauncher

reteo commented on 2023-10-27 15:31 (UTC) (edited on 2023-10-27 15:34 (UTC) by reteo)

It looks like the software is no longer able to compile using the latest java version. It produces the following errors:

warning: [options] bootstrap class path not set in conjunction with -source 7
error: Source option 7 is no longer supported. Use 8 or later.
error: Target option 7 is no longer supported. Use 8 or later.

I'm able to get around this by temporarily setting JAVA_HOME to /usr/lib/jvm/java-17-openjdk with the yay command to compile it, since that version of Java is a prerequisite anyways.

yewhan commented on 2023-10-22 18:25 (UTC)

yeah you're right, it should be just gamemode listed in the optdepends array.

MithicSpirit commented on 2023-10-22 18:24 (UTC)

Shouldn't it be just gamemode? Why specifically -git?