bombo82 / bombo82-overlay

My own collection of ebuilds
GNU General Public License v2.0
14 stars 8 forks source link

Add Rider #11

Closed slonopotamus closed 1 year ago

slonopotamus commented 2 years ago

Subj, it would be cool if Rider was also available through this overlay.

bombo82 commented 2 years ago

Hi, I think so too.

I'm not a .NET developer and I wouldn't know where to start to set up a .NET development environment in gentoo. If I create a test ebuild for Rider, would you help me test and fix it?

slonopotamus commented 2 years ago

Sure

bombo82 commented 2 years ago

Hi Marat, I added Rider.

Could you try it out and give me feedback? The current status is:

I am not sure if .NET is set up correctly on my pc :-( I think the run problem is due to .NET installation on my pc and not related to Rider.

I look forward to your feedback, thank you so much, Gianni

slonopotamus commented 2 years ago

Sorry for the delay. I didn't have any issues with .NET projects, but UnrealEngine support needs some fixes: files in /opt/rider-2022.1.2/plugins/cidr-debugger-plugin/bin/lldb/linux/bin/ should have executable bit set. Otherwise, debugging doesn't work.

There's also this when you debug a process:

2022-06-13 20:34:08,596 [  79420]   WARN - #c.j.cidr - Cannot set executable flag for /opt/rider-2022.1.2/plugins/cidr-debugger-plugin/bin/lldb/linux/lib/liblldb.so
java.nio.file.FileSystemException: /opt/rider-2022.1.2/plugins/cidr-debugger-plugin/bin/lldb/linux/lib/liblldb.so: Операция не позволена
        at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
        at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setMode(UnixFileAttributeViews.java:254)
        at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions(UnixFileAttributeViews.java:276)
        at java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2155)
        at com.jetbrains.cidr.CidrPathManager.U(CidrPathManager.java:100)
        at com.jetbrains.cidr.CidrPathManager.getBinPath(CidrPathManager.java:63)
        at com.jetbrains.cidr.execution.debugger.CidrDebuggerPathManager.getBinFile(CidrDebuggerPathManager.java:49)
        at com.jetbrains.cidr.execution.debugger.CidrDebuggerPathManager.getLLDBBinFile(CidrDebuggerPathManager.java:15)
        at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriverConfiguration.getBundledLLDBFrameworkFile(LLDBDriverConfiguration.java:116)
        at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriverConfiguration.getLLDBFrameworkFile(LLDBDriverConfiguration.java:99)
        at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriverConfiguration.createLLDBFrontendCommandLine(LLDBDriverConfiguration.java:149)
        at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriverConfiguration.createDriverCommandLine(LLDBDriverConfiguration.java:140)
        at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriver.startDriver(LLDBDriver.java:425)
        at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriver.<init>(LLDBDriver.java:336)
        at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriverConfiguration.createDriver(LLDBDriverConfiguration.java:89)
        at com.jetbrains.rider.cpp.debugger.RiderCppLLDBDriverConfiguration.createDriver(RiderCppLLDBDriverConfiguration.kt:21)
        at com.jetbrains.rider.cpp.debugger.RiderCppLLDBDriverConfiguration.createDriver(RiderCppLLDBDriverConfiguration.kt:15)
        at com.jetbrains.cidr.execution.debugger.CidrDebugProcess.<init>(CidrDebugProcess.java:201)
        at com.jetbrains.cidr.execution.debugger.CidrDebugProcess.<init>(CidrDebugProcess.java:177)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugProcess.<init>(RiderCppDebugProcess.kt:16)
        at com.jetbrains.rider.cpp.debugger.RiderCppLocalDebugProcess.<init>(RiderCppLocalDebugProcess.kt:15)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugProcessStarter.start(RiderCppDebugRunner.kt:185)
        at com.intellij.xdebugger.impl.XDebuggerManagerImpl.startSession(XDebuggerManagerImpl.java:271)
        at com.intellij.xdebugger.impl.XDebuggerManagerImpl.startSession(XDebuggerManagerImpl.java:232)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugRunner.doInitSession(RiderCppDebugRunner.kt:125)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugRunner.doInitSession(RiderCppDebugRunner.kt:109)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugRunner.initSession(RiderCppDebugRunner.kt:99)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugRunner.doExecute(RiderCppDebugRunner.kt:63)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugRunner.access$doExecute(RiderCppDebugRunner.kt:33)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugRunner$execute$1.invokeSuspend(RiderCppDebugRunner.kt:49)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:367)
        at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
        at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
        at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
        at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.async(Builders.common.kt:91)
        at kotlinx.coroutines.BuildersKt.async(Unknown Source)
        at com.jetbrains.rd.framework.util.RdCoroutineScope.async(RdCoroutineScope.kt:71)
        at com.jetbrains.rd.framework.util.LifetimeCoroutineUtilKt.startAsync(LifetimeCoroutineUtil.kt:54)
        at com.intellij.openapi.rd.util.RdCoroutinesUtilKt.startOnUiAsync(RdCoroutinesUtil.kt:44)
        at com.intellij.openapi.rd.util.RdCoroutinesUtilKt.startOnUiAsync$default(RdCoroutinesUtil.kt:42)
        at com.jetbrains.rider.cpp.debugger.RiderCppDebugRunner.execute(RiderCppDebugRunner.kt:49)
        at com.jetbrains.rider.run.RiderAsyncProgramRunner$execute$1$1.fun(RiderAsyncProgramRunner.kt:42)
        at com.jetbrains.rider.run.RiderAsyncProgramRunner$execute$1$1.fun(RiderAsyncProgramRunner.kt:20)
        at org.jetbrains.concurrency.DonePromise.thenAsync(promise.kt:390)
        at com.jetbrains.rider.run.RiderAsyncProgramRunner$execute$1.invoke(RiderAsyncProgramRunner.kt:38)
        at com.jetbrains.rider.run.RiderAsyncProgramRunner$execute$1.invoke(RiderAsyncProgramRunner.kt:20)
        at com.intellij.execution.impl.ExecutionManagerImpl$startRunProfile$1.invoke(ExecutionManagerImpl.kt:173)
        at com.intellij.execution.impl.ExecutionManagerImpl$startRunProfile$1.invoke(ExecutionManagerImpl.kt:72)
        at com.intellij.execution.impl.ExecutionManagerImpl$doStartRunProfile$startRunnable$1.run(ExecutionManagerImpl.kt:234)
        at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:215)
        at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
        at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:197)
        at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873)
        at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:511)
        at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:69)
        at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:112)
        at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:42)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898)
        at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:746)
        at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439)
        at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:803)
        at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438)
        at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
        at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604)
        at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436)
        at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
bombo82 commented 2 years ago

I fixed the permission for UnrealEngine, let me know if it works fine.

Blackburn29 commented 2 years ago

Not sure if this fixes/helps with the permissions issues, but this is my build of rider that so far has been working properly for me. (Although I haven't test UE support)

File permissions highlighted for brevity: https://github.com/Blackburn29/blackburn29-overlay/blob/master/dev-dotnet/rider/rider-2022.2.ebuild#L46-L53