Updated with suggestion from @oliv.
@Krejzi let me know if you have any other issue with the package.
Search Criteria
Package Details: llvm-ocaml-git 18.0.0_r484887.953ae94149f0-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/llvm-git.git (read-only, click to copy) |
---|---|
Package Base: | llvm-git |
Description: | OCaml bindings for LLVM |
Upstream URL: | https://llvm.org/ |
Keywords: | clang git lld lldb llvm polly |
Licenses: | custom:Apache 2.0 with LLVM Exception |
Conflicts: | llvm-ocaml |
Provides: | llvm-ocaml |
Submitter: | yurikoles |
Maintainer: | rjahanbakhshi |
Last Packager: | rjahanbakhshi |
Votes: | 118 |
Popularity: | 0.012336 |
First Submitted: | 2018-12-05 13:56 (UTC) |
Last Updated: | 2024-04-17 08:17 (UTC) |
Dependencies (28)
- llvm-gitAUR
- ocaml
- ocaml-ctypes
- cmake (cmake-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- jsoncpp (jsoncpp-cmake-gitAUR, jsoncpp-cmakeAUR, jsoncpp-gitAUR) (make)
- libedit (make)
- libffi (libffi-gitAUR) (make)
- libxml2 (libxml2-gitAUR, libxml2-2.9AUR) (make)
- lldb (llvm-rocm-gitAUR, llvm-gitAUR) (make)
- lua53 (make)
- ncurses (ncurses-gitAUR) (make)
- ninja (ninja-kitwareAUR, ninja-memAUR, ninja-fuchsia-gitAUR, ninja-gitAUR, ninja-jobserverAUR) (make)
- ocaml (make)
- ocaml-ctypes (make)
- ocaml-findlib (make)
- ocaml-stdlib-shims (make)
- ocl-icd (khronos-ocl-icd-gitAUR, khronos-ocl-icdAUR) (make)
- opencl-headers (opencl-headers-gitAUR) (make)
- python (python37AUR, python311AUR, python310AUR) (make)
- python-myst-parser (python-myst-parser018AUR) (make)
- python-recommonmark (make)
- python-setuptools (make)
- python-six (make)
- python-sphinx (python-sphinx-gitAUR) (make)
- swig (swig-gitAUR) (make)
- z3 (z3-gitAUR) (make)
- python-psutil (check)
Required by (0)
Sources (2)
Latest Comments
« First ‹ Previous 1 .. 53 54 55 56 57 58 59 60 61 62 63 .. 70 Next › Last »
cbab commented on 2013-12-10 13:30 (UTC)
xdegaye commented on 2013-12-09 20:26 (UTC)
@mtahmed
I will check those problems in r196787 first and then update PKGBUILD
with `svn update -r <good_revision>`. This should take a couple of
days. Nice that the pull request went smoothly with github, learning
every day :-)
oliv commented on 2013-12-09 18:47 (UTC)
Here is the package synchronized with llvm from extra, using multiple package targets (llvm-svn, llvm-libs-svn, llvm-ocaml-svn...):
# Maintainer: Christian Babeux <christian.babeux@0x80.ca>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Roberto Alsina <ralsina@kde.org>
# Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk>
# Contributor: Anders Bergh <anders@archlinuxppc.org>
# Contributor: Tomas Wilhelmsson <tomas.wilhelmsson@gmail.com>
pkgbase=llvm-svn
pkgname=llvm-svn
true && pkgname=('llvm-svn' 'llvm-libs-svn' 'llvm-ocaml-svn')
_pkgname='llvm'
pkgver=196580
pkgrel=1
pkgdesc='Low Level Virtual Machine - Compiler infrastructure.'
arch=('i686' 'x86_64')
url="http://llvm.org"
license=('custom:University of Illinois/NCSA Open Source License')
makedepends=('subversion' 'libffi' 'python2' 'ocaml' 'python-sphinx')
options=('staticlibs')
source=("${_pkgname}::svn+http://llvm.org/svn/llvm-project/llvm/trunk")
sha1sums=('SKIP')
# this is always the latest svn so debug info can be useful
options=('!strip')
pkgver()
{
cd "$SRCDEST/${_pkgname}"
svnversion | tr -d [A-z]
}
build()
{
cd "${srcdir}/${_pkgname}"
# Apply strip option to configure
_optimized_switch="enable"
[[ $(check_option strip) == n ]] && _optimized_switch="disable"
# Include location of libffi headers in CPPFLAGS
CPPFLAGS+=" $(pkg-config --cflags libffi)"
# Force the use of GCC instead of clang
CC=gcc CXX=g++ \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--enable-shared \
--enable-libffi \
--enable-targets=all \
--disable-expensive-checks \
--disable-debug-runtime \
--disable-assertions \
--with-binutils-include=/usr/include \
--with-python=/usr/bin/python2 \
--$_optimized_switch-optimized
make REQUIRES_RTTI=1
make -C docs -f Makefile.sphinx man
make -C docs -f Makefile.sphinx html
}
package_llvm-svn() {
pkgdesc="Low Level Virtual Machine"
depends=("llvm-libs-svn=$pkgver-$pkgrel" 'perl')
provides=('llvm')
conflicts=('llvm')
cd "${srcdir}/${_pkgname}"
# -j1 is due to race conditions during the installation of the OCaml bindings
make -j1 DESTDIR="$pkgdir" install
# The runtime library goes into llvm-libs
mv "$pkgdir"/usr/lib/libLLVM-*.so "$srcdir"
# OCaml bindings go to a separate package
rm -rf "$srcdir"/{ocaml,ocamldoc}
mv "$pkgdir"/usr/{lib/ocaml,docs/llvm/ocamldoc} "$srcdir"
# Remove duplicate files installed by the OCaml bindings
rm "$pkgdir"/usr/{lib/libllvm*,docs/llvm/ocamldoc.tar.gz}
# Fix permissions of static libs
chmod -x "$pkgdir"/usr/lib/*.a
# Get rid of example Hello transformation
rm "$pkgdir"/usr/lib/*LLVMHello.*
# Symlink LLVMgold.so into /usr/lib/bfd-plugins
# (https://bugs.archlinux.org/task/28479)
install -d "$pkgdir/usr/lib/bfd-plugins"
ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
ls
#if [[ $CARCH == x86_64 ]]; then
# Needed for multilib (https://bugs.archlinux.org/task/29951)
# Header stubs are taken from Fedora
#for _header in config llvm-config; do
# echo "$pkgdir/usr/include/llvm/Config/$_header"{,-64}.h
# mv "$pkgdir/usr/include/llvm/Config/$_header"{,-64}.h
# cp "$srcdir/llvm-Config-$_header.h" \
# "$pkgdir/usr/include/llvm/Config/$_header.h"
#done
#fi
# Install man pages
install -d "$pkgdir/usr/share/man/man1"
cp docs/_build/man/*.1 "$pkgdir/usr/share/man/man1/"
# Install html docs
cp -r docs/_build/html/* "$pkgdir/usr/docs/$_pkgname/html/"
rm -r "$pkgdir/usr/docs/$_pkgname/html/_sources"
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_llvm-libs-svn() {
pkgdesc="Low Level Virtual Machine (runtime library)"
depends=('gcc-libs' 'zlib' 'libffi')
provides=('llvm-libs')
conflicts=('llvm-libs')
mkdir -p "$pkgdir"/usr/lib/
install -D "$srcdir"/libLLVM-*.so "$pkgdir/usr/lib/"
install -Dm644 "${srcdir}/${_pkgname}/LICENSE.TXT" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_llvm-ocaml-svn() {
pkgdesc="OCaml bindings for LLVM"
depends=("llvm-svn=$pkgver-$pkgrel" 'ocaml')
provides=('llvm-ocaml')
conflicts=('llvm-ocaml')
cd "${srcdir}/${_pkgname}"
install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm}
cp -r "$srcdir/ocaml" "$pkgdir/usr/lib"
cp -r "$srcdir/ocamldoc" "$pkgdir/usr/share/doc/llvm"
# Remove execute bit from static libraries
chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/llvm-ocaml/LICENSE"
}
# vim:set ts=2 sw=2 et:
mtahmed commented on 2013-12-09 18:07 (UTC)
@xdegaye
Yes, I merged your pull request in and I made a comment pointing out this error.
It should just be as simple as `svn update -r <good_revision>` before export right?
xdegaye commented on 2013-12-09 17:27 (UTC)
@mtahmed
Pull request done to your github repo.
Argh wait, they just commited r196787 with another bug:
no ‘lldb_private::Error ProcessLinux::DoResume()’ member function declared in class ‘ProcessLinux’
I will look into it.
Maybe PKGBUILD should be changed to checkout a revision that we know is building without error.
xdegaye commented on 2013-12-08 23:45 (UTC)
@mtahmed
No problem, I will do as you suggest, it is indeed much more efficient.
I did make sure to write these codepads with unix LFs, so it must be
codepad that have mapped them to CRLFs, probably because I flagged them
as Language 'Text', should have used 'C' instead.
mtahmed commented on 2013-12-08 23:22 (UTC)
@xdegaye
Thanks a lot for taking the time to patch this. I am however very (very) busy these days and although writing this message also takes time, it's worth it since you are a regular contributor. Could you please instead send a pull request to the github repo where I am maintain this (https://github.com/mtahmed/aur)? It's also probably easier for you to contribute patches as well after the first time.
I have to download the files, convert them (dos2unix), manually generate diffs to see the changes, package it and then update the this AUR.
I would really appreciate if you could do that instead (and use Unix line terminators :) ... not sure if it's codepad that adds the dos line terminators). Thanks!
xdegaye commented on 2013-12-08 23:02 (UTC)
Build fails on the current lldb svn head. The following mails to upstream list the problems and
propose two patches:
http://thread.gmane.org/gmane.comp.debugging.lldb.devel/2792
http://thread.gmane.org/gmane.comp.debugging.lldb.devel/2793
http://thread.gmane.org/gmane.comp.debugging.lldb.devel/2794
PKGBUILD at http://codepad.org/bWHG8EkT fixes temporarily the problems with
sin_len.patch at http://codepad.org/zAr2beuT and usr_bin_env_python.patch
at http://codepad.org/Eurthufy.
This PKGBUILD can be used while waiting for upstream to fix the two bugs.
In any case, the '-DLLVM_ENABLE_CXX11=ON' cmake variable is needed now.
Pinned Comments
Lone_Wolf commented on 2021-08-16 11:26 (UTC)
When you have this package installed applications that are built against repo-llvm/clang WILL fail unless they are rebuild against this package.
This includes QTCreator, kdevelop , mesa, intel-compute-runtime, gnome-builder to name a few.
Lone_Wolf commented on 2020-08-22 12:18 (UTC) (edited on 2021-02-06 12:51 (UTC) by Lone_Wolf)
Archlinux currently has 3 llvm git implementations
This package
llvm-minimal-git
packages created & maintained by Lordheavy, an arch developer
Lone_Wolf commented on 2019-04-12 20:41 (UTC) (edited on 2019-12-16 22:45 (UTC) by Lone_Wolf)
I've looked good at clang-trunk , llvm-svn, repo llvm/clang packages and think this package is now on route to become a worthy successor to llvm-svn .
llvm-libs-git holds the runtime libraries.
llvm-git
The Package now uses a new environment variable to make ninja behave, NINJAFLAGS. If you want to use it adjust the snippet below to your desired values and add it to makepkg.conf.
Incase you are satisfied with ninja defaults you don't need to do anything.
The check() function fails rather often, but I do suggest to build with them. If build fails due to test failure you can add --nocheck to skip the tests.