Package Details: muwire 0.8.13-1

Git Clone URL: https://aur.archlinux.org/muwire.git (read-only, click to copy)
Package Base: muwire
Description: An I2P file sharing program
Upstream URL: https://muwire.com/
Licenses: GPL3
Submitter: dbermond
Maintainer: dbermond
Last Packager: dbermond
Votes: 9
Popularity: 0.000000
First Submitted: 2019-10-03 14:23 (UTC)
Last Updated: 2022-08-23 21:20 (UTC)

Dependencies (6)

Required by (0)

Sources (3)

Pinned Comments

dbermond commented on 2020-11-04 18:52 (UTC)

@txtsd AUR helpers are not supported. Manage the needed pgp key[1][2][3] and use makepkg[4]. The Arch Wiki is your friend.

[1] https://wiki.archlinux.org/index.php/GnuPG#Use_a_keyserver

[2] https://wiki.archlinux.org/index.php/GnuPG#Searching_and_receiving_keys

[3] https://wiki.archlinux.org/index.php/GnuPG#Key_servers

[4] https://wiki.archlinux.org/index.php/Makepkg

Latest Comments

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

dbermond commented on 2021-09-17 21:44 (UTC)

@yochananmarqos java-environment is not required here. There is no need to list it at all, not even at makedepends. As you already said, java-environment is required by gradle, which already pulls it. Most of the java packages depends only on the runtime, and only the ones that compiles java stuff (like gradle) needs the environment. This package does not compile java code and thus does not need the environment. It only runs a java software, so it needs only the runtime.

Specifying multiple java version restrictions can break the build on the chroot in certain future circumstances because it installs both ones when the current java version is exactly the maximum one. I'm not sure why this happens, but it looks like that multiple version restrictions does not work too smartly when dealing with virtual packages. For example, trying to build 0.8.8 on the chroot with multiple version restrictions right now fails while jre is at 16, because it will install both jre16 and jre11, being 16 the default one. To see what I'm talking about, just downgrade the PKGBUILD to 0.8.8 right now while jre is still at version 16 on the stable repositories, change java dependency to 'java-runtime>=11' 'java-runtime<16' (notice 'java-runtime<16' and not 'java-runtime<=16' for 0.8.8) and build the package in a clean chroot with devtools. This error will be gone when jre17 enters the stable repositories, but it's safer to stay like it's now to avoid future problems and reduce package maintenance burden, specially as jre11 is officially recommended by upstream.

yochananmarqos commented on 2021-09-17 20:55 (UTC)

@dbermond: I had already updated to 0.8.9 when testing yesterday, forgot to mention that.

gradle requires java-environment to build. You can specify the minimum & maximum versions like this:

depends=('sh' 'java-runtime>=11' 'java-runtime<=16''hicolor-icon-theme')
optdepends=('i2p-router: for connecting through a local I2P router')
makedepends=('git' 'gradle' 'java-environment>=11' 'java-environment<=16')

dbermond commented on 2021-09-17 20:10 (UTC) (edited on 2021-09-17 20:10 (UTC) by dbermond)

@yochananmarqos Regarding the java dependency: First of all, as far as I understand, muwire does not require java-environment, but only java-runtime. Secondly, java 16 support was added by upstream only at this commit, which is an intermediate one between 0.8.8 and 0.8.9, so java 16 could not used for stable 0.8.8. Thirdly, if I add support for using plain 'java-runtime' without forcing a version number, it will break in a few days when jre-openjdk 17 reaches the stable repositories (it is currently in [testing] at the time of writing) or will break now for people using Oracle jre.

Regarding the i2p[d] dependency: muwire can connect to an i2p[d] router that is on the network, so having i2p[d] installed on the local machine is not mandatory. I have added an optional dependency on i2p-router for people wanting to connect through a local i2p[d] router.

yochananmarqos commented on 2021-09-15 16:31 (UTC)

This builds and runs fine with the current jdk-openjdk / jre-openjdk (currently 16.0.2.u7). The dependency should be java-runtime>=11 and java-environment>=11 should be added to makedepends().

It appears this should depend on i2pd since MuWire's embedded router is not enabled, see here.

zlatinb commented on 2021-06-12 21:33 (UTC)

Thanks @synthetic it is a scheduling issue which in an ideal world wouldn't happen regardless of the number of cores. I should look at it but it's quite low priority tbh because in any way MuWire would perform very poorly on a single core.

synthetic commented on 2021-06-12 21:19 (UTC)

@zlatinb: yes it works with 2 (also 4) cores on Arch VM! :) Thanks for weighing in!

zlatinb commented on 2021-06-12 18:07 (UTC)

@synthetic Hi, I'm the author of the failing test :) How many CPU cores does your Arch VM have? If it's just one, can you try increasing the number to at least two and trying again?

synthetic commented on 2021-06-04 12:43 (UTC)

Yes it builds fine on my bare metal Arch install (even with the yaourt AUR helper), but for some reason not in my virtualbox Arch install. I guess this is some idiosyncratic issue on my end. Sorry for all the noise, and thank you for maintaining this!

dbermond commented on 2021-06-03 22:51 (UTC)

@synthetic I cannot reproduce your issue, as the package is building fine for me. Your log shows that you're using an AUR helper, and this is not supported. Use should use makepkg. Are you using Arch Linux or an Arch derivative? Also, make sure that you have switched your JVM to java 15 before building. Java 8 is not supported by upstream.

synthetic commented on 2021-06-03 20:04 (UTC)

Sorry dbermond I forgot to enable notifications so saw your message only now.

I do have openjdk 15, and this is the output I get: https://pastebin.com/XLrgRPcn

I tried with openjdk 11 and 8 and those didn't work either. Building with openjdk 11 failed with the same error as openjdk 15, openjdk 8 had some other error.