There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

unionagainstdhmo OP ,
@unionagainstdhmo@aussie.zone avatar

I’ve worked it out, thanks for the responses, maybe I didn’t word the question properly or something, but here’s what I did for anyone interested in the future:

You only need to do this once for every machine you want to work on.

Add the llvm freedesktop sdk extensions to get a clangd executable to your flatpak manifest:


<span style="color:#183691;">"sdk-extensions"</span><span style="color:#323232;">: [
</span><span style="color:#323232;">        </span><span style="color:#183691;">"org.freedesktop.Sdk.Extension.llvm18"
</span><span style="color:#323232;">    ],
</span>

Install these extensions:

  • Native Debug
  • Flatpak
  • Meson Build
  • clangd (optional)

Run the Flatpak: Build command in the command palette (Ctrl+Shift+P) this might take a minute. Make sure you have the required sdks installed (see the manifest for details).

There should now be two folders: .flatpak and _build. There should also be a script generated at .flatpak/meson.sh. Run:


<span style="color:#323232;">python gen-flatpak-scripts.py
</span>

This will generate .flatpak/gdb.sh and .flatpak/clangd.sh. If you want to use the clangd vscode extension extension add this to .vscode/settings.json:


<span style="color:#183691;">"clangd.path"</span><span style="color:#323232;">: </span><span style="color:#183691;">"./.flatpak/clangd.sh"
</span>

Now run the clangd: Restart language server command in the command palette (Ctrl+Shift+P) and you should be good to go!

gen-flatpak-scripts.py:


<span style="font-style:italic;color:#969896;"># Simple script to generate scripts to make life easy when using flatpak with vscode
</span><span style="color:#323232;">
</span><span style="font-weight:bold;color:#a71d5d;">import </span><span style="color:#323232;">subprocess;
</span><span style="color:#323232;">
</span><span style="font-weight:bold;color:#a71d5d;">def </span><span style="font-weight:bold;color:#323232;">gen_script</span><span style="color:#323232;">(outfile, exec):
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">with </span><span style="color:#62a35c;">open</span><span style="color:#323232;">(</span><span style="color:#183691;">".flatpak/meson.sh"</span><span style="color:#323232;">, </span><span style="color:#183691;">"rt"</span><span style="color:#323232;">) </span><span style="font-weight:bold;color:#a71d5d;">as </span><span style="color:#323232;">fin:
</span><span style="color:#323232;">        </span><span style="font-weight:bold;color:#a71d5d;">with </span><span style="color:#62a35c;">open</span><span style="color:#323232;">(outfile, </span><span style="color:#183691;">"wt"</span><span style="color:#323232;">) </span><span style="font-weight:bold;color:#a71d5d;">as </span><span style="color:#323232;">fout:
</span><span style="color:#323232;">            </span><span style="font-weight:bold;color:#a71d5d;">for </span><span style="color:#323232;">line </span><span style="font-weight:bold;color:#a71d5d;">in </span><span style="color:#323232;">fin:
</span><span style="color:#323232;">                fout.write(line.replace(</span><span style="color:#183691;">"/usr/bin/meson"</span><span style="color:#323232;">, </span><span style="color:#62a35c;">exec</span><span style="color:#323232;">))
</span><span style="color:#323232;">    subprocess.run([</span><span style="color:#183691;">"chmod"</span><span style="color:#323232;">, </span><span style="color:#183691;">"+x"</span><span style="color:#323232;">, outfile])
</span><span style="color:#323232;">
</span><span style="font-style:italic;color:#969896;"># GDB for debugging
</span><span style="color:#323232;">gen_script(</span><span style="color:#183691;">".flatpak/gdb.sh"</span><span style="color:#323232;">, </span><span style="color:#183691;">"/usr/bin/gdb"</span><span style="color:#323232;">)
</span><span style="font-style:italic;color:#969896;"># clangd for suggestions
</span><span style="color:#323232;">gen_script(</span><span style="color:#183691;">".flatpak/clangd.sh"</span><span style="color:#323232;">, </span><span style="color:#183691;">"/usr/lib/sdk/llvm18/bin/clangd"</span><span style="color:#323232;">)
</span>
  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines