Package Details: portfolio 0.79.1-1

Git Clone URL: https://aur.archlinux.org/portfolio.git (read-only, click to copy)
Package Base: portfolio
Description: Track your portfolio performance (finance)
Upstream URL: https://github.com/portfolio-performance/portfolio
Licenses: EPL
Submitter: Cobra
Maintainer: Cobra
Last Packager: Cobra
Votes: 42
Popularity: 0.057923
First Submitted: 2015-11-08 10:45 (UTC)
Last Updated: 2025-09-05 10:20 (UTC)

Dependencies (5)

Required by (0)

Sources (2)

Pinned Comments

Cobra commented on 2023-08-19 13:34 (UTC)

Thanks to Bevan, we now have a simple and elegant (compared to my attempt) workaround that lets the PKGBUILD download and use the most recent version of maven (currently 3.9.4). Should not need any intervention from you. :)

Latest Comments

1 2 3 4 5 6 .. 13 Next › Last »

Bevan commented on 2025-09-21 19:08 (UTC)

Hi @Cobra. You're right: That solution was indeed overcomplicated. PortfolioPerformance just uses the java executable found via $PATH, so it is sufficient to set PATH=$JAVA_HOME/bin:$PATH with $JAVA_HOME being set using archlinux-java-run. No need for bubblewrap as an additional dependency.

Still, a run script and a runtime dependency on archlinux-java-run is required. I prepared a git patch that can be applied to this repository via:

curl https://pastebin.com/raw/40HRFNb5 | git am

PortfolioPerformance 0.80.0 just came out. I hope you don't mind that I sneaked that update right into that patch 😉

Regarding the option to just set Java 21 as default: That's a valid solution if you just want to get PortfolioPerformance working. However, other Java software packages might require different versions. So, making sure that a valid version is used via a run script seems to me to be the best option.

Cobra commented on 2025-09-21 15:07 (UTC)

@Bevan: Thanks for identifying this issue and proposing a solution. Frankly, it looks like an overcomplication to me, but then, I'm content to run Java 21 by default and at all time. For a Java developer, this is certainly way too restrictive.

I'm willing to implement your solution, but I would appreciate help with implementing the shellscript into the PKGBUILD.

Bevan commented on 2025-09-17 17:34 (UTC)

PortfolioPerformance does not work if java-25-openjdk (or any other Java 25) is selected as default Java environment via archlinux-java. Java 25 was pushed about an hour ago to the repositories, so this is a fairly new issue.

I found a workaround. Feel free to adopt this here:

  1. Promote archlinux-java-run from makedepends to depends
  2. Add bubblewrap as dependency
  3. Replace the symlink from /usr/bin/portfolio to /usr/share/portfolio/PortfolioPerformance by a shell script with the following contents:
#!/bin/bash

export JAVA_HOME=$(archlinux-java-run --min 21 --max 24 -j)

bwrap --bind / / --bind $JAVA_HOME /usr/lib/jvm/default-runtime /usr/share/portfolio/PortfolioPerformance

Explanation: For most applications, setting $JAVA_HOME accordingly is sufficient. Unfortunately, the PortfolioPerformance binary just executes /usr/bin/java which then again uses the symlink under /usr/lib/jvm/default-runtime to run the Java implementation selected via archlinux-java. Using bubblewrap, we can fake /usr/lib/jvm/default-runtime to point to the location of a suitable Java environment identified via archlinux-java-run. The dependency on java-environment=21 guarantees that at least one such environment is installed.

oxidative commented on 2025-06-23 20:02 (UTC)

The package no longer builds for me due to a unit test failing

The issue has been resolved upstream. It was caused by mixed locale settings.

oxidative commented on 2025-06-17 20:30 (UTC)

The package no longer builds for me due to a unit test failing:

name.abuchen.portfolio.util.TextUtilTest.testIsNumericMatch -- Time elapsed: 0.003 s <<< FAILURE!
java.lang.AssertionError
        at org.junit.Assert.fail(Assert.java:87)
        at org.junit.Assert.assertTrue(Assert.java:42)
        at org.junit.Assert.assertTrue(Assert.java:53)
        at name.abuchen.portfolio.util.TextUtilTest.testIsNumericMatch(TextUtilTest.java:223)

Results:

Failures: 
TextUtilTest.testIsNumericMatch:223

Tests run: 3751, Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Portfolio Performance 0.77.1:
[INFO] 
[INFO] Portfolio Performance .............................. SUCCESS [  0.821 s]
[INFO] portfolio-target-definition ........................ SUCCESS [  0.175 s]
[INFO] name.abuchen.portfolio.pdfbox1 ..................... SUCCESS [01:03 min]
[INFO] name.abuchen.portfolio.pdfbox3 ..................... SUCCESS [  0.381 s]
[INFO] name.abuchen.portfolio ............................. SUCCESS [ 45.148 s]
[INFO] name.abuchen.portfolio.junit ....................... SUCCESS [  3.751 s]
[INFO] name.abuchen.portfolio.tests ....................... FAILURE [ 26.787 s]
[INFO] name.abuchen.portfolio.ui .......................... SKIPPED
[INFO] name.abuchen.portfolio.ui.tests .................... SKIPPED
[INFO] name.abuchen.portfolio.bootstrap ................... SKIPPED
[INFO] name.abuchen.portfolio.feature ..................... SKIPPED
[INFO] portfolio.product .................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:35 min
[INFO] Finished at: 2025-06-17T22:23:30+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-surefire-plugin:4.0.13:test (default-test) on project name.abuchen.portfolio.tests: There are test failures.

This seems to be due to my locale de_DE.UTF-8. To work around the error, I need to run export LC_ALL=C.UTF-8 first.

oxidative commented on 2024-10-25 04:49 (UTC)

portfolio started crashing for me on startup with

java.lang.IllegalArgumentException: Unsupported class file major version 67

I got it working by executing archlinux-java set java-21-openjdk (was on java-23-openjdk before).

I wonder why that is. Upstream seems to have switched from Java 17 to 21 in https://github.com/portfolio-performance/portfolio/pull/4230. But that got merged just recently on Oct 19 and should not yet be in the released version.

<deleted-account> commented on 2024-01-14 22:03 (UTC)

@Cobra. Thank you, I can confirm that the build succeeds with jdk17-openjdk. Maven requires java-environment>=8 and the default option is 1) jdk-openjdk, that leads to the build failing since version 0.67.0. But when you specifically choose 3) jdk17-openjdk the package builds.

Cobra commented on 2024-01-14 13:04 (UTC)

@betonkarma: I had the exact same issue. When searching for the error (Could not initialize plugin: interface org.mockito.plugins.MockMaker), I found that it was sometimes suggested to arise from the use of the Java runtime environment instead of the development kit, and indeed, after installing jdk17-openjdk, the package compiled without any error (without any change of the PKGBUILD). If you can confirm that this is indeed the culprit, I'm going to add JDK17 as dependency.

<deleted-account> commented on 2024-01-12 18:15 (UTC)

I'm getting these errors since version 0.67.0 (also 0.67.1) and the build fails:

Errors: 
  AlphavantageQuoteFeedTest.testGetLatestQuoteValid:49 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testExtractionWithDoubleVolume:335 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testExtractionWithDoubleVolumeAsString:305 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testExtractionWithLowHigh:215 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testExtractionWithVolume:245 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testExtractionWithVolumeAsString:275 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testInvalidJson:393 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testNoFeedUrl:361 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testSimpleExtraction:103 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testSimpleExtractionDateFormat1:147 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testSimpleExtractionDateFormat1AsString:169 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testSimpleExtractionDateFormat2:191 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  GenericJSONQuoteFeedTest.testSimpleExtractionWithStrings:125 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
  YahooFinanceQuoteFeedTest.testGetLatestQuoteValid:56 » IllegalState Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)

Tests run: 2864, Failures: 0, Errors: 14, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Portfolio Performance 0.67.1:
[INFO] 
[INFO] Portfolio Performance .............................. SUCCESS [  0.499 s]
[INFO] portfolio-target-definition ........................ SUCCESS [  0.579 s]
[INFO] name.abuchen.portfolio ............................. SUCCESS [01:16 min]
[INFO] name.abuchen.portfolio.junit ....................... SUCCESS [  2.020 s]
[INFO] name.abuchen.portfolio.tests ....................... FAILURE [ 26.342 s]
[INFO] name.abuchen.portfolio.ui .......................... SKIPPED
[INFO] name.abuchen.portfolio.ui.tests .................... SKIPPED
[INFO] name.abuchen.portfolio.bootstrap ................... SKIPPED
[INFO] name.abuchen.portfolio.feature ..................... SKIPPED
[INFO] portfolio.product .................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  04:37 min
[INFO] Finished at: 2024-01-12T19:11:57+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-surefire-plugin:4.0.4:test (default-test) on project name.abuchen.portfolio.tests: There are test failures.
[ERROR] 
[ERROR] Please refer to /home/mioli/.cache/paru/clone/portfolio/src/portfolio-0.67.1/name.abuchen.portfolio.tests/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :name.abuchen.portfolio.tests
==> FEHLER: Ein Fehler geschah in build().
    Breche ab...
Fehler: ‚portfolio-0.67.1-1‘ konnte nicht erstellt werden: 
Fehler: Pakete konnten nicht erstellt werden: portfolio-0.67.1-1

Cobra commented on 2023-11-10 13:33 (UTC) (edited on 2023-11-10 13:48 (UTC) by Cobra)

It insists for a good reason: portfolio is developed with Java 17 (an LTS version supported, AFAIK, until 2027), and it may or may not compile or run with any more recent version. We had several issues with that in the past until I decided to pin the version of Java to exactly the one used for its development.

But that's not really any problem: you can have several Java version installed in parallel, and switch between them using archlinux-java-run, which is installed together with portfolio. My default is currently 17, and I haven't tested if the current version of portfolio runs with 21.