Hi On Sun, Dec 29, 2013 at 3:31 PM, Armin K. <krejzi@email.com> wrote:
On 12/28/2013 10:29 AM, Evgeniy Alekseev wrote:
On Tuesday 24 December 2013 14:02:43 Armin K. wrote:
I've contacted the maintainers of clang-svn two weeks ago (see comments) but he didn't responded yet. I'd like you to disown clang-svn so someone else can step up maintaining, but since I've asked maintainer of llvm-svn (which you can also see in comments of llvm-svn package) to merge clang-svn into it, you can go ahead and merge it instead of disowning it first, then merging it later.
https://aur.archlinux.org/packages/clang-svn into https://aur.archlinux.org/packages/llvm-svn
Hi. First, our rules assume communication with the maintainer via e-mail [1, the third paragraph], because some people disable notifications about new comments. And this package isn't marked as out-of-date.
I'll contact maintainer via e-mail then, but I might wait a week before doing that, since it's holidays time.
Second, I don't think merging clang into llvm is a good idea. I believe that packages in AUR must not contain several different packages (as clang and llvm), because it creates difficulties when creating a dependency tree and finding a needed package.
These 2 packages are different. llvm is a library and clang is a C frontend for it. llvm is used by many other projects.
clang package already contains llvm, since clang is built as part of llvm but is built differently than llvm and they conflict with each other in this case but they should belong with each other.
These packages should not conflict. llvm-svn should install only llvm specific files and clang-svn should install only clang specific files. I quickly looked at package() in clang-svn and it makes me believe that it installs llvm files also. Here is what clang-svn does https://aur.archlinux.org/packages/cl/clang-svn/PKGBUILD: cd "$srcdir/$_svnmod-build/build" make DESTDIR=$pkgdir install And it differs from package_clang() function in https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=p... cd "$srcdir/llvm-$pkgver.src/tools/clang" make DESTDIR="$pkgdir" install I believe clang-svn should do something similar, i.e. install only clang specific files.
As you can see in the pkgbuild, clang clones llvm source and everything from that source is built.
This is a problem of build system used by upstream project (in this case clang). On *nix, projects usually split its codebases into small pieces and if it requires additional dependencies (like headers/libraries) then they are installed as system packages. On systems that do not have good package managers (windows/osx) the only reasonable way to build the project is to pull all dependencies sources and build them as well, there is no other way to get those dependencies. That is why clang and many other projects pull dependencies sources and build them. Instead, on Linux, they should use system libraries. I filed a ticket for similar issue in liblikely https://github.com/biometrics/likely/issues/39 I think the best way to resolve the clang issue is to ask clang/llvm community to split the codebases, let clang to be built separately and let it use llvm system libraries/headers (at least as a build time option).