Package Details: clang-minimal-git 19.0.0_r496188.172f6ddfa766-1

Git Clone URL: https://aur.archlinux.org/llvm-minimal-git.git (read-only, click to copy)
Package Base: llvm-minimal-git
Description: C language family frontend for LLVM (trimmed down git version)
Upstream URL: https://llvm.org/
Licenses: custom:Apache 2.0 with LLVM Exception
Conflicts: clang, compiler-rt
Provides: clang, clang-analyzer, clang-tools-extra, compiler-rt
Submitter: Lone_Wolf
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 5
Popularity: 0.50
First Submitted: 2019-05-14 19:32 (UTC)
Last Updated: 2024-04-18 22:06 (UTC)

Dependencies (15)

Required by (1240)

Sources (1)

Pinned Comments

Lone_Wolf commented on 2022-11-02 11:39 (UTC)

During building you may encounter lots of coredumps, slowing build down or even dramatically reducing the responsiveness of your system.

See https://wiki.archlinux.org/title/Core_dump for solutions/workarounds .

Lone_Wolf commented on 2020-08-22 12:30 (UTC) (edited on 2020-08-22 12:31 (UTC) by Lone_Wolf)

Archlinux currently has 3 llvm git implementations

  1. this package

    • see other pinned comments for details
  2. llvm-git

    • It aims to provide a full llvm/clang compiler environment for development purposes.
    • Supports cross-compiling , bindings for external stuff (python, ocaml etc) , and some things not in extra-llvm.
    • intended to be used with archlinux core,extra & community repos
    • CONFLICTS with extra llvm/clang packages
    • binary versions in chaotic aur unofficial repository
  3. packages created & maintained by Lordheavy, an arch developer

    • intended to be used with archlinux testing repos
    • sometimes has problems on systems where testing repos are disabled
    • uses same package structure as llvm/clang in official repos
    • source
    • binary versions in LordHeavys unoffical repo

Lone_Wolf commented on 2019-08-25 12:39 (UTC) (edited on 2021-01-30 21:15 (UTC) by Lone_Wolf)

Why does this package exist ?

Llvm & aur llvm-git are intended to provide a full development environment of llvm/clang suite that can replace eachother completely (aur llvm-git adds some xtra functionality)

llvm-minimal-git is a stripped-down llvm trunk build with these goals :

  • llvm-libs-minimal-git must coexist with stable llvm-libs
  • provide what's needed for mesa trunk (it's a hard dependency for mesa-minimal-git and a possible dependeny for mesa-git)
  • provide basic llvm/clang compiler functionality on x86-64 architecture

Some of the things that are stripped out :

  • cross-compiling support
  • bindings for ocaml
  • bindings for go
  • lld , lldb and polly
  • documentation
  • examples
  • benchmarks

Maintainers (and users) should only depend on llvm-miminal-git after verifying it satisfies what they need.

Lone_Wolf commented on 2019-08-21 13:51 (UTC) (edited on 2024-02-24 20:50 (UTC) by Lone_Wolf)

When building this you are likely to see test failures in terminal output / logs.

The command used for the tests has been changed to continue regardless of failures. Incase you don't want to run the tests you can use --nocheck option of makepkg.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 Next › Last »

archdevlab commented on 2023-04-15 15:37 (UTC) (edited on 2023-04-15 15:40 (UTC) by archdevlab)

you shout also add these lines in the PKGBUILD like mention in the patch

The python and runtime libraries go into clang-libs

mv -f "$pkgdir"/usr/lib/libclang{,-cpp}.so* "$srcdir"

mv -f "$pkgdir"/usr/lib/{libear,libscanbuild} "$srcdir"

mv -f "$pkgdir"/usr/libexec "$srcdir"

mv -f "$pkgdir"/usr/bin/scan-build "$srcdir"

package_clang-libs() {

depends=('llvm-libs')

optdepends=('python: for the python bindings')

cd "$srcdir/$pkgbase-$pkgver.src/build"

# Move in libraries ejected at end of package_clang

install -d "$pkgdir/usr/lib"

install -d "$pkgdir/usr/lib/clang"

install -d "$pkgdir/usr/bin"

cp -a "$srcdir"/libclang{,-cpp}.so* "$pkgdir/usr/lib"

# These three moved again below, but keeping those blocks untouched for cleaner merges with upstream monopackage.

cp -a "$srcdir"/{libear,libscanbuild} "$pkgdir/usr/lib"

cp -av "$srcdir"/libexec "$pkgdir"/usr/

cp -av "$srcdir"/scan-build "$pkgdir"/usr/bin/

Also maybe spliting clang into its hown package and make a hard depend on clang-libs ?

Like in this patch https://bugs.archlinux.org/task/72588?getfile=21109 ?

Lone_Wolf commented on 2023-04-15 13:51 (UTC)

Very interesting talk. I have split off clang runtime libs into a new clang-libs-minimal-git package.

archdevlab commented on 2023-04-15 03:26 (UTC)

@Lone_Wolf

The reason for that comment is that clang there is a talk about spliting clang and clang libs in Archlinux . https://bugs.archlinux.org/task/72588?project=1&string=llvm

Thanks!

Lone_Wolf commented on 2023-04-14 22:49 (UTC)

I was unable to reproduce the case where rusticl needed complete llvm-minimal-git support to work, so removed it as dep from rusticl-minimal-git .

Lone_Wolf commented on 2023-04-13 23:08 (UTC) (edited on 2023-04-13 23:09 (UTC) by Lone_Wolf)

The reason to add clang-cpp in that commit was that opencl only needed that library to work, the rest of llvm-minimal-git wasn't needed.

I guess your suggestion is related to https://aur.archlinux.org/cgit/aur.git/commit/?h=mesa-minimal-git&id=d665a1fc7ba6b907c13f0cc37ab36467e4efded5 where llvm-minimal-git was added as dep to rusticl-minimal-git ?

Have you verified if libclang.so.17.0.0 is the only thing from llvm-minimal-git rusticl needs to build opencl kernels ?

archdevlab commented on 2023-04-13 22:52 (UTC)

since commit : https://aur.archlinux.org/cgit/aur.git/commit/?h=llvm-minimal-git&id=6b54cc050a5bbae197285eec695e73231547fcf6 you added clang-cpp to llvm-libs-minimal-git .

But why not adding libclang to ? libclang.so libclang.so.17 libclang.so.17.0.0

Lone_Wolf commented on 2023-03-23 08:31 (UTC)

The patches have been removed after mesa got changes that deal with the legacy passmanager removal, update the PKGBUILD.

llvm trunk does indeed have a hard failure during check-clang-tools but that is not related to the patches.

I haven't investigated if the test crash was reported upstream, but have not noticed issues from building with --nocheck .

ms178 commented on 2023-03-16 18:32 (UTC)

Unfortunately, the patches need some work again. Various release notes diffs fail, one test and this one in Patch 3: 1 out of 4 hunks FAILED -- saving rejects to file llvm/include/llvm/LinkAllPasses.h.rej

Arkse commented on 2023-03-14 00:09 (UTC) (edited on 2023-03-14 00:09 (UTC) by Arkse)

This is the one we need to revert as 0008 :

[PassManagerBuilder] Remove PassManagerBuilder

Lone_Wolf commented on 2023-03-11 13:26 (UTC) (edited on 2023-03-11 13:27 (UTC) by Lone_Wolf)

blackmoon3, I had to add 3 more reverts just to get the original revert working again.

I've tried to add a revert for the commit you mentioned but it can't be reverted cleanly . increassing fuzz doesn't help, I think more commits need to be reverted to keep that function for clover working .

This is what I get when adding a revert for that commit between 0002 and 0001 .

patching file llvm/bindings/ocaml/transforms/ipo/ipo_ocaml.c
Hunk #1 FAILED at 67.
1 out of 1 hunk FAILED -- saving rejects to file llvm/bindings/ocaml/transforms/ipo/ipo_ocaml.c.rej
patching file llvm/bindings/ocaml/transforms/ipo/llvm_ipo.ml
Hunk #1 FAILED at 30.
1 out of 1 hunk FAILED -- saving rejects to file llvm/bindings/ocaml/transforms/ipo/llvm_ipo.ml.rej
patching file llvm/bindings/ocaml/transforms/ipo/llvm_ipo.mli
Hunk #1 FAILED at 50.
1 out of 1 hunk FAILED -- saving rejects to file llvm/bindings/ocaml/transforms/ipo/llvm_ipo.mli.rej
patching file llvm/include/llvm-c/Transforms/IPO.h
Hunk #1 succeeded at 42 with fuzz 2 (offset -9 lines).
patching file llvm/include/llvm/InitializePasses.h
Hunk #2 succeeded at 367 (offset -13 lines).
Hunk #3 succeeded at 391 (offset -13 lines).
patching file llvm/include/llvm/LinkAllPasses.h
Hunk #1 succeeded at 101 (offset -3 lines).
Hunk #2 succeeded at 138 (offset -10 lines).
Hunk #3 succeeded at 179 (offset -12 lines).
Hunk #4 FAILED at 205.
1 out of 4 hunks FAILED -- saving rejects to file llvm/include/llvm/LinkAllPasses.h.rej
patching file llvm/include/llvm/Transforms/IPO.h
Hunk #2 succeeded at 112 with fuzz 2 (offset 2 lines).
Hunk #3 FAILED at 158.
1 out of 3 hunks FAILED -- saving rejects to file llvm/include/llvm/Transforms/IPO.h.rej
patching file llvm/include/llvm/Transforms/Scalar.h
Hunk #1 succeeded at 442 (offset -80 lines).
patching file llvm/include/llvm/Transforms/Scalar/WarnMissedTransforms.h
patching file llvm/include/llvm/Transforms/Utils.h
patching file llvm/include/llvm/Transforms/Vectorize.h
patching file llvm/lib/Transforms/IPO/IPO.cpp
Hunk #1 succeeded at 31 with fuzz 2 (offset -4 lines).
Hunk #2 FAILED at 43.
Hunk #3 succeeded at 64 with fuzz 2 (offset -18 lines).
1 out of 3 hunks FAILED -- saving rejects to file llvm/lib/Transforms/IPO/IPO.cpp.rej
patching file llvm/lib/Transforms/IPO/Internalize.cpp
patching file llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
Hunk #1 succeeded at 211 with fuzz 1 (offset -3 lines).
Hunk #2 succeeded at 244 (offset -9 lines).
Hunk #3 succeeded at 265 (offset -9 lines).
Hunk #4 succeeded at 388 (offset -21 lines).
patching file llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp
patching file llvm/lib/Transforms/IPO/StripSymbols.cpp
Hunk #3 FAILED at 290.
Hunk #4 succeeded at 376 (offset -42 lines).
1 out of 4 hunks FAILED -- saving rejects to file llvm/lib/Transforms/IPO/StripSymbols.cpp.rej
patching file llvm/lib/Transforms/Scalar/Scalar.cpp
Hunk #1 FAILED at 71.
1 out of 1 hunk FAILED -- saving rejects to file llvm/lib/Transforms/Scalar/Scalar.cpp.rej
patching file llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp
patching file llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp
patching file llvm/lib/Transforms/Utils/Utils.cpp
patching file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
patching file llvm/lib/Transforms/Vectorize/Vectorize.cpp
patching file llvm/test/Bindings/OCaml/ipo.ml
Hunk #1 FAILED at 55.
1 out of 1 hunk FAILED -- saving rejects to file llvm/test/Bindings/OCaml/ipo.ml.rej