diff --git a/container.yaml b/container.yaml new file mode 100644 index 0000000..d4f9c71 --- /dev/null +++ b/container.yaml @@ -0,0 +1,60 @@ +flatpak: + id: org.fedoraproject.Sdk.Extension.llvm21 + branch: f44 + build-extension: true + runtime: org.fedoraproject.Sdk + runtime-version: f44 + sdk: org.fedoraproject.Sdk + name: f44/llvm21 + component: llvm21-flatpak + packages: + - clang21 + - clang21-analyzer + - clang21-devel + - clang21-libs + - clang21-tools-extra + - clang21-tools-extra-devel + - compiler-rt21 + - git-clang-format21 + - libcxx + - libcxx-devel + - libcxxabi + - libcxxabi-devel + - libomp21 + - libomp21-devel + - lld21 + - lld21-devel + - lld21-libs + - lldb21 + - lldb21-devel + - llvm21 + - llvm21-cmake-utils + - llvm21-devel + - llvm21-googletest + - llvm21-libs + - llvm-libunwind + - llvm-libunwind-devel + - llvm21-test + - python3-clang21 + - python3-lit + - python3-lldb + - llvm21-flatpak-config + # for cleanup-commands (part of runtime) + - coreutils-single + - rpm + - sed + cleanup-commands: | + mkdir -p /app/{bin,include,lib64,libexec,share} + for f in `rpm -aql clang21* compiler-rt21 git-clang-format21 libcxx* libomp21* lld21* lldb21* llvm21* llvm-libunwind* python3-{clang,lit,lldb}`; do \ + case $f in /usr/lib/.build-id*|/app/*) continue ;; esac ; \ + if [ ! -d $f ]; then d=$(echo $f | sed -e 's|^/usr/\(.*\)/[^/]*$|/app/\1|;s|^\(/etc/.*\)/[^/]*|/app/\1|'); mkdir -p $d; mv $f $d; fi; \ + done + mv /app/lib64/llvm21/bin/* /app/bin/ + mv /app/lib64/llvm21/include/* /app/include/ + mv /app/lib64/llvm21/lib64/* /app/lib64/ + mv /app/lib64/llvm21/libexec/* /app/libexec/ + mv /app/lib64/llvm21/share/* /app/share/ + for f in /app/bin/*-21; do if [ -L $f -a -f ${f%-21} ]; then rm $f; fi; done + ln -sfn ../../../liblldb.so.21.1 /app/lib64/python3.14/site-packages/lldb/_lldb.so + ln -sfn ../share/clang/clang-format-diff.py /app/bin/clang-format-diff + rm -f /app/bin/ld