惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
月光博客
月光博客
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
IT之家
IT之家
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
爱范儿
爱范儿

AUR Newest Packages

AUR (en) - linuxqq-clipsync-git AUR (en) - libtslitex-git AUR (en) - libtslitex-git AUR (en) - carton-appimage AUR (en) - veila-git AUR (en) - veila-bin AUR (en) - vigil-baseline AUR (en) - byedroid AUR (en) - neovim-base16-git AUR (en) - pirata AUR (en) - rpi-imager-git-non-root AUR (en) - python-fastapi-sso AUR (en) - tmux-ai-titles AUR (en) - zeed-bin AUR (en) - bclone-bin AUR (en) - dwl-git-azerty AUR (en) - auggie-bin AUR (en) - libspatialaudio-git AUR (en) - libspatialaudio AUR (en) - miniupnpd-iptables-legacy AUR (en) - miniupnpd-nft AUR (en) - jeeves-bin AUR (en) - opennow AUR (en) - rotki AUR (en) - kapi-bin AUR (en) - classfi-bin AUR (en) - classfi-git AUR (en) - classfi AUR (en) - giff-git AUR (en) - budget-tracker-bin
AUR (en) - recaf-git
2026-05-29 · via AUR Newest Packages

dreamscached commented on 2026-05-15 10:07 (UTC)

@Astralchroma I changed the PKGBUILD to respect currently selected JVM (via archlinux-java) if it satisfies >=25 constraint

Astralchroma commented on 2026-05-14 23:39 (UTC)

Please stop hardcoding JAVA_HOME to "/usr/lib/jvm/java-$_jdkver-openjdk", not everyone uses the OpenJDK packages, for example I currently use jdk25-temurin as jdk25-openjdk causes a segfault with Minecraft 26.2 snapshots. You should be using /usr/lib/jvm/default or an existing JAVA_HOME variable if set.

dreamscached commented on 2024-11-16 21:27 (UTC)

@Metzger100 recaf at the moment doesn't seem to be compatible with Java 23, I have verified that decompilation works as it worked previously on Java 22, but I haven't attempted to recompile code or build bytecode from disassembled code.

Metzger100 commented on 2024-11-16 21:25 (UTC)

The test testJavacUsesVirtualClasspathFromWorkspace fails. I could install it by disabling the gradlew tests in the PKGBUILD: ./gradlew -x test --no-daemon build

Recaf works, but I am not sure if everything is working.

dreamscached commented on 2024-10-03 17:47 (UTC)

@solonovamax thanks, I fixed it. I kept MAVEN_USER_HOME and MAVEN_OPTS to safeguard user from polluting their home dir as Gradle (and previously Maven) used to put their caches and repository .jar's in there. Doesn't seem to be the case now so I removed it, thanks again.

solonovamax commented on 2024-10-03 14:54 (UTC)

@dreamscached, a few things regarding the updated PKGBUILD: - why were MAVEN_USER_HOME and MAVEN_OPTS kept? they don't exactly do anything now that gradle is being used. - I noticed you have some inconsistent formatting in terms of indents in it - noticed you have a typo for the MimeType in the recaf.desktop file (you accidentally added a space) - you also set the JAVA_HOME to be java 11. recaf requires java 22 to build. although gradle will automatically switch to jdk 22, good to just use it by default. additionally, if the user doesn't have openjdk 11 installed, the build will fail.

dreamscached commented on 2024-09-29 14:03 (UTC)

Thank you, I have updated PKGBUILD; your patch was of great help.

solonovamax commented on 2024-09-27 17:29 (UTC) (edited on 2024-09-27 17:31 (UTC) by solonovamax)

The package is currently broken.

Here is a patch for the PKGBUILD that is compatible with the newest 4.x version:

diff --git a/MavenUtil.patch b/MavenUtil.patch
deleted file mode 100644
index d7e9ec2..0000000
--- a/MavenUtil.patch
+++ /dev/null
@@ -1,3 +0,0 @@
-171a172,173
->          if (System.getenv("MAVEN_USER_HOME") != null)
->              return Paths.get(System.getenv("MAVEN_USER_HOME"), "repository");
diff --git a/PKGBUILD b/PKGBUILD
index a4c0e8a..d5662ce 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,23 +1,19 @@
 # Maintainer: dreamscache.d <dreamscache.d@gmail.com>
 _pkgname=recaf
 pkgname=${_pkgname}-git
-pkgver=r2278.e9765d4e
+pkgver=r4399.16ec6ae25
 pkgrel=1
 pkgdesc="A modern Java bytecode editor"
 arch=("any")
 url="https://github.com/Col-E/Recaf"
 license=("MIT")
-depends=("java-environment-openjdk=21" "ttf-font")
-makedepends=("git" "jdk11-openjdk")
+depends=("java-environment-openjdk=22" "ttf-font")
+makedepends=("git" "jdk22-openjdk")
 provides=("$_pkgname")
 conflicts=("$_pkgname" "$_pkgname-bin")
 replaces=("recaf")
-source=("recaf::git+https://github.com/Col-E/Recaf#branch=master"
-        "MavenUtil.patch"
-        "settings.xml")
-md5sums=("SKIP"
-         "c6d14c04cb3313413e306a9e45cb6757"
-         "4bde901d55aa06e6db09994266f19a3f")
+source=("recaf::git+https://github.com/Col-E/Recaf#branch=master")
+md5sums=("SKIP")

 pkgver() {
    cd "$srcdir/$_pkgname"
@@ -26,20 +22,19 @@ pkgver() {

 prepare() {
     cd "$srcdir/$_pkgname"
-    patch "src/main/java/me/coley/recaf/util/MavenUtil.java" "$srcdir/MavenUtil.patch"
 }

 build() {
    cd "$srcdir/$_pkgname"
-    JAVA_HOME="/usr/lib/jvm/java-11-openjdk" MAVEN_USER_HOME="$srcdir/$_pkgname/.m2" ./mvnw -gs "$srcdir/settings.xml" clean package
+    ./gradlew build
 }

 package() {
    cd "$srcdir/$_pkgname"
    install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
-    install -Dm755 "target/$_pkgname-$(git describe --tags --abbrev=0)-J8-jar-with-dependencies.jar" "$pkgdir/usr/share/java/$_pkgname/$_pkgname.jar"
-    install -Dm644 "src/main/resources/icons/logo.png" "$pkgdir/usr/share/pixmaps/recaf.png"
-    printf '#!/usr/bin/env bash\nexec java -cp "/usr/lib/jvm/java-21-openjdk/lib/*:/usr/share/java/%s/%s.jar" "me.coley.recaf.Recaf" "$@"' "$_pkgname" "$_pkgname" > "recaf"
+    install -Dm755 "recaf-ui/build/libs/recaf-ui-"*"-all.jar" "$pkgdir/usr/share/java/$_pkgname/$_pkgname.jar"
+    install -Dm644 "recaf-ui/src/main/resources/icons/logo-full.png" "$pkgdir/usr/share/pixmaps/recaf.png"
+    printf '#!/usr/bin/env bash\nexec java -cp "/usr/lib/jvm/java-22-openjdk/lib/*" -jar "/usr/share/java/%s/%s.jar" "$@"' "$_pkgname" "$_pkgname" > "recaf"
     printf "[Desktop Entry]\nType=Application\nVersion=1.0\nName=Recaf\nComment=%s\nPath=/usr/bin\nExec=sh -c 'if [ -n \"\$0\" ]; then recaf --input=\"\$0\"; else recaf; fi' %%u\nIcon=recaf\nTerminal=false\nMimeType=application/java-archive\nCategories=Development;Java" "$pkgdesc" > "recaf.desktop"
     install -Dm755 "recaf" "$pkgdir/usr/bin/recaf"
     install -Dm644 "recaf.desktop" "$pkgdir/usr/share/applications/recaf.desktop"
diff --git a/settings.xml b/settings.xml
deleted file mode 100644
index 1c2d8c9..0000000
--- a/settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
-    <localRepository>${user.dir}/.m2</localRepository>
-</settings>

Score_Under commented on 2023-04-05 13:02 (UTC)

Thanks, it's all building correctly for me now

dreamscached commented on 2023-04-05 09:26 (UTC)

I have updated PKGBUILD with proper path to the patch now. Hopefully works now, now it should reference by $srcdir than absolute path.