27 |
SRCFILE="${PNAME}-${PVER}.src.tar.gz" |
SRCFILE="${PNAME}-${PVER}.src.tar.gz" |
28 |
SRCDIR="${BUILDDIR}/${PNAME}-${PVER}.src" |
SRCDIR="${BUILDDIR}/${PNAME}-${PVER}.src" |
29 |
|
|
30 |
|
MANPAGES_SRCFILE="${PNAME}-${PVER}-manpages.tar.bz2" |
31 |
|
MANPAGES_SRCDIR="${BUILDDIR}/${PNAME}-${PVER}-manpages" |
32 |
|
|
33 |
sminclude mtools multilib |
sminclude mtools multilib |
34 |
msetfeature "!check" |
msetfeature "!check" |
35 |
|
|
36 |
SRC_URI=( |
SRC_URI=( |
37 |
http://llvm.org/releases/${PVER}/${SRCFILE} |
http://llvm.org/releases/${PVER}/${SRCFILE} |
38 |
mirror://${PNAME}/${SRCFILE} |
mirror://${PNAME}/${SRCFILE} |
39 |
mirror://${PNAME}/${PNAME}-2.9-no-docs.patch |
mirror://${PNAME}/${MANPAGES_SRCFILE} |
40 |
|
mirror://${PNAME}/${PNAME}-${PVER}-fix-debug-line-info.patch |
41 |
|
mirror://${PNAME}/${PNAME}-${PVER}-fix-libprofile_rt.a-location.patch |
42 |
) |
) |
43 |
|
|
44 |
UP2DATE="updatecmd ${HOMEPAGE} | grep 'Download now' | sed 's:.*][lL][lL][vV][mM]\ \(.*\):\1:'" |
UP2DATE="updatecmd ${HOMEPAGE} | grep 'Download now' | sed 's:.*][lL][lL][vV][mM]\ \(.*\):\1:'" |
46 |
src_prepare() |
src_prepare() |
47 |
{ |
{ |
48 |
munpack ${SRCFILE} || die |
munpack ${SRCFILE} || die |
49 |
|
# pre-generated man-pages |
50 |
|
munpack ${MANPAGES_SRCFILE} || die |
51 |
|
|
52 |
|
# fix invalid debug information |
53 |
|
mpatch ${PNAME}-${PVER}-fix-debug-line-info.patch || die |
54 |
|
|
55 |
|
# llvm doesn't find libprofile_rt.a when compiling with code coverage |
56 |
|
mpatch ${PNAME}-${PVER}-fix-libprofile_rt.a-location.patch || die |
57 |
|
|
58 |
# fix symbolic links from OCaml bindings to LLVM libraries |
# fix symbolic links from OCaml bindings to LLVM libraries |
59 |
all-abis 'sed -i "s:\$(PROJ_libdir):/usr/$(mlibdir)/llvm:" bindings/ocaml/Makefile.ocaml || die' |
all-abis 'sed -i "s:\$(PROJ_libdir):/usr/$(mlibdir)/llvm:" bindings/ocaml/Makefile.ocaml || die' |
74 |
|
|
75 |
# ugly hack - fix broken path retrieval on magellan - fixme! |
# ugly hack - fix broken path retrieval on magellan - fixme! |
76 |
all-abis 'sed -i "s:CurrentPath(GetExecutablePath(argv\[0\]).str()):CurrentPath(\"/usr/bin/llvm-config\"):" tools/llvm-config/llvm-config.cpp || die' |
all-abis 'sed -i "s:CurrentPath(GetExecutablePath(argv\[0\]).str()):CurrentPath(\"/usr/bin/llvm-config\"):" tools/llvm-config/llvm-config.cpp || die' |
|
|
|
|
# do not generate docs, which are just the man pages |
|
|
mpatch ${PNAME}-2.9-no-docs.patch || die |
|
77 |
} |
} |
78 |
|
|
79 |
src_compile() |
src_compile() |
105 |
|| die |
|| die |
106 |
|
|
107 |
mmake VERBOSE=1 REQUIRES_RTTI=1 || die |
mmake VERBOSE=1 REQUIRES_RTTI=1 || die |
108 |
|
|
109 |
|
# no python sphinx in out src tree, use pre-generated docs atm |
110 |
|
# mmake -C docs -f Makefile.sphinx man html || die |
111 |
} |
} |
112 |
|
|
113 |
src_install() |
src_install() |
114 |
{ |
{ |
115 |
mmake DESTDIR=${BINDIR} install || die |
mmake DESTDIR=${BINDIR} install || die |
116 |
|
|
117 |
|
# install pre-generated man-pages |
118 |
|
minstallman ${MANPAGES_SRCDIR}/*.1 || die |
119 |
|
|
120 |
# be multilib friendly |
# be multilib friendly |
121 |
if [[ $(mlibdir) != lib ]] |
if [[ $(mlibdir) != lib ]] |
122 |
then |
then |