[aur-general] Proposed PKGBUILD for next llvm build
Hi While fixing the insecure RPATH in community/llvm package [#1] also fixed some others issues that I encountered. (List of files in the generated packaged can viewed here [#2]) This is the list of changes from the original PKGBUILD: 0) Updated to the latest llvm version. 1) Removed libtool dependency, is only needed at build time. 2) Use the license from tarball, instead of downloading it, since is the same, that are in webpage. 3) Fixed libdir, use /usr/lib/llvm instead of /usr/lib, this is more apropiated since llvm put some .o files that are relocatable. 4) Fixed insecure rpath in all binary files. 5) Fixed the path from scripts gccld and gccas that points to build directory instead of /usr/bin 6) Removed the build of sample hello transformation. 7) Use PIC code on x86_64 builds (--enable-pic). 8) Build only for the target machine instead of all supported. 9) Added --enable-bindings=none, since if ocaml is installed will build some files for it. 10) Put --enable-optimized at configure script intead of make var. 11) Build a more "release" code with options: --disable-assertions and --disable-expensive-checks 12) Force one job at installation step since more than one job fails. # Maintainer: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org> # Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> # Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk> # Contributor: Roberto Alsina <ralsina@kde.org> pkgname=llvm pkgver=2.5 pkgrel=1 pkgdesc="Low Level Virtual Machine" arch=('i686' 'x86_64') url="http://llvm.org" license=('custom':'University of Illinois/NCSA Open Source License') depends=('libelf') source=("http://llvm.org/releases/$pkgver/$pkgname-$pkgver.tar.gz") md5sums=('55df2ea8665c8094ad2ef85187b9fc74') build() { cd $srcdir/$pkgname-$pkgver # --sysconfdir to configure apparently isn't enough ... sed 's:$(PROJ_prefix)/etc/llvm:/etc/llvm:' \ -i Makefile.config.in || return 1 # --libdir to configure apparently isn't enough ... sed 's:$(PROJ_prefix)/lib:$(PROJ_prefix)/lib/llvm:' \ -i Makefile.config.in || return 1 # Fix insecure rpath http://bugs.archlinux.org/task/14017 sed 's:-rpath \$(ToolDir)::g' -i Makefile.rules || return 1 # Fix path that point to the build directory sed 's:^TOOLDIR.*:TOOLDIR=/usr/bin:' \ -i tools/gccld/gccld.sh tools/gccas/gccas.sh || return 1 # remove docs from the make targets sed 's:runtime docs:runtime:' -i Makefile || return 1 # remove libHello transformation sed 's: Hello::' -i lib/Transforms/Makefile || return 1 if [ "${CARCH}" = "x86_64" ]; then _pic_flag="--enable-pic" else _pic_flag="" fi ./configure --prefix=/usr \ --libdir=/usr/lib/llvm \ --sysconfdir=/etc \ --enable-bindings=none \ --enable-targets=host-only \ --enable-optimized \ --disable-assertions \ --disable-expensive-checks ${_pic_flag} || return 1 make || return 1 # install fails with more than one make job make -j1 DESTDIR=$pkgdir install || return 1 install -D LICENSE.TXT $pkgdir/usr/share/licenses/llvm/COPYING } Cheers! [#1] FS#14017 - [llvm] insecure RPATH ( http://bugs.archlinux.org/task/14017 ) [#2] List of files in the package http://djgera.pastebin.com/f95daaa0 -- Gerardo Exequiel Pozzi ( djgera ) http://www.djgera.com.ar KeyID: 0x1B8C330D Key fingerprint = 0CAA D5D4 CD85 4434 A219 76ED 39AB 221B 1B8C 330D
2009/4/14 Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>:
Hi
While fixing the insecure RPATH in community/llvm package [#1] also fixed some others issues that I encountered. (List of files in the generated packaged can viewed here [#2])
This is the list of changes from the original PKGBUILD:
0) Updated to the latest llvm version. 1) Removed libtool dependency, is only needed at build time. 2) Use the license from tarball, instead of downloading it, since is the same, that are in webpage. 3) Fixed libdir, use /usr/lib/llvm instead of /usr/lib, this is more apropiated since llvm put some .o files that are relocatable. 4) Fixed insecure rpath in all binary files. 5) Fixed the path from scripts gccld and gccas that points to build directory instead of /usr/bin 6) Removed the build of sample hello transformation. 7) Use PIC code on x86_64 builds (--enable-pic). 8) Build only for the target machine instead of all supported. 9) Added --enable-bindings=none, since if ocaml is installed will build some files for it. 10) Put --enable-optimized at configure script intead of make var. 11) Build a more "release" code with options: --disable-assertions and --disable-expensive-checks 12) Force one job at installation step since more than one job fails.
I'm building your pkgbuild. thanks -- Andrea `BaSh` Scarpino Arch Linux Developer
participants (2)
-
Andrea Scarpino
-
Gerardo Exequiel Pozzi