Gentoo Archives: gentoo-commits

From: "Alexis Ballier (aballier)" <aballier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lang/ocaml: ChangeLog ocaml-3.11.0_beta1.ebuild
Date: Wed, 15 Oct 2008 16:09:02
Message-Id: E1Kq8vg-0006An-OY@stork.gentoo.org
1 aballier 08/10/15 16:08:56
2
3 Modified: ChangeLog
4 Added: ocaml-3.11.0_beta1.ebuild
5 Log:
6 New upstream beta release
7 (Portage version: 2.2_rc12/cvs/Linux 2.6.26.6 x86_64)
8
9 Revision Changes Path
10 1.150 dev-lang/ocaml/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ChangeLog?rev=1.150&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ChangeLog?rev=1.150&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ChangeLog?r1=1.149&r2=1.150
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v
19 retrieving revision 1.149
20 retrieving revision 1.150
21 diff -u -r1.149 -r1.150
22 --- ChangeLog 22 Sep 2008 18:56:34 -0000 1.149
23 +++ ChangeLog 15 Oct 2008 16:08:56 -0000 1.150
24 @@ -1,6 +1,15 @@
25 # ChangeLog for dev-lang/ocaml
26 # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.149 2008/09/22 18:56:34 armin76 Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.150 2008/10/15 16:08:56 aballier Exp $
29 +
30 +*ocaml-3.11.0_beta1 (15 Oct 2008)
31 +
32 + 15 Oct 2008; Alexis Ballier <aballier@g.o>
33 + +files/ocaml-3.11.0_beta1-call-ld-with-proper-ldflags.patch,
34 + +files/ocaml-3.11.0_beta1-configure.patch,
35 + +files/ocaml-3.11.0_beta1-exec-stack-fixes.patch,
36 + +ocaml-3.11.0_beta1.ebuild:
37 + New upstream beta release
38
39 22 Sep 2008; Raúl Porcel <armin76@g.o> ocaml-3.10.2.ebuild:
40 Re-add ~arm wrt #178256
41
42
43
44 1.1 dev-lang/ocaml/ocaml-3.11.0_beta1.ebuild
45
46 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ocaml-3.11.0_beta1.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ocaml-3.11.0_beta1.ebuild?rev=1.1&content-type=text/plain
48
49 Index: ocaml-3.11.0_beta1.ebuild
50 ===================================================================
51 # Copyright 1999-2008 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.11.0_beta1.ebuild,v 1.1 2008/10/15 16:08:56 aballier Exp $
54
55 inherit flag-o-matic eutils multilib versionator toolchain-funcs
56
57 EAPI="1"
58
59 MY_P="${P/_beta/+beta}"
60 DESCRIPTION="Fast modern type-inferring functional programming language descended from the ML family"
61 HOMEPAGE="http://www.ocaml.org/"
62 SRC_URI="http://caml.inria.fr/distrib/ocaml-$( get_version_component_range 1-2)/${MY_P}.tar.bz2"
63
64 LICENSE="QPL-1.0 LGPL-2"
65 SLOT="0"
66 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
67 IUSE="emacs gdbm latex ncurses +ocamlopt tk X xemacs"
68
69 DEPEND="tk? ( >=dev-lang/tk-3.3.3 )
70 ncurses? ( sys-libs/ncurses )
71 X? ( x11-libs/libX11 x11-proto/xproto )
72 gdbm? ( sys-libs/gdbm )"
73
74 PDEPEND="emacs? ( app-emacs/ocaml-mode )
75 xemacs? ( app-xemacs/ocaml )"
76
77 S="${WORKDIR}/${MY_P}"
78 pkg_setup() {
79 # dev-lang/ocaml creates its own objects but calls gcc for linking, which will
80 # results in relocations if gcc wants to create a PIE executable
81 if gcc-specs-pie ; then
82 append-ldflags -nopie
83 ewarn "Ocaml generates its own native asm, you're using a PIE compiler"
84 ewarn "We have appended -nopie to ocaml build options"
85 ewarn "because linking an executable with pie while the objects are not pic will not work"
86 fi
87 }
88
89 src_unpack() {
90 unpack ${A}
91 cd "${S}"
92
93 # Fix the EXEC_STACK in ocaml compiled binaries (#153382)
94 epatch "${FILESDIR}"/${PN}-3.11.0_beta1-exec-stack-fixes.patch
95
96 # The configure script doesn't inherit previous defined variables,
97 # overwriting previous declarations of bytecccompopts, bytecclinkopts,
98 # nativecccompopts and nativecclinkopts. Reported upstream as issue 0004267.
99 epatch "${FILESDIR}"/${PN}-3.11.0_beta1-configure.patch
100
101 # ocaml has automagics on libX11 and gdbm
102 # http://caml.inria.fr/mantis/view.php?id=4278
103 epatch "${FILESDIR}/${PN}-3.10.0-automagic.patch"
104
105 # Call ld with proper flags, different from gcc ones
106 # This happens when calling ocamlc -pack
107 # See comment in the patch
108 epatch "${FILESDIR}/${PN}-3.11.0_beta1-call-ld-with-proper-ldflags.patch"
109 }
110
111 src_compile() {
112 local myconf="--host ${CHOST}"
113
114 # It doesn't compile on alpha without this LDFLAGS
115 use alpha && append-ldflags "-Wl,--no-relax"
116
117 use tk || myconf="${myconf} -no-tk"
118 use ncurses || myconf="${myconf} -no-curses"
119 use X || myconf="${myconf} -no-graph"
120 use gdbm || myconf="${myconf} -no-dbm"
121
122 # ocaml uses a home-brewn configure script, preventing it to use econf.
123 RAW_LDFLAGS="$(raw-ldflags)" ./configure -prefix /usr \
124 --bindir /usr/bin \
125 --libdir /usr/$(get_libdir)/ocaml \
126 --mandir /usr/share/man \
127 --with-pthread ${myconf} || die "configure failed!"
128
129 make world || die "make world failed!"
130
131 # Native code generation can be disabled now
132 if use ocamlopt ; then
133 make opt || die "make opt failed!"
134 make opt.opt || die "make opt.opt failed!"
135 fi
136 }
137
138 src_install() {
139 make BINDIR="${D}"/usr/bin \
140 LIBDIR="${D}"/usr/$(get_libdir)/ocaml \
141 MANDIR="${D}"/usr/share/man \
142 install || die "make install failed!"
143
144 # Install the compiler libs
145 dodir /usr/$(get_libdir)/ocaml/compiler-libs
146 insinto /usr/$(get_libdir)/ocaml/compiler-libs
147 doins {utils,typing,parsing}/*.{mli,cmi,cmo,cmx,o}
148
149 # Symlink the headers to the right place
150 dodir /usr/include
151 dosym /usr/$(get_libdir)/ocaml/caml /usr/include/
152
153 # Remove ${D} from ld.conf, as the buildsystem isn't $(DESTDIR) aware
154 dosed "s:${D}::g" /usr/$(get_libdir)/ocaml/ld.conf
155
156 dodoc Changes INSTALL README Upgrading
157
158 # Create and envd entry for latex input files (this definitely belongs into
159 # CONTENT and not in pkg_postinst.
160 if use latex ; then
161 echo "TEXINPUTS=/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc
162 doenvd "${T}"/99ocamldoc
163 fi
164
165 # Install ocaml-rebuild.sh script rather than keeping it in $PORTDIR
166 dosbin "${FILESDIR}/ocaml-rebuild.sh"
167 }
168
169 pkg_postinst() {
170 echo
171 ewarn "OCaml is not binary compatible from version to version, so you"
172 ewarn "need to rebuild all packages depending on it, that are actually"
173 ewarn "installed on your system. To do so, you can run:"
174 ewarn "/usr/sbin/ocaml-rebuild.sh [-h | emerge options]"
175 ewarn "Which will call emerge on all old packages with the given options"
176 echo
177 }