Comments (10)
Yep. Can confirm that it launches fine with:
export LD_LIBRARY_PATH="/nix/store/yymhifvd7y7j0iy1m5qqhv5jqh12i7np-libXxf86vm-1.1.5/lib;/nix/store/i7vz86vq34m1rdgc8fnbqzcqp97kj9kz-libX11-1.8.7/lib;/nix/store/qz5n5lpzk4cxvqlvhq2wkxcaz24nypfg-libXtst-1.2.4/lib"
Also these paths might be different for everyone, because of the hashes.
This is NOT a univeral fix, but just a way to get it working temporarily.
I can confirm that recaf 2,3 and 4 all launch with this
Also sidenote: I love the ui updates. v3 felt so much better than v2, and from initial looks that trend continues with v3 to v4.
from recaf.
I understand a lot more now, and I understand, that 4.x will (as it stands right now) NEVER be available in NixOs (or at least imo), due to it requiring a wrapping launcher.
The launcher is just used to keep Recaf automatically up to date and to set up JavaFX dependencies, both of which can be done by a package manager. I don't see any reason why it would never be available.
from recaf.
I understand a lot more now, and I understand, that 4.x will (as it stands right now) NEVER be available in NixOs (or at least imo), due to it requiring a wrapping launcher.
I have not bothered with making 2.x available, since it just does not have the feature-set I am looking for.
from recaf.
No one forces you not implement this in nix:
Just download the JavaFX deps, assign the JDK and launch using this:
https://github.com/Col-E/Recaf-Launcher/blob/256cab79161784fa0f2855f880e4d7c86fa24163/src/main/java/software/coley/recaf/launch/commands/Run.java#L69-L101
from recaf.
flake.txt
This flake should do about the same as one of my earlier comments.
It will let you launch recaf in dev mode, thanks to the LD_LIBRARY_PATH
.
A ton of lines here are probably unnessesary. I just took something from another project of mine.
I still haven't gotten the file dialoges to work though. Idk how to properly apply the wrapGAppsHook
to a jar file.
from recaf.
Seems like there was a recent similar issue. It has the same caused by
block at the end.
from recaf.
I would probably only need to set my LD_LIBRARY_PATH
appropriately...
I only need to find the correct folder in almost 10k...
(I only really have to search like 10, and there are tools that can help with even that)
Also this is technically also related to 4.0 as it is a fundamental issue with nix and lib loading. (excluding 3.0 since that never got past snapshots)
from recaf.
Seems like there are still some issues with file dialogues.
https://nixos.wiki/wiki/Packaging/Quirks_and_Caveats#GLib-GIO-Message:_Using_the_.27memory.27_GSettings_backend._Your_settings_will_not_be_saved_or_shared_with
[nix-shell:~]$ java -jar ~/Downloads/recaf-launcher-0.1.3.jar auto
Attempting to resolve installed Recaf version...
Found Recaf's build config, checking contents...
- MAVEN_GROUP = software.coley
- MAVEN_NAME = recaf-core
- VERSION = 4.0.0-SNAPSHOT
- GIT_REVISION = 1
- GIT_SHA = 95bfd6142f92fd09493aea916d2a9035c857ce99
- GIT_DATE = 2023 11/05 05:44
- GIT_BRANCH = dev4
- BUILD_DATE = 2023 11/05 05:45
- BUILD_UNIX_TIME = 1699163124326
- DIRTY = 0
Attempting to resolve JFX version...
No JavaFX version class found in the current classpath
Java Properties:
- java.home = /nix/store/swdzzi5k5kcckjb7avpi0aip3hr6i0s6-openjdk-17.0.7+7/lib/openjdk
- java.version = 17.0.7
- java.vm.vendor = Oracle Corporation
- java.vm.version = 17.0.7+7-nixos
- javafx.platform = linux
- javafx.version = -1
- os.arch = amd64
- os.bitness = 64
- os.name = Linux
- os.processors = 12
- os.version = 6.1.60
- recaf.version = 4.0.0-SNAPSHOT
JFX cache:
- Files: 9547119
- Size: 9547119
Updated to JavaFX '22-ea+16'
Checked for update recently on 2023/11/13 14:43:57, will check again later in 26m 41s
Looking in '/home/user/.config/Recaf' for Recaf/dependencies...
Running Recaf '4.0.0-SNAPSHOT' with JavaFX '22-ea+16:linux'
14:47:16.556 [AccessPatcher/main] DEBUG: Opening access to all packages
14:47:16.569 [AccessPatcher/main] DEBUG: Patching package reflection restrictions
14:47:16.570 [JFXValidation/main] INFO : JavaFX initialized: 22-ea
14:47:16.572 [Bootstrap/main] INFO : Initializing Recaf 4.0.0-SNAPSHOT
14:47:16.572 [Bootstrap/main] INFO : Creating Recaf CDI container...
14:47:16.574 [Bootstrap/main] INFO : CDI: Adding interceptors & extensions
14:47:16.575 [Bootstrap/main] INFO : CDI: Registering bean packages
14:47:16.575 [Bootstrap/main] INFO : CDI: Running user-defined Consumer<Weld>
14:47:16.575 [Bootstrap/main] INFO : CDI: Initializing...
14:47:17.521 [Bootstrap/main] INFO : Recaf CDI container created in 949ms
14:47:17.540 [Main/main] TRACE: Compressing 0 old log files
14:47:17.558 [Lang/main] DEBUG: Found 5 translations
14:47:17.567 [Lang/main] INFO : Loaded translations 'zh_CN'
14:47:17.572 [Lang/main] INFO : Loaded translations 'en_US'
14:47:17.576 [Lang/main] INFO : Loaded translations 'sv_SE'
14:47:17.579 [Lang/main] INFO : Loaded translations 'cs_CZ'
14:47:17.581 [Lang/main] INFO : Loaded translations 'de_DE'
14:47:17.593 [Main/main] INFO : Initialization: No plugins found
Nov 13, 2023 2:47:17 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @66a2429c'
14:47:18.053 [ScriptManager/JavaFX Application Thread] DEBUG: Starting script directory watch task
14:47:18.564 [WindowManager/JavaFX Application Thread] DEBUG: Register stage: system-information
14:47:18.584 [WindowManager/JavaFX Application Thread] DEBUG: Register stage: mapping-progress
14:47:18.586 [WindowManager/JavaFX Application Thread] DEBUG: Register stage: script-manager
14:47:18.596 [WindowManager/JavaFX Application Thread] DEBUG: Register stage: remote-vms
14:47:18.730 [WindowManager/JavaFX Application Thread] DEBUG: Register stage: config
14:47:18.732 [WindowManager/JavaFX Application Thread] DEBUG: Register stage: main
14:47:18.737 [RecafURLStreamHandlerProvider/JavaFX Application Thread] TRACE: Installed Recaf URL stream handler
14:48:25.297 [BasicResourceImporter/path-loader-0] INFO : Reading input from ZIP container 'morejs-forge-1.19.2-0.2.1.jar.disabled'
14:48:25.398 [WorkspaceProcessing/path-loader-0] INFO : Applying workspace processor: Mark throwable types
14:52:49.697 [JavaContextActionSupport/java-parse-0] WARN : Parse error from source of: com/almostreliable/morejs/mixin/enchanting/EnchantmentMenuMixin after 100ms, err=java.lang.StringIndexOutOfBoundsException: String index out of range: 7868
java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)
java.base/java.lang.String.charAt(String.java:1513)
org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.arrayDimensions(ReloadableJava17ParserVisitor.java:1515)
org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitVariables(ReloadableJava17ParserVisitor.java:1472)
org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitVariable(ReloadableJava17ParserVisitor.java:1430)
org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitVariable(ReloadableJava17ParserVisitor.java:73)
com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:1045)
com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:86)
...
14:52:55.649 [JPhantomGenerator/recompile-0] DEBUG: Phantom analysis complete, generated 25 classes
14:52:55.650 [JvmDecompilerPane/recompile-0] DEBUG: Generated 25 phantoms for pre-compile
14:54:00.264 [JPhantomGenerator/recompile-0] DEBUG: Phantom analysis complete, generated 25 classes
14:54:00.265 [JvmDecompilerPane/recompile-0] DEBUG: Generated 25 phantoms for pre-compile
14:54:09.605 [JPhantomGenerator/recompile-0] DEBUG: Phantom analysis complete, generated 25 classes
14:54:09.606 [JvmDecompilerPane/recompile-0] DEBUG: Generated 25 phantoms for pre-compile
14:54:16.381 [JPhantomGenerator/recompile-0] DEBUG: Phantom analysis complete, generated 25 classes
14:54:16.381 [JvmDecompilerPane/recompile-0] DEBUG: Generated 25 phantoms for pre-compile
(java:421949): GLib-GIO-ERROR **: 14:55:17.678: No GSettings schemas are installed on the system
[nix-shell:~]$ java -jar ~/Downloads/recaf-2.21.13-J8-jar-with-dependencies.jar
14:55:58.969 [main] INFO : Recaf-2.21.13
14:55:58.971 [main] INFO : - Java: 17.0.7 (OpenJDK 64-Bit Server VM)
14:55:59.049 [main] TRACE: Loading configuration
Nov 13, 2023 2:55:59 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @66a2429c'
(java:427424): GLib-GIO-ERROR **: 14:56:02.992: No GSettings schemas are installed on the system
Trace/breakpoint trap (core dumped)
from recaf.
I can't really help with things on the native side of thing for an OS I don't run, but hopefully somebody else may have some valuable insight.
from recaf.
As Rat said, the launcher just does what a package manager should do. Its for users who are looking for an easy solution that sets itself up and makes updating easy.
Unlike before Recaf will never try to self-inject or manage JavaFx. 4x is probably more ideal than prior versions in this regards.
from recaf.
Related Issues (20)
- RuntimeVisibleAnnotations, RuntimeInvisibleAnnotations modify feature request
- A question. Is it possible to compile decompiled j2me-code? HOT 3
- Tiny V2 Mapping support HOT 1
- Tiny v1 mapping don't work HOT 6
- Cannot run Recaf 4.X on Windows HOT 4
- Please add search features to 4.x HOT 1
- Unsupported class file major version 65 HOT 2
- Unable to open Kotlin classes in Assembler HOT 1
- Classes not being updated in the information panel. HOT 1
- Methods to have their argument types on sides HOT 2
- The `default` window style gives unreadable white text HOT 1
- AgentInitializationException: Agent JAR loaded but agent failed to initialize when trying to attach to a running VM HOT 5
- Light theme option
- Impossible class rename HOT 1
- Cannot rename or open unicode named classes / variables in the code editor. HOT 1
- Recaf SRG mappings Broken HOT 5
- Restore FallbackDecompiler on 4.x branch HOT 1
- 4.X primary TODO list.
- Export files as-is from Recaf to outside
- can not running on mac os HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from recaf.